mirror of
https://github.com/DarthAffe/CUE.NET.git
synced 2025-12-12 16:58:29 +00:00
Separated keyboard, mouse and headset
This commit is contained in:
parent
a4a81cf3c3
commit
575804c8bf
@ -63,15 +63,22 @@
|
||||
<Compile Include="Enums\CorsairAccessMode.cs" />
|
||||
<Compile Include="Enums\CorsairDeviceCaps.cs" />
|
||||
<Compile Include="Enums\CorsairDeviceType.cs" />
|
||||
<Compile Include="Enums\CorsairLedId.cs" />
|
||||
<Compile Include="Enums\CorsairLogicalLayout.cs" />
|
||||
<Compile Include="Enums\CorsairPhysicalLayout.cs" />
|
||||
<Compile Include="Enums\Keyboard\CorsairLogicalKeyboardLayout.cs" />
|
||||
<Compile Include="Enums\Headset\CorsairHeadsetLedId.cs" />
|
||||
<Compile Include="Enums\Keyboard\CorsairKeyboardLedId.cs" />
|
||||
<Compile Include="Enums\Keyboard\CorsairPhysicalKeyboardLayout.cs" />
|
||||
<Compile Include="Enums\Mouse\CorsairMouseLedId.cs" />
|
||||
<Compile Include="Enums\Mouse\CorsairPhysicalMouseLayout.cs" />
|
||||
<Compile Include="Exceptions\CUEException.cs" />
|
||||
<Compile Include="Exceptions\WrapperException.cs" />
|
||||
<Compile Include="Wrapper\AbstractCueDevice.cs" />
|
||||
<Compile Include="Wrapper\CueHeadset.cs" />
|
||||
<Compile Include="Wrapper\CueKeyboard.cs" />
|
||||
<Compile Include="Wrapper\CueMouse.cs" />
|
||||
<Compile Include="Wrapper\GenericDeviceInfo.cs" />
|
||||
<Compile Include="Wrapper\Headset\CorsairHeadset.cs" />
|
||||
<Compile Include="Wrapper\Headset\CorsairHeadsetDeviceInfo.cs" />
|
||||
<Compile Include="Wrapper\IDeviceInfo.cs" />
|
||||
<Compile Include="Wrapper\Keyboard\CorsairKeyboard.cs" />
|
||||
<Compile Include="Wrapper\Mouse\CorsairMouseDeviceInfo.cs" />
|
||||
<Compile Include="Wrapper\Mouse\CorsairMouse.cs" />
|
||||
<Compile Include="Native\_CorsairDeviceInfo.cs" />
|
||||
<Compile Include="Native\_CorsairLedColor.cs" />
|
||||
<Compile Include="Native\_CorsairLedPosition.cs" />
|
||||
@ -80,7 +87,7 @@
|
||||
<Compile Include="Native\_CUESDK.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Enums\CorsairError.cs" />
|
||||
<Compile Include="Wrapper\CorsairDeviceInfo.cs" />
|
||||
<Compile Include="Wrapper\Keyboard\CorsairKeyboardDeviceInfo.cs" />
|
||||
<Compile Include="Wrapper\CorsairProtocolDetails.cs" />
|
||||
<Compile Include="Wrapper\CueSDK.cs" />
|
||||
<Compile Include="Wrapper\ICueDevice.cs" />
|
||||
@ -91,6 +98,7 @@
|
||||
<ItemGroup>
|
||||
<None Include="libs\CUESDK_2013.dll" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>if $(PlatformName) == x86 copy "$(SolutionDir)libs\CUESDK_2013.dll" "$(TargetDir)CUESDK_2013.dll"
|
||||
|
||||
@ -8,6 +8,6 @@ namespace CUE.NET.Enums
|
||||
/// </summary>
|
||||
public enum CorsairAccessMode
|
||||
{
|
||||
CAM_ExclusiveLightingControl = 0
|
||||
ExclusiveLightingControl = 0
|
||||
};
|
||||
}
|
||||
|
||||
@ -14,11 +14,11 @@ namespace CUE.NET.Enums
|
||||
/// <summary>
|
||||
/// For devices that do not support any SDK functions
|
||||
/// </summary>
|
||||
CDC_None = 0,
|
||||
None = 0,
|
||||
|
||||
/// <summary>
|
||||
/// For devices that has controlled lighting
|
||||
/// </summary>
|
||||
CDC_Lighting = 1
|
||||
Lighting = 1
|
||||
};
|
||||
}
|
||||
|
||||
@ -8,9 +8,9 @@ namespace CUE.NET.Enums
|
||||
/// </summary>
|
||||
public enum CorsairDeviceType
|
||||
{
|
||||
CDT_Unknown = 0,
|
||||
CDT_Mouse = 1,
|
||||
CDT_Keyboard = 2,
|
||||
CDT_Headset = 3
|
||||
Unknown = 0,
|
||||
Mouse = 1,
|
||||
Keyboard = 2,
|
||||
Headset = 3
|
||||
};
|
||||
}
|
||||
|
||||
@ -11,32 +11,32 @@ namespace CUE.NET.Enums
|
||||
/// <summary>
|
||||
/// If previously called function completed successfully.
|
||||
/// </summary>
|
||||
CE_Success,
|
||||
Success,
|
||||
|
||||
/// <summary>
|
||||
/// CUE is not running or was shut down or third-party control is disabled in CUE settings. (runtime error)
|
||||
/// </summary>
|
||||
CE_ServerNotFound,
|
||||
ServerNotFound,
|
||||
|
||||
/// <summary>
|
||||
/// If some other client has or took over exclusive control. (runtime error)
|
||||
/// </summary>
|
||||
CE_NoControl,
|
||||
NoControl,
|
||||
|
||||
/// <summary>
|
||||
/// If developer did not perform protocol handshake. (developer error)
|
||||
/// </summary>
|
||||
CE_ProtocolHandshakeMissing,
|
||||
ProtocolHandshakeMissing,
|
||||
|
||||
/// <summary>
|
||||
/// If developer is calling the function that is not supported by the server (either because protocol has broken by server or client or because the function is new and server is too old.
|
||||
/// Check CorsairProtocolDetails for details). (developer error)
|
||||
/// </summary>
|
||||
CE_IncompatibleProtocol,
|
||||
IncompatibleProtocol,
|
||||
|
||||
/// <summary>
|
||||
/// If developer supplied invalid arguments to the function (for specifics look at function descriptions). (developer error)
|
||||
/// </summary>
|
||||
CE_InvalidArguments
|
||||
InvalidArguments
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,166 +0,0 @@
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace CUE.NET.Enums
|
||||
{
|
||||
public enum CorsairLedId
|
||||
{
|
||||
CLI_Invalid = 0,
|
||||
CLK_Escape = 1,
|
||||
CLK_F1 = 2,
|
||||
CLK_F2 = 3,
|
||||
CLK_F3 = 4,
|
||||
CLK_F4 = 5,
|
||||
CLK_F5 = 6,
|
||||
CLK_F6 = 7,
|
||||
CLK_F7 = 8,
|
||||
CLK_F8 = 9,
|
||||
CLK_F9 = 10,
|
||||
CLK_F10 = 11,
|
||||
CLK_F11 = 12,
|
||||
CLK_GraveAccentAndTilde = 13,
|
||||
CLK_1 = 14,
|
||||
CLK_2 = 15,
|
||||
CLK_3 = 16,
|
||||
CLK_4 = 17,
|
||||
CLK_5 = 18,
|
||||
CLK_6 = 19,
|
||||
CLK_7 = 20,
|
||||
CLK_8 = 21,
|
||||
CLK_9 = 22,
|
||||
CLK_0 = 23,
|
||||
CLK_MinusAndUnderscore = 24,
|
||||
CLK_Tab = 25,
|
||||
CLK_Q = 26,
|
||||
CLK_W = 27,
|
||||
CLK_E = 28,
|
||||
CLK_R = 29,
|
||||
CLK_T = 30,
|
||||
CLK_Y = 31,
|
||||
CLK_U = 32,
|
||||
CLK_I = 33,
|
||||
CLK_O = 34,
|
||||
CLK_P = 35,
|
||||
CLK_BracketLeft = 36,
|
||||
CLK_CapsLock = 37,
|
||||
CLK_A = 38,
|
||||
CLK_S = 39,
|
||||
CLK_D = 40,
|
||||
CLK_F = 41,
|
||||
CLK_G = 42,
|
||||
CLK_H = 43,
|
||||
CLK_J = 44,
|
||||
CLK_K = 45,
|
||||
CLK_L = 46,
|
||||
CLK_SemicolonAndColon = 47,
|
||||
CLK_ApostropheAndDoubleQuote = 48,
|
||||
CLK_LeftShift = 49,
|
||||
CLK_NonUsBackslash = 50,
|
||||
CLK_Z = 51,
|
||||
CLK_X = 52,
|
||||
CLK_C = 53,
|
||||
CLK_V = 54,
|
||||
CLK_B = 55,
|
||||
CLK_N = 56,
|
||||
CLK_M = 57,
|
||||
CLK_CommaAndLessThan = 58,
|
||||
CLK_PeriodAndBiggerThan = 59,
|
||||
CLK_SlashAndQuestionMark = 60,
|
||||
CLK_LeftCtrl = 61,
|
||||
CLK_LeftGui = 62,
|
||||
CLK_LeftAlt = 63,
|
||||
CLK_Lang2 = 64,
|
||||
CLK_Space = 65,
|
||||
CLK_Lang1 = 66,
|
||||
CLK_International2 = 67,
|
||||
CLK_RightAlt = 68,
|
||||
CLK_RightGui = 69,
|
||||
CLK_Application = 70,
|
||||
CLK_LedProgramming = 71,
|
||||
CLK_Brightness = 72,
|
||||
CLK_F12 = 73,
|
||||
CLK_PrintScreen = 74,
|
||||
CLK_ScrollLock = 75,
|
||||
CLK_PauseBreak = 76,
|
||||
CLK_Insert = 77,
|
||||
CLK_Home = 78,
|
||||
CLK_PageUp = 79,
|
||||
CLK_BracketRight = 80,
|
||||
CLK_Backslash = 81,
|
||||
CLK_NonUsTilde = 82,
|
||||
CLK_Enter = 83,
|
||||
CLK_International1 = 84,
|
||||
CLK_EqualsAndPlus = 85,
|
||||
CLK_International3 = 86,
|
||||
CLK_Backspace = 87,
|
||||
CLK_Delete = 88,
|
||||
CLK_End = 89,
|
||||
CLK_PageDown = 90,
|
||||
CLK_RightShift = 91,
|
||||
CLK_RightCtrl = 92,
|
||||
CLK_UpArrow = 93,
|
||||
CLK_LeftArrow = 94,
|
||||
CLK_DownArrow = 95,
|
||||
CLK_RightArrow = 96,
|
||||
CLK_WinLock = 97,
|
||||
CLK_Mute = 98,
|
||||
CLK_Stop = 99,
|
||||
CLK_ScanPreviousTrack = 100,
|
||||
CLK_PlayPause = 101,
|
||||
CLK_ScanNextTrack = 102,
|
||||
CLK_NumLock = 103,
|
||||
CLK_KeypadSlash = 104,
|
||||
CLK_KeypadAsterisk = 105,
|
||||
CLK_KeypadMinus = 106,
|
||||
CLK_KeypadPlus = 107,
|
||||
CLK_KeypadEnter = 108,
|
||||
CLK_Keypad7 = 109,
|
||||
CLK_Keypad8 = 110,
|
||||
CLK_Keypad9 = 111,
|
||||
CLK_KeypadComma = 112,
|
||||
CLK_Keypad4 = 113,
|
||||
CLK_Keypad5 = 114,
|
||||
CLK_Keypad6 = 115,
|
||||
CLK_Keypad1 = 116,
|
||||
CLK_Keypad2 = 117,
|
||||
CLK_Keypad3 = 118,
|
||||
CLK_Keypad0 = 119,
|
||||
CLK_KeypadPeriodAndDelete = 120,
|
||||
CLK_G1 = 121,
|
||||
CLK_G2 = 122,
|
||||
CLK_G3 = 123,
|
||||
CLK_G4 = 124,
|
||||
CLK_G5 = 125,
|
||||
CLK_G6 = 126,
|
||||
CLK_G7 = 127,
|
||||
CLK_G8 = 128,
|
||||
CLK_G9 = 129,
|
||||
CLK_G10 = 130,
|
||||
CLK_VolumeUp = 131,
|
||||
CLK_VolumeDown = 132,
|
||||
CLK_MR = 133,
|
||||
CLK_M1 = 134,
|
||||
CLK_M2 = 135,
|
||||
CLK_M3 = 136,
|
||||
CLK_G11 = 137,
|
||||
CLK_G12 = 138,
|
||||
CLK_G13 = 139,
|
||||
CLK_G14 = 140,
|
||||
CLK_G15 = 141,
|
||||
CLK_G16 = 142,
|
||||
CLK_G17 = 143,
|
||||
CLK_G18 = 144,
|
||||
CLK_International5 = 145,
|
||||
CLK_International4 = 146,
|
||||
CLK_Fn = 147,
|
||||
CLM_1 = 148,
|
||||
CLM_2 = 149,
|
||||
CLM_3 = 150,
|
||||
CLM_4 = 151,
|
||||
CLH_LeftLogo = 152,
|
||||
CLH_RightLogo = 153,
|
||||
CLK_Logo = 154,
|
||||
|
||||
CLI_Last = CLK_Logo
|
||||
};
|
||||
}
|
||||
@ -1,35 +0,0 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
// ReSharper disable UnusedMember.Global
|
||||
|
||||
namespace CUE.NET.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains list of available logical layouts for keyboards.
|
||||
/// </summary>
|
||||
public enum CorsairLogicalLayout
|
||||
{
|
||||
/// <summary>
|
||||
/// Dummy value
|
||||
/// </summary>
|
||||
CLL_Invalid = 0,
|
||||
|
||||
CLL_US_Int = 1,
|
||||
CLL_NA = 2,
|
||||
CLL_EU = 3,
|
||||
CLL_UK = 4,
|
||||
CLL_BE = 5,
|
||||
CLL_BR = 6,
|
||||
CLL_CH = 7,
|
||||
CLL_CN = 8,
|
||||
CLL_DE = 9,
|
||||
CLL_ES = 10,
|
||||
CLL_FR = 11,
|
||||
CLL_IT = 12,
|
||||
CLL_ND = 13,
|
||||
CLL_RU = 14,
|
||||
CLL_JP = 15,
|
||||
CLL_KR = 16,
|
||||
CLL_TW = 17,
|
||||
CLL_MEX = 18
|
||||
};
|
||||
}
|
||||
@ -1,61 +0,0 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
// ReSharper disable UnusedMember.Global
|
||||
|
||||
namespace CUE.NET.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains list of available physical layouts for keyboards.
|
||||
/// </summary>
|
||||
public enum CorsairPhysicalLayout
|
||||
{
|
||||
/// <summary>
|
||||
/// Dummy value
|
||||
/// </summary>
|
||||
CPL_Invalid = 0,
|
||||
|
||||
/// <summary>
|
||||
/// US-Keyboard
|
||||
/// </summary>
|
||||
CPL_US = 1,
|
||||
|
||||
/// <summary>
|
||||
/// UK-Keyboard
|
||||
/// </summary>
|
||||
CPL_UK = 2,
|
||||
|
||||
/// <summary>
|
||||
/// BR-Keyboard
|
||||
/// </summary>
|
||||
CPL_BR = 3,
|
||||
|
||||
/// <summary>
|
||||
/// JP-Keyboard
|
||||
/// </summary>
|
||||
CPL_JP = 4,
|
||||
|
||||
/// <summary>
|
||||
/// KR-Keyboard
|
||||
/// </summary>
|
||||
CPL_KR = 5,
|
||||
|
||||
/// <summary>
|
||||
/// Zone1-Mouse
|
||||
/// </summary>
|
||||
CPL_Zones1 = 6,
|
||||
|
||||
/// <summary>
|
||||
/// Zone1-Mouse
|
||||
/// </summary>
|
||||
CPL_Zones2 = 7,
|
||||
|
||||
/// <summary>
|
||||
/// Zone1-Mouse
|
||||
/// </summary>
|
||||
CPL_Zones3 = 8,
|
||||
|
||||
/// <summary>
|
||||
/// Zone1-Mouse
|
||||
/// </summary>
|
||||
CPL_Zones4 = 9
|
||||
};
|
||||
}
|
||||
11
Enums/Headset/CorsairHeadsetLedId.cs
Normal file
11
Enums/Headset/CorsairHeadsetLedId.cs
Normal file
@ -0,0 +1,11 @@
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace CUE.NET.Enums.Headset
|
||||
{
|
||||
public enum CorsairHeadsetLedId
|
||||
{
|
||||
LeftLogo = 152,
|
||||
RightLogo = 153
|
||||
}
|
||||
}
|
||||
157
Enums/Keyboard/CorsairKeyboardLedId.cs
Normal file
157
Enums/Keyboard/CorsairKeyboardLedId.cs
Normal file
@ -0,0 +1,157 @@
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace CUE.NET.Enums.Keyboard
|
||||
{
|
||||
public enum CorsairKeyboardLedId
|
||||
{
|
||||
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
|
||||
}
|
||||
}
|
||||
30
Enums/Keyboard/CorsairLogicalKeyboardLayout.cs
Normal file
30
Enums/Keyboard/CorsairLogicalKeyboardLayout.cs
Normal file
@ -0,0 +1,30 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
// ReSharper disable UnusedMember.Global
|
||||
|
||||
namespace CUE.NET.Enums.Keyboard
|
||||
{
|
||||
/// <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
|
||||
};
|
||||
}
|
||||
36
Enums/Keyboard/CorsairPhysicalKeyboardLayout.cs
Normal file
36
Enums/Keyboard/CorsairPhysicalKeyboardLayout.cs
Normal file
@ -0,0 +1,36 @@
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace CUE.NET.Enums.Keyboard
|
||||
{
|
||||
/// <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
|
||||
}
|
||||
}
|
||||
13
Enums/Mouse/CorsairMouseLedId.cs
Normal file
13
Enums/Mouse/CorsairMouseLedId.cs
Normal file
@ -0,0 +1,13 @@
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace CUE.NET.Enums.Mouse
|
||||
{
|
||||
public enum CorsairMouseLedId
|
||||
{
|
||||
B1 = 148,
|
||||
B2 = 149,
|
||||
B3 = 150,
|
||||
B4 = 151
|
||||
}
|
||||
}
|
||||
31
Enums/Mouse/CorsairPhysicalMouseLayout.cs
Normal file
31
Enums/Mouse/CorsairPhysicalMouseLayout.cs
Normal file
@ -0,0 +1,31 @@
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace CUE.NET.Enums.Mouse
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains list of available physical layouts for mice.
|
||||
/// </summary>
|
||||
public enum CorsairPhysicalMouseLayout
|
||||
{
|
||||
/// <summary>
|
||||
/// Zone1-Mouse
|
||||
/// </summary>
|
||||
Zones1 = 6,
|
||||
|
||||
/// <summary>
|
||||
/// Zone2-Mouse
|
||||
/// </summary>
|
||||
Zones2 = 7,
|
||||
|
||||
/// <summary>
|
||||
/// Zone3-Mouse
|
||||
/// </summary>
|
||||
Zones3 = 8,
|
||||
|
||||
/// <summary>
|
||||
/// Zone4-Mouse
|
||||
/// </summary>
|
||||
Zones4 = 9
|
||||
}
|
||||
}
|
||||
@ -3,6 +3,7 @@ using System.Drawing;
|
||||
using CUE.NET.Enums;
|
||||
using CUE.NET.Exceptions;
|
||||
using CUE.NET.Wrapper;
|
||||
using CUE.NET.Wrapper.Keyboard;
|
||||
|
||||
namespace SimpleDevTest
|
||||
{
|
||||
@ -14,7 +15,7 @@ namespace SimpleDevTest
|
||||
{
|
||||
CueSDK.Initialize();
|
||||
|
||||
CueKeyboard keyboard = CueSDK.KeyboardSDK;
|
||||
CorsairKeyboard keyboard = CueSDK.KeyboardSDK;
|
||||
if (keyboard == null)
|
||||
throw new WrapperException("No keyboard found");
|
||||
|
||||
|
||||
@ -14,8 +14,8 @@ namespace CUE.NET.Native
|
||||
{
|
||||
internal CorsairDeviceType type; // enum describing device type
|
||||
internal IntPtr model; // null - terminated device model(like “K95RGB”)
|
||||
internal CorsairPhysicalLayout physicalLayout; // enum describing physical layout of the keyboard or mouse
|
||||
internal CorsairLogicalLayout logicalLayout; // enum describing logical layout of the keyboard as set in CUE settings
|
||||
internal int physicalLayout; // enum describing physical layout of the keyboard or mouse
|
||||
internal int logicalLayout; // enum describing logical layout of the keyboard as set in CUE settings
|
||||
internal int capsMask; // mask that describes device capabilities, formed as logical “or” of CorsairDeviceCaps enum values
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,18 +3,17 @@
|
||||
#pragma warning disable 649 // Field 'x' is never assigned
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
using CUE.NET.Enums;
|
||||
|
||||
namespace CUE.NET.Native
|
||||
{
|
||||
// ReSharper disable once InconsistentNaming
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public class _CorsairLedColor // contains information about led and its color
|
||||
public class _CorsairLedColor // contains information about led and its color
|
||||
{
|
||||
|
||||
internal CorsairLedId ledId; // identifier of LED to set
|
||||
internal int r; // red brightness[0..255]
|
||||
internal int g; // green brightness[0..255]
|
||||
internal int b; // blue brightness[0..255]
|
||||
internal int ledId; // identifier of LED to set
|
||||
internal int r; // red brightness[0..255]
|
||||
internal int g; // green brightness[0..255]
|
||||
internal int b; // blue brightness[0..255]
|
||||
};
|
||||
}
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
#pragma warning disable 649 // Field 'x' is never assigned
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
using CUE.NET.Enums;
|
||||
|
||||
namespace CUE.NET.Native
|
||||
{
|
||||
@ -11,10 +10,10 @@ namespace CUE.NET.Native
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public class _CorsairLedPosition // contains led id and position of led rectangle.Most of the keys are rectangular. In case if key is not rectangular(like Enter in ISO / UK layout) it returns the smallest rectangle that fully contains the key
|
||||
{
|
||||
internal CorsairLedId ledId; // identifier of led
|
||||
internal int ledId; // identifier of led
|
||||
internal double top;
|
||||
internal double left;
|
||||
internal double height;
|
||||
internal double width; // values in mm
|
||||
internal double width; // values in mm
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,13 +8,13 @@ namespace CUE.NET.Wrapper
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public CorsairDeviceInfo DeviceInfo { get; }
|
||||
public IDeviceInfo DeviceInfo { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
protected AbstractCueDevice(CorsairDeviceInfo info)
|
||||
protected AbstractCueDevice(IDeviceInfo info)
|
||||
{
|
||||
this.DeviceInfo = info;
|
||||
}
|
||||
|
||||
@ -1,61 +0,0 @@
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using CUE.NET.Enums;
|
||||
using CUE.NET.Native;
|
||||
|
||||
namespace CUE.NET.Wrapper
|
||||
{
|
||||
public class CorsairDeviceInfo
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
/// <summary>
|
||||
/// Device type.
|
||||
/// </summary>
|
||||
public CorsairDeviceType Type { get; private set; }
|
||||
|
||||
//TODO DarthAffe 17.09.2015: This could be an Enum
|
||||
/// <summary>
|
||||
/// Device model (like “K95RGB”).
|
||||
/// </summary>
|
||||
public string Model { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Physical layout of the keyboard or mouse.
|
||||
/// </summary>
|
||||
public CorsairPhysicalLayout PhysicalLayout { get; private set; }
|
||||
|
||||
//TODO DarthAffe 17.09.2015: Would device-specific infos be useful?
|
||||
/// <summary>
|
||||
/// Logical layout of the keyboard as set in CUE settings.
|
||||
/// </summary>
|
||||
public CorsairLogicalLayout LogicalLayout { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Mask that describes device capabilities, formed as logical "or" of CorsairDeviceCaps enum values
|
||||
/// </summary>
|
||||
public CorsairDeviceCaps CapsMask { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Internal constructor of managed CorsairDeviceInfo.
|
||||
/// </summary>
|
||||
/// <param name="nativeInfo">The native CorsairDeviceInfo-struct</param>
|
||||
public CorsairDeviceInfo(_CorsairDeviceInfo nativeInfo)
|
||||
{
|
||||
this.Type = nativeInfo.type;
|
||||
this.Model = nativeInfo.model == IntPtr.Zero ? null : Marshal.PtrToStringAuto(nativeInfo.model);
|
||||
this.PhysicalLayout = nativeInfo.physicalLayout;
|
||||
this.LogicalLayout = nativeInfo.logicalLayout;
|
||||
this.CapsMask = (CorsairDeviceCaps)nativeInfo.capsMask;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -1,22 +0,0 @@
|
||||
namespace CUE.NET.Wrapper
|
||||
{
|
||||
//TODO DarthAffe 18.09.2015: Implement
|
||||
public class CueMouse : AbstractCueDevice
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
internal CueMouse(CorsairDeviceInfo info)
|
||||
: base(info)
|
||||
{ }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -4,6 +4,9 @@ using System.Runtime.InteropServices;
|
||||
using CUE.NET.Enums;
|
||||
using CUE.NET.Exceptions;
|
||||
using CUE.NET.Native;
|
||||
using CUE.NET.Wrapper.Headset;
|
||||
using CUE.NET.Wrapper.Keyboard;
|
||||
using CUE.NET.Wrapper.Mouse;
|
||||
|
||||
namespace CUE.NET.Wrapper
|
||||
{
|
||||
@ -17,9 +20,9 @@ namespace CUE.NET.Wrapper
|
||||
public static bool HasExclusiveAccess { get; private set; }
|
||||
public static CorsairError LastError => _CUESDK.CorsairGetLastError();
|
||||
|
||||
public static CueKeyboard KeyboardSDK { get; private set; }
|
||||
public static CueMouse MouseSDK { get; private set; }
|
||||
public static CueHeadset HeadsetSDK { get; private set; }
|
||||
public static CorsairKeyboard KeyboardSDK { get; private set; }
|
||||
public static CorsairMouse MouseSDK { get; private set; }
|
||||
public static CorsairHeadset HeadsetSDK { get; private set; }
|
||||
|
||||
// ReSharper restore UnusedAutoPropertyAccessor.Global
|
||||
|
||||
@ -35,7 +38,7 @@ namespace CUE.NET.Wrapper
|
||||
ProtocolDetails = new CorsairProtocolDetails(_CUESDK.CorsairPerformProtocolHandshake());
|
||||
|
||||
CorsairError error = LastError;
|
||||
if (error != CorsairError.CE_Success)
|
||||
if (error != CorsairError.Success)
|
||||
Throw(error);
|
||||
|
||||
if (ProtocolDetails.BreakingChanges)
|
||||
@ -45,7 +48,7 @@ namespace CUE.NET.Wrapper
|
||||
|
||||
if (exclusiveAccess)
|
||||
{
|
||||
if (!_CUESDK.CorsairRequestControl(CorsairAccessMode.CAM_ExclusiveLightingControl))
|
||||
if (!_CUESDK.CorsairRequestControl(CorsairAccessMode.ExclusiveLightingControl))
|
||||
Throw(error);
|
||||
|
||||
HasExclusiveAccess = true;
|
||||
@ -54,30 +57,31 @@ namespace CUE.NET.Wrapper
|
||||
int deviceCount = _CUESDK.CorsairGetDeviceCount();
|
||||
for (int i = 0; i < deviceCount; i++)
|
||||
{
|
||||
CorsairDeviceInfo info = new CorsairDeviceInfo((_CorsairDeviceInfo)Marshal.PtrToStructure(_CUESDK.CorsairGetDeviceInfo(i), typeof(_CorsairDeviceInfo)));
|
||||
if (!info.CapsMask.HasFlag(CorsairDeviceCaps.CDC_Lighting))
|
||||
_CorsairDeviceInfo nativeDeviceInfo = (_CorsairDeviceInfo)Marshal.PtrToStructure(_CUESDK.CorsairGetDeviceInfo(i), typeof(_CorsairDeviceInfo));
|
||||
GenericDeviceInfo info = new GenericDeviceInfo(nativeDeviceInfo);
|
||||
if (!info.CapsMask.HasFlag(CorsairDeviceCaps.Lighting))
|
||||
continue; // Everything that doesn't support lighting control is useless
|
||||
|
||||
switch (info.Type)
|
||||
{
|
||||
case CorsairDeviceType.CDT_Keyboard:
|
||||
KeyboardSDK = new CueKeyboard(info);
|
||||
case CorsairDeviceType.Keyboard:
|
||||
KeyboardSDK = new CorsairKeyboard(new CorsairKeyboardDeviceInfo(nativeDeviceInfo));
|
||||
break;
|
||||
case CorsairDeviceType.CDT_Mouse:
|
||||
MouseSDK = new CueMouse(info);
|
||||
case CorsairDeviceType.Mouse:
|
||||
MouseSDK = new CorsairMouse(new CorsairMouseDeviceInfo(nativeDeviceInfo));
|
||||
break;
|
||||
case CorsairDeviceType.CDT_Headset:
|
||||
HeadsetSDK = new CueHeadset(info);
|
||||
case CorsairDeviceType.Headset:
|
||||
HeadsetSDK = new CorsairHeadset(new CorsairHeadsetDeviceInfo(nativeDeviceInfo));
|
||||
break;
|
||||
|
||||
// ReSharper disable once RedundantCaseLabel
|
||||
case CorsairDeviceType.CDT_Unknown:
|
||||
case CorsairDeviceType.Unknown:
|
||||
default:
|
||||
throw new WrapperException("Unknown Device-Type");
|
||||
}
|
||||
|
||||
error = LastError;
|
||||
if (error != CorsairError.CE_Success)
|
||||
if (error != CorsairError.Success)
|
||||
Throw(error);
|
||||
}
|
||||
}
|
||||
|
||||
45
Wrapper/GenericDeviceInfo.cs
Normal file
45
Wrapper/GenericDeviceInfo.cs
Normal file
@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using CUE.NET.Enums;
|
||||
using CUE.NET.Native;
|
||||
|
||||
namespace CUE.NET.Wrapper
|
||||
{
|
||||
public class GenericDeviceInfo : IDeviceInfo
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
/// <summary>
|
||||
/// Device type.
|
||||
/// </summary>
|
||||
public CorsairDeviceType Type { get; }
|
||||
|
||||
//TODO DarthAffe 17.09.2015: This could be an Enum
|
||||
/// <summary>
|
||||
/// Device model (like “K95RGB”).
|
||||
/// </summary>
|
||||
public string Model { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Flags that describes device capabilities
|
||||
/// </summary>
|
||||
public CorsairDeviceCaps CapsMask { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Internal constructor of managed CorsairDeviceInfo.
|
||||
/// </summary>
|
||||
/// <param name="nativeInfo">The native CorsairDeviceInfo-struct</param>
|
||||
internal GenericDeviceInfo(_CorsairDeviceInfo nativeInfo)
|
||||
{
|
||||
this.Type = nativeInfo.type;
|
||||
this.Model = nativeInfo.model == IntPtr.Zero ? null : Marshal.PtrToStringAuto(nativeInfo.model);
|
||||
this.CapsMask = (CorsairDeviceCaps)nativeInfo.capsMask;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
namespace CUE.NET.Wrapper
|
||||
namespace CUE.NET.Wrapper.Headset
|
||||
{
|
||||
//TODO DarthAffe 18.09.2015: Implement
|
||||
public class CueHeadset : AbstractCueDevice
|
||||
public class CorsairHeadset : AbstractCueDevice
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
#region Constructors
|
||||
|
||||
internal CueHeadset(CorsairDeviceInfo info)
|
||||
internal CorsairHeadset(CorsairHeadsetDeviceInfo info)
|
||||
: base(info)
|
||||
{ }
|
||||
|
||||
11
Wrapper/Headset/CorsairHeadsetDeviceInfo.cs
Normal file
11
Wrapper/Headset/CorsairHeadsetDeviceInfo.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using CUE.NET.Native;
|
||||
|
||||
namespace CUE.NET.Wrapper.Headset
|
||||
{
|
||||
public class CorsairHeadsetDeviceInfo : GenericDeviceInfo
|
||||
{
|
||||
public CorsairHeadsetDeviceInfo(_CorsairDeviceInfo nativeInfo)
|
||||
: base(nativeInfo)
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,6 @@
|
||||
{
|
||||
public interface ICueDevice
|
||||
{
|
||||
CorsairDeviceInfo DeviceInfo { get; }
|
||||
IDeviceInfo DeviceInfo { get; }
|
||||
}
|
||||
}
|
||||
|
||||
20
Wrapper/IDeviceInfo.cs
Normal file
20
Wrapper/IDeviceInfo.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using CUE.NET.Enums;
|
||||
|
||||
namespace CUE.NET.Wrapper
|
||||
{
|
||||
public interface IDeviceInfo
|
||||
{
|
||||
CorsairDeviceType Type { get; }
|
||||
|
||||
//TODO DarthAffe 17.09.2015: This could be an Enum
|
||||
/// <summary>
|
||||
/// Device model (like “K95RGB”).
|
||||
/// </summary>
|
||||
string Model { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Flags that describes device capabilities
|
||||
/// </summary>
|
||||
CorsairDeviceCaps CapsMask { get; }
|
||||
}
|
||||
}
|
||||
@ -1,20 +1,23 @@
|
||||
using System.Drawing;
|
||||
using CUE.NET.Enums;
|
||||
using CUE.NET.Native;
|
||||
|
||||
namespace CUE.NET.Wrapper
|
||||
namespace CUE.NET.Wrapper.Keyboard
|
||||
{
|
||||
public class CueKeyboard : AbstractCueDevice
|
||||
public class CorsairKeyboard : AbstractCueDevice
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public CorsairKeyboardDeviceInfo KeyboardDeviceInfo { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
internal CueKeyboard(CorsairDeviceInfo info)
|
||||
internal CorsairKeyboard(CorsairKeyboardDeviceInfo info)
|
||||
: base(info)
|
||||
{ }
|
||||
{
|
||||
this.KeyboardDeviceInfo = info;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -22,7 +25,7 @@ namespace CUE.NET.Wrapper
|
||||
|
||||
public void SetKeyColor(char key, Color color)
|
||||
{
|
||||
CorsairLedId id = _CUESDK.CorsairGetLedIdForKeyName(key);
|
||||
int id = _CUESDK.CorsairGetLedIdForKeyName(key);
|
||||
_CorsairLedColor ledColor = new _CorsairLedColor { ledId = id, r = color.R, g = color.G, b = color.B };
|
||||
SetKeyColors(ledColor);
|
||||
}
|
||||
@ -32,7 +35,7 @@ namespace CUE.NET.Wrapper
|
||||
_CorsairLedColor[] ledColors = new _CorsairLedColor[keys.Length];
|
||||
for (int i = 0; i < keys.Length; i++)
|
||||
{
|
||||
CorsairLedId id = _CUESDK.CorsairGetLedIdForKeyName(keys[i]);
|
||||
int id = _CUESDK.CorsairGetLedIdForKeyName(keys[i]);
|
||||
ledColors[i] = new _CorsairLedColor { ledId = id, r = color.R, g = color.G, b = color.B };
|
||||
}
|
||||
SetKeyColors(ledColors);
|
||||
40
Wrapper/Keyboard/CorsairKeyboardDeviceInfo.cs
Normal file
40
Wrapper/Keyboard/CorsairKeyboardDeviceInfo.cs
Normal file
@ -0,0 +1,40 @@
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||
|
||||
using CUE.NET.Enums.Keyboard;
|
||||
using CUE.NET.Native;
|
||||
|
||||
namespace CUE.NET.Wrapper.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
|
||||
}
|
||||
}
|
||||
26
Wrapper/Mouse/CorsairMouse.cs
Normal file
26
Wrapper/Mouse/CorsairMouse.cs
Normal file
@ -0,0 +1,26 @@
|
||||
namespace CUE.NET.Wrapper.Mouse
|
||||
{
|
||||
//TODO DarthAffe 18.09.2015: Implement
|
||||
public class CorsairMouse : AbstractCueDevice
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
public CorsairMouseDeviceInfo MouseDeviceInfo { get; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
internal CorsairMouse(CorsairMouseDeviceInfo info)
|
||||
: base(info)
|
||||
{
|
||||
this.MouseDeviceInfo = info;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
34
Wrapper/Mouse/CorsairMouseDeviceInfo.cs
Normal file
34
Wrapper/Mouse/CorsairMouseDeviceInfo.cs
Normal file
@ -0,0 +1,34 @@
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||
|
||||
using CUE.NET.Enums.Mouse;
|
||||
using CUE.NET.Native;
|
||||
|
||||
namespace CUE.NET.Wrapper.Mouse
|
||||
{
|
||||
public class CorsairMouseDeviceInfo : GenericDeviceInfo
|
||||
{
|
||||
#region Properties & Fields
|
||||
|
||||
/// <summary>
|
||||
/// Physical layout of the mouse.
|
||||
/// </summary>
|
||||
public CorsairPhysicalMouseLayout PhysicalLayout { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Internal constructor of managed CorsairDeviceInfo.
|
||||
/// </summary>
|
||||
/// <param name="nativeInfo">The native CorsairDeviceInfo-struct</param>
|
||||
internal CorsairMouseDeviceInfo(_CorsairDeviceInfo nativeInfo)
|
||||
: base(nativeInfo)
|
||||
{
|
||||
this.PhysicalLayout = (CorsairPhysicalMouseLayout)nativeInfo.physicalLayout;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user