// ReSharper disable MemberCanBePrivate.Global // ReSharper disable UnusedMember.Global using System; using System.Globalization; using RGB.NET.Core; namespace RGB.NET.Devices.Razer { /// /// /// Represents a generic information for a . /// public class RazerKeyboardRGBDeviceInfo : RazerRGBDeviceInfo { #region Properties & Fields /// /// Gets the physical layout of the keyboard. /// public RazerPhysicalKeyboardLayout PhysicalLayout { get; private set; } /// /// Gets the logical layout of the keyboard as set in CUE settings. /// public RazerLogicalKeyboardLayout LogicalLayout { get; private set; } #endregion #region Constructors /// /// /// Internal constructor of managed . /// /// The Id of the . /// The model of the . /// The of the layout this keyboard is using. internal RazerKeyboardRGBDeviceInfo(Guid deviceId, string model, CultureInfo culture) : base(deviceId, RGBDeviceType.Keyboard, model) { SetLayouts(culture.KeyboardLayoutId); } #endregion #region Methods private void SetLayouts(int keyboardLayoutId) { switch (keyboardLayoutId) { //TODO DarthAffe 07.10.2017: Implement default: PhysicalLayout = RazerPhysicalKeyboardLayout.TODO; LogicalLayout = RazerLogicalKeyboardLayout.TODO; break; } } #endregion } }