using System.Globalization; using RGB.NET.Core; namespace RGB.NET.Devices.CoolerMaster { /// /// /// Represents a generic information for a . /// public class CoolerMasterKeyboardRGBDeviceInfo : CoolerMasterRGBDeviceInfo { #region Properties & Fields /// /// Gets the of the . /// public CoolerMasterPhysicalKeyboardLayout PhysicalLayout { get; } /// /// Gets the of the . /// public CoolerMasterLogicalKeyboardLayout LogicalLayout { get; private set; } #endregion #region Constructors /// /// /// Internal constructor of managed . /// /// The index of the . /// The of the . /// The of the layout this keyboard is using internal CoolerMasterKeyboardRGBDeviceInfo(CoolerMasterDevicesIndexes deviceIndex, CoolerMasterPhysicalKeyboardLayout physicalKeyboardLayout, CultureInfo culture) : base(RGBDeviceType.Keyboard, deviceIndex) { this.PhysicalLayout = physicalKeyboardLayout; SetLayouts(culture.KeyboardLayoutId); } private void SetLayouts(int keyboardLayoutId) { switch (keyboardLayoutId) { //TODO DarthAffe 02.04.2017: Check all available keyboards and there layout-ids default: LogicalLayout = CoolerMasterLogicalKeyboardLayout.DE; break; } } #endregion } }