using System; using System.Globalization; using RGB.NET.Core; namespace RGB.NET.Devices.Asus { /// /// /// Represents a generic information for a . /// public class AsusKeyboardRGBDeviceInfo : AsusRGBDeviceInfo { #region Properties & Fields /// public override bool SupportsSyncBack => false; /// /// Gets the physical layout of the keyboard. /// public AsusPhysicalKeyboardLayout PhysicalLayout { get; private set; } /// /// Gets the logical layout of the keyboard. /// public AsusLogicalKeyboardLayout LogicalLayout { get; private set; } #endregion #region Constructors /// /// /// Internal constructor of managed . /// /// The type of the . /// The handle of the . /// The of the layout this keyboard is using. internal AsusKeyboardRGBDeviceInfo(RGBDeviceType deviceType, IntPtr handle, CultureInfo culture) : base(deviceType, handle, "Claymore") { SetLayouts(culture.KeyboardLayoutId); } #endregion #region Methods private void SetLayouts(int keyboardLayoutId) { switch (keyboardLayoutId) { //TODO DarthAffe 07.10.2017: Implement default: PhysicalLayout = AsusPhysicalKeyboardLayout.TODO; LogicalLayout = AsusLogicalKeyboardLayout.TODO; break; } } #endregion } }