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
}
}