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 /// /// 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, "Asus", "Claymore") { SetLayouts(culture.KeyboardLayoutId); Image = new Uri(PathHelper.GetAbsolutePath($@"Images\Asus\Keyboards\{Model.Replace(" ", string.Empty).ToUpper()}.png"), UriKind.Absolute); } #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 } }