mirror of
https://github.com/DarthAffe/CUE.NET.git
synced 2026-11-11 13:06:24 +00:00
Reorganized project into a (hopefully) better structure
This commit is contained in:
1 parent
ce4e80c24b
commit
fc66ac0ceb
33 files changed
+111
-99
No files matched your search
@@ -0,0 +1,29 @@
|
||||
using CUE.NET.Devices.Generic;
|
||||
using CUE.NET.Devices.Keyboard.Enums;
|
||||
|
||||
namespace CUE.NET.Devices.Keyboard
|
||||
{
|
||||
public class CorsairKey
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public CorsairKeyboardKeyId KeyId { get; }
|
||||
public CorsairLed Led { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
internal CorsairKey(CorsairKeyboardKeyId keyId, CorsairLed led)
|
||||
{
|
||||
this.KeyId = keyId;
|
||||
this.Led = led;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using CUE.NET.Devices.Generic;
|
||||
using CUE.NET.Devices.Keyboard.Enums;
|
||||
|
||||
namespace CUE.NET.Devices.Keyboard
|
||||
{
|
||||
public class CorsairKeyboard : AbstractCueDevice
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public CorsairKeyboardDeviceInfo KeyboardDeviceInfo { get; }
|
||||
|
||||
private Dictionary<CorsairKeyboardKeyId, CorsairKey> _keys = new Dictionary<CorsairKeyboardKeyId, CorsairKey>();
|
||||
public CorsairKey this[CorsairKeyboardKeyId keyId]
|
||||
{
|
||||
get { return this._keys[keyId]; }
|
||||
private set { throw new NotSupportedException(); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
internal CorsairKeyboard(CorsairKeyboardDeviceInfo info)
|
||||
: base(info)
|
||||
{
|
||||
this.KeyboardDeviceInfo = info;
|
||||
|
||||
this.InitializeKeys();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
private void InitializeKeys()
|
||||
{
|
||||
foreach (CorsairKeyboardKeyId keyId in Enum.GetValues(typeof(CorsairKeyboardKeyId)))
|
||||
this._keys.Add(keyId, new CorsairKey(keyId, this.GetLed((int)keyId)));
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||
|
||||
using CUE.NET.Devices.Generic;
|
||||
using CUE.NET.Devices.Keyboard.Enums;
|
||||
using CUE.NET.Native;
|
||||
|
||||
namespace CUE.NET.Devices.Keyboard
|
||||
{
|
||||
public class CorsairKeyboardDeviceInfo : GenericDeviceInfo
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
/// <summary>
|
||||
/// Physical layout of the keyboard.
|
||||
/// </summary>
|
||||
public CorsairPhysicalKeyboardLayout PhysicalLayout { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Logical layout of the keyboard as set in CUE settings.
|
||||
/// </summary>
|
||||
public CorsairLogicalKeyboardLayout LogicalLayout { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Internal constructor of managed CorsairDeviceInfo.
|
||||
/// </summary>
|
||||
/// <param name="nativeInfo">The native CorsairDeviceInfo-struct</param>
|
||||
internal CorsairKeyboardDeviceInfo(_CorsairDeviceInfo nativeInfo)
|
||||
: base(nativeInfo)
|
||||
{
|
||||
this.PhysicalLayout = (CorsairPhysicalKeyboardLayout)nativeInfo.physicalLayout;
|
||||
this.LogicalLayout = (CorsairLogicalKeyboardLayout)nativeInfo.logicalLayout;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace CUE.NET.Devices.Keyboard.Enums
|
||||
{
|
||||
public enum CorsairKeyboardKeyId
|
||||
{
|
||||
Escape = 1,
|
||||
F1 = 2,
|
||||
F2 = 3,
|
||||
F3 = 4,
|
||||
F4 = 5,
|
||||
F5 = 6,
|
||||
F6 = 7,
|
||||
F7 = 8,
|
||||
F8 = 9,
|
||||
F9 = 10,
|
||||
F10 = 11,
|
||||
F11 = 12,
|
||||
GraveAccentAndTilde = 13,
|
||||
D1 = 14,
|
||||
D2 = 15,
|
||||
D3 = 16,
|
||||
D4 = 17,
|
||||
D5 = 18,
|
||||
D6 = 19,
|
||||
D7 = 20,
|
||||
D8 = 21,
|
||||
D9 = 22,
|
||||
D0 = 23,
|
||||
MinusAndUnderscore = 24,
|
||||
Tab = 25,
|
||||
Q = 26,
|
||||
W = 27,
|
||||
E = 28,
|
||||
R = 29,
|
||||
T = 30,
|
||||
Y = 31,
|
||||
U = 32,
|
||||
I = 33,
|
||||
O = 34,
|
||||
P = 35,
|
||||
BracketLeft = 36,
|
||||
CapsLock = 37,
|
||||
A = 38,
|
||||
S = 39,
|
||||
D = 40,
|
||||
F = 41,
|
||||
G = 42,
|
||||
H = 43,
|
||||
J = 44,
|
||||
K = 45,
|
||||
L = 46,
|
||||
SemicolonAndColon = 47,
|
||||
ApostropheAndDoubleQuote = 48,
|
||||
LeftShift = 49,
|
||||
NonUsBackslash = 50,
|
||||
Z = 51,
|
||||
X = 52,
|
||||
C = 53,
|
||||
V = 54,
|
||||
B = 55,
|
||||
N = 56,
|
||||
M = 57,
|
||||
CommaAndLessThan = 58,
|
||||
PeriodAndBiggerThan = 59,
|
||||
SlashAndQuestionMark = 60,
|
||||
LeftCtrl = 61,
|
||||
LeftGui = 62,
|
||||
LeftAlt = 63,
|
||||
Lang2 = 64,
|
||||
Space = 65,
|
||||
Lang1 = 66,
|
||||
International2 = 67,
|
||||
RightAlt = 68,
|
||||
RightGui = 69,
|
||||
Application = 70,
|
||||
LedProgramming = 71,
|
||||
Brightness = 72,
|
||||
F12 = 73,
|
||||
PrintScreen = 74,
|
||||
ScrollLock = 75,
|
||||
PauseBreak = 76,
|
||||
Insert = 77,
|
||||
Home = 78,
|
||||
PageUp = 79,
|
||||
BracketRight = 80,
|
||||
Backslash = 81,
|
||||
NonUsTilde = 82,
|
||||
Enter = 83,
|
||||
International1 = 84,
|
||||
EqualsAndPlus = 85,
|
||||
International3 = 86,
|
||||
Backspace = 87,
|
||||
Delete = 88,
|
||||
End = 89,
|
||||
PageDown = 90,
|
||||
RightShift = 91,
|
||||
RightCtrl = 92,
|
||||
UpArrow = 93,
|
||||
LeftArrow = 94,
|
||||
DownArrow = 95,
|
||||
RightArrow = 96,
|
||||
WinLock = 97,
|
||||
Mute = 98,
|
||||
Stop = 99,
|
||||
ScanPreviousTrack = 100,
|
||||
PlayPause = 101,
|
||||
ScanNextTrack = 102,
|
||||
NumLock = 103,
|
||||
KeypadSlash = 104,
|
||||
KeypadAsterisk = 105,
|
||||
KeypadMinus = 106,
|
||||
KeypadPlus = 107,
|
||||
KeypadEnter = 108,
|
||||
Keypad7 = 109,
|
||||
Keypad8 = 110,
|
||||
Keypad9 = 111,
|
||||
KeypadComma = 112,
|
||||
Keypad4 = 113,
|
||||
Keypad5 = 114,
|
||||
Keypad6 = 115,
|
||||
Keypad1 = 116,
|
||||
Keypad2 = 117,
|
||||
Keypad3 = 118,
|
||||
Keypad0 = 119,
|
||||
KeypadPeriodAndDelete = 120,
|
||||
G1 = 121,
|
||||
G2 = 122,
|
||||
G3 = 123,
|
||||
G4 = 124,
|
||||
G5 = 125,
|
||||
G6 = 126,
|
||||
G7 = 127,
|
||||
G8 = 128,
|
||||
G9 = 129,
|
||||
G10 = 130,
|
||||
VolumeUp = 131,
|
||||
VolumeDown = 132,
|
||||
MR = 133,
|
||||
M1 = 134,
|
||||
M2 = 135,
|
||||
M3 = 136,
|
||||
G11 = 137,
|
||||
G12 = 138,
|
||||
G13 = 139,
|
||||
G14 = 140,
|
||||
G15 = 141,
|
||||
G16 = 142,
|
||||
G17 = 143,
|
||||
G18 = 144,
|
||||
International5 = 145,
|
||||
International4 = 146,
|
||||
Fn = 147,
|
||||
CLK_Logo = 154
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
// ReSharper disable UnusedMember.Global
|
||||
|
||||
namespace CUE.NET.Devices.Keyboard.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains list of available logical layouts for keyboards.
|
||||
/// </summary>
|
||||
public enum CorsairLogicalKeyboardLayout
|
||||
{
|
||||
US_Int = 1,
|
||||
NA = 2,
|
||||
EU = 3,
|
||||
UK = 4,
|
||||
BE = 5,
|
||||
BR = 6,
|
||||
CH = 7,
|
||||
CN = 8,
|
||||
DE = 9,
|
||||
ES = 10,
|
||||
FR = 11,
|
||||
IT = 12,
|
||||
ND = 13,
|
||||
RU = 14,
|
||||
JP = 15,
|
||||
KR = 16,
|
||||
TW = 17,
|
||||
MEX = 18
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace CUE.NET.Devices.Keyboard.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains list of available physical layouts for keyboards.
|
||||
/// </summary>
|
||||
public enum CorsairPhysicalKeyboardLayout
|
||||
{
|
||||
/// <summary>
|
||||
/// US-Keyboard
|
||||
/// </summary>
|
||||
US = 1,
|
||||
|
||||
/// <summary>
|
||||
/// UK-Keyboard
|
||||
/// </summary>
|
||||
UK = 2,
|
||||
|
||||
/// <summary>
|
||||
/// BR-Keyboard
|
||||
/// </summary>
|
||||
BR = 3,
|
||||
|
||||
/// <summary>
|
||||
/// JP-Keyboard
|
||||
/// </summary>
|
||||
JP = 4,
|
||||
|
||||
/// <summary>
|
||||
/// KR-Keyboard
|
||||
/// </summary>
|
||||
KR = 5
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user