using RGB.NET.Core; namespace RGB.NET.Devices.CoolerMaster; /// /// Represents a generic information for a . /// public sealed class CoolerMasterKeyboardRGBDeviceInfo : CoolerMasterRGBDeviceInfo, IKeyboardDeviceInfo { #region Properties & Fields /// public KeyboardLayoutType Layout { get; } /// /// Gets the of the . /// public CoolerMasterPhysicalKeyboardLayout PhysicalLayout { get; } #endregion #region Constructors /// /// /// Internal constructor of managed . /// /// The index of the . /// The of the . internal CoolerMasterKeyboardRGBDeviceInfo(CoolerMasterDevicesIndexes deviceIndex, CoolerMasterPhysicalKeyboardLayout physicalKeyboardLayout) : base(RGBDeviceType.Keyboard, deviceIndex) { this.PhysicalLayout = physicalKeyboardLayout; this.Layout = physicalKeyboardLayout switch { CoolerMasterPhysicalKeyboardLayout.UNINIT => KeyboardLayoutType.Unknown, CoolerMasterPhysicalKeyboardLayout.US => KeyboardLayoutType.ANSI, CoolerMasterPhysicalKeyboardLayout.EU => KeyboardLayoutType.ISO, CoolerMasterPhysicalKeyboardLayout.JP => KeyboardLayoutType.JIS, _ => KeyboardLayoutType.Unknown }; } #endregion }