mirror of
https://github.com/DarthAffe/RGB.NET.git
synced 2025-12-12 17:48:31 +00:00
commit
4f718ae66a
@ -213,6 +213,38 @@ namespace RGB.NET.Core
|
||||
Keyboard_Custom30 = 0x0000701E,
|
||||
Keyboard_Custom31 = 0x0000701F,
|
||||
Keyboard_Custom32 = 0x00007020,
|
||||
Keyboard_Custom33 = 0x00007021,
|
||||
Keyboard_Custom34 = 0x00007022,
|
||||
Keyboard_Custom35 = 0x00007023,
|
||||
Keyboard_Custom36 = 0x00007024,
|
||||
Keyboard_Custom37 = 0x00007025,
|
||||
Keyboard_Custom38 = 0x00007026,
|
||||
Keyboard_Custom39 = 0x00007027,
|
||||
Keyboard_Custom40 = 0x00007028,
|
||||
Keyboard_Custom41 = 0x00007029,
|
||||
Keyboard_Custom42 = 0x0000702A,
|
||||
Keyboard_Custom43 = 0x0000702B,
|
||||
Keyboard_Custom44 = 0x0000702C,
|
||||
Keyboard_Custom45 = 0x0000702D,
|
||||
Keyboard_Custom46 = 0x0000702E,
|
||||
Keyboard_Custom47 = 0x0000702F,
|
||||
Keyboard_Custom48 = 0x00007030,
|
||||
Keyboard_Custom49 = 0x00007031,
|
||||
Keyboard_Custom50 = 0x00007032,
|
||||
Keyboard_Custom51 = 0x00007033,
|
||||
Keyboard_Custom52 = 0x00007034,
|
||||
Keyboard_Custom53 = 0x00007035,
|
||||
Keyboard_Custom54 = 0x00007036,
|
||||
Keyboard_Custom55 = 0x00007037,
|
||||
Keyboard_Custom56 = 0x00007038,
|
||||
Keyboard_Custom57 = 0x00007039,
|
||||
Keyboard_Custom58 = 0x0000703A,
|
||||
Keyboard_Custom59 = 0x0000703B,
|
||||
Keyboard_Custom60 = 0x0000703C,
|
||||
Keyboard_Custom61 = 0x0000703D,
|
||||
Keyboard_Custom62 = 0x0000703E,
|
||||
Keyboard_Custom63 = 0x0000703F,
|
||||
Keyboard_Custom64 = 0x00007040,
|
||||
|
||||
/*### Mouse ###*/
|
||||
Mouse1 = 0x00100001,
|
||||
|
||||
25
RGB.NET.Devices.Asus/Enum/AsusDeviceType.cs
Normal file
25
RGB.NET.Devices.Asus/Enum/AsusDeviceType.cs
Normal file
@ -0,0 +1,25 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace RGB.NET.Devices.Asus
|
||||
{
|
||||
internal enum AsusDeviceType : uint
|
||||
{
|
||||
ALL = 0,
|
||||
MB_RGB = 0x10000,
|
||||
MB_ADDRESABLE = 0x11000,
|
||||
DESKTOP_RGB = 0x12000,
|
||||
VGA_RGB = 0x20000,
|
||||
DISPLAY_RGB = 0x30000,
|
||||
HEADSET_RGB = 0x40000,
|
||||
MICROPHONE_RGB = 0x50000,
|
||||
EXTERNAL_HARD_DRIVER_RGB = 0x60000,
|
||||
EXTERNAL_BLUE_RAY_RGB = 0x61000,
|
||||
DRAM_RGB = 0x70000,
|
||||
KEYBOARD_RGB = 0x80000,
|
||||
NB_KB_RGB = 0x81000,
|
||||
NB_KB_4ZONE_RGB = 0x81001,
|
||||
MOUSE_RGB = 0x90000,
|
||||
CHASSIS_RGB = 0xB0000,
|
||||
PROJECTOR_RGB = 0xC0000
|
||||
}
|
||||
}
|
||||
160
RGB.NET.Devices.Asus/Enum/AsusLedId.cs
Normal file
160
RGB.NET.Devices.Asus/Enum/AsusLedId.cs
Normal file
@ -0,0 +1,160 @@
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
namespace RGB.NET.Devices.Asus
|
||||
{
|
||||
internal enum AsusLedId : ushort
|
||||
{
|
||||
KEY_ESCAPE = 0x01,
|
||||
KEY_1 = 0x02,
|
||||
KEY_2 = 0x03,
|
||||
KEY_3 = 0x04,
|
||||
KEY_4 = 0x05,
|
||||
KEY_5 = 0x06,
|
||||
KEY_6 = 0x07,
|
||||
KEY_7 = 0x08,
|
||||
KEY_8 = 0x09,
|
||||
KEY_9 = 0x0A,
|
||||
KEY_0 = 0x0B,
|
||||
KEY_MINUS = 0x0C, // - on main keyboard
|
||||
KEY_EQUALS = 0x0D,
|
||||
KEY_BACK = 0x0E, // backspace
|
||||
KEY_TAB = 0x0F,
|
||||
KEY_Q = 0x10,
|
||||
KEY_W = 0x11,
|
||||
KEY_E = 0x12,
|
||||
KEY_R = 0x13,
|
||||
KEY_T = 0x14,
|
||||
KEY_Y = 0x15,
|
||||
KEY_U = 0x16,
|
||||
KEY_I = 0x17,
|
||||
KEY_O = 0x18,
|
||||
KEY_P = 0x19,
|
||||
KEY_LBRACKET = 0x1A,
|
||||
KEY_RBRACKET = 0x1B,
|
||||
KEY_RETURN = 0x1C, // Enter on main keyboard
|
||||
KEY_LCONTROL = 0x1D,
|
||||
KEY_A = 0x1E,
|
||||
KEY_S = 0x1F,
|
||||
KEY_D = 0x20,
|
||||
KEY_F = 0x21,
|
||||
KEY_G = 0x22,
|
||||
KEY_H = 0x23,
|
||||
KEY_J = 0x24,
|
||||
KEY_K = 0x25,
|
||||
KEY_L = 0x26,
|
||||
KEY_SEMICOLON = 0x27,
|
||||
KEY_APOSTROPHE = 0x28,
|
||||
KEY_GRAVE = 0x29, // accent grave
|
||||
KEY_LSHIFT = 0x2A,
|
||||
KEY_BACKSLASH = 0x2B,
|
||||
KEY_Z = 0x2C,
|
||||
KEY_X = 0x2D,
|
||||
KEY_C = 0x2E,
|
||||
KEY_V = 0x2F,
|
||||
KEY_B = 0x30,
|
||||
KEY_N = 0x31,
|
||||
KEY_M = 0x32,
|
||||
KEY_COMMA = 0x33,
|
||||
KEY_PERIOD = 0x34, // . on main keyboard
|
||||
KEY_SLASH = 0x35, // / on main keyboard
|
||||
KEY_RSHIFT = 0x36,
|
||||
KEY_MULTIPLY = 0x37, // * on numeric keypad
|
||||
KEY_LMENU = 0x38, // left Alt
|
||||
KEY_SPACE = 0x39,
|
||||
KEY_CAPITAL = 0x3A,
|
||||
KEY_F1 = 0x3B,
|
||||
KEY_F2 = 0x3C,
|
||||
KEY_F3 = 0x3D,
|
||||
KEY_F4 = 0x3E,
|
||||
KEY_F5 = 0x3F,
|
||||
KEY_F6 = 0x40,
|
||||
KEY_F7 = 0x41,
|
||||
KEY_F8 = 0x42,
|
||||
KEY_F9 = 0x43,
|
||||
KEY_F10 = 0x44,
|
||||
KEY_NUMLOCK = 0x45,
|
||||
KEY_SCROLL = 0x46, // Scroll Lock
|
||||
KEY_NUMPAD7 = 0x47,
|
||||
KEY_NUMPAD8 = 0x48,
|
||||
KEY_NUMPAD9 = 0x49,
|
||||
KEY_SUBTRACT = 0x4A, // - on numeric keypad
|
||||
KEY_NUMPAD4 = 0x4B,
|
||||
KEY_NUMPAD5 = 0x4C,
|
||||
KEY_NUMPAD6 = 0x4D,
|
||||
KEY_ADD = 0x4E, // + on numeric keypad
|
||||
KEY_NUMPAD1 = 0x4F,
|
||||
KEY_NUMPAD2 = 0x50,
|
||||
KEY_NUMPAD3 = 0x51,
|
||||
KEY_NUMPAD0 = 0x52,
|
||||
KEY_DECIMAL = 0x53, // . on numeric keypad
|
||||
KEY_OEM_102 = 0x56, // < > | on UK/Germany keyboards
|
||||
KEY_F11 = 0x57,
|
||||
KEY_F12 = 0x58,
|
||||
KEY_F13 = 0x64, // (NEC PC98)
|
||||
KEY_F14 = 0x65, // (NEC PC98)
|
||||
KEY_F15 = 0x66, // (NEC PC98)
|
||||
KEY_KANA = 0x70, // (Japanese keyboard)
|
||||
KEY_ABNT_C1 = 0x73, // / ? on Portugese (Brazilian) keyboards
|
||||
KEY_CONVERT = 0x79, // (Japanese keyboard)
|
||||
KEY_NOCONVERT = 0x7B, // (Japanese keyboard)
|
||||
KEY_YEN = 0x7D, // (Japanese keyboard)
|
||||
KEY_ABNT_C2 = 0x7E, // Numpad . on Portugese (Brazilian) keyboards
|
||||
KEY_NUMPADEQUALS = 0x8D, // = on numeric keypad (NEC PC98)
|
||||
KEY_CIRCUMFLEX = 0x90, // (Japanese keyboard)
|
||||
KEY_AT = 0x91, // (NEC PC98)
|
||||
KEY_COLON = 0x92, // (NEC PC98)
|
||||
KEY_UNDERLINE = 0x93, // (NEC PC98)
|
||||
KEY_KANJI = 0x94, // (Japanese keyboard)
|
||||
KEY_STOP = 0x95, // (NEC PC98)
|
||||
KEY_AX = 0x96, // (Japan AX)
|
||||
KEY_UNLABELED = 0x97, // (J3100)
|
||||
KEY_NEXTTRACK = 0x99, // Next Track
|
||||
KEY_NUMPADENTER = 0x9C, // Enter on numeric keypad
|
||||
KEY_RCONTROL = 0x9D, //
|
||||
KEY_MUTE = 0xA0, // Mute
|
||||
KEY_CALCULATOR = 0xA1, // Calculator
|
||||
KEY_PLAYPAUSE = 0xA2, // Play / Pause
|
||||
KEY_MEDIASTOP = 0xA4, // Media Stop
|
||||
KEY_VOLUMEDOWN = 0xAE, // Volume -
|
||||
KEY_VOLUMEUP = 0xB0, // Volume +
|
||||
KEY_WEBHOME = 0xB2, // Web home
|
||||
KEY_NUMPADCOMMA = 0xB3, // , on numeric keypad (NEC PC98)
|
||||
KEY_DIVIDE = 0xB5, // / on numeric keypad
|
||||
KEY_SYSRQ = 0xB7, //
|
||||
KEY_RMENU = 0xB8, // right Alt
|
||||
KEY_PAUSE = 0xC5, // Pause
|
||||
KEY_HOME = 0xC7, // Home on arrow keypad
|
||||
KEY_UP = 0xC8, // UpArrow on arrow keypad
|
||||
KEY_PRIOR = 0xC9, // PgUp on arrow keypad
|
||||
KEY_LEFT = 0xCB, // LeftArrow on arrow keypad
|
||||
KEY_RIGHT = 0xCD, // RightArrow on arrow keypad
|
||||
KEY_END = 0xCF, // End on arrow keypad
|
||||
KEY_DOWN = 0xD0, // DownArrow on arrow keypad
|
||||
KEY_NEXT = 0xD1, // PgDn on arrow keypad
|
||||
KEY_INSERT = 0xD2, // Insert on arrow keypad
|
||||
KEY_DELETE = 0xD3, // Delete on arrow keypad
|
||||
KEY_LWIN = 0xDB, // Left Windows key
|
||||
KEY_RWIN = 0xDC, // Right Windows key
|
||||
KEY_APPS = 0xDD, // AppMenu key
|
||||
KEY_POWER = 0xDE, //
|
||||
KEY_SLEEP = 0xDF, //
|
||||
KEY_WAKE = 0xE3, // System Wake
|
||||
KEY_WEBSEARCH = 0xE5, // Web Search
|
||||
KEY_WEBFAVORITES = 0xE6, // Web Favorites
|
||||
KEY_WEBREFRESH = 0xE7, // Web Refresh
|
||||
KEY_WEBSTOP = 0xE8, // Web Stop
|
||||
KEY_WEBFORWARD = 0xE9, // Web Forward
|
||||
KEY_WEBBACK = 0xEA, // Web Back
|
||||
KEY_MYCOMPUTER = 0xEB, // My Computer
|
||||
KEY_MAIL = 0xEC, // Mail
|
||||
KEY_MEDIASELECT = 0xED, // Media Select
|
||||
KEY_FN = 0x100, // Function key
|
||||
|
||||
// Undocumented
|
||||
UNDOCUMENTED_1 = 0x59,
|
||||
UNDOCUMENTED_2 = 0x56,
|
||||
UNDOCUMENTED_3 = 0x101,
|
||||
UNDOCUMENTED_4 = 0x102,
|
||||
UNDOCUMENTED_5 = 0x103,
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using AuraServiceLib;
|
||||
using RGB.NET.Core;
|
||||
|
||||
@ -48,22 +47,57 @@ namespace RGB.NET.Devices.Asus
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (KeyValuePair<object, Color> data in dataSet)
|
||||
if ((Device.Type == (uint)AsusDeviceType.KEYBOARD_RGB) || (Device.Type == (uint)AsusDeviceType.NB_KB_RGB))
|
||||
{
|
||||
int index = (int)data.Key;
|
||||
IAuraRgbLight light = Device.Lights[index];
|
||||
(_, byte r, byte g, byte b) = data.Value.GetRGBBytes();
|
||||
light.Red = r;
|
||||
light.Green = g;
|
||||
light.Blue = b;
|
||||
foreach (KeyValuePair<object, Color> data in dataSet)
|
||||
{
|
||||
AsusLedId index = (AsusLedId)data.Key;
|
||||
IAuraSyncKeyboard keyboard = (IAuraSyncKeyboard)Device;
|
||||
if (keyboard != null)
|
||||
{
|
||||
IAuraRgbLight light = index switch
|
||||
{
|
||||
//UK keyboard Layout
|
||||
AsusLedId.KEY_OEM_102 => keyboard.Lights[(int)((3 * keyboard.Width) + 13)],
|
||||
AsusLedId.UNDOCUMENTED_1 => keyboard.Lights[(int)((4 * keyboard.Width) + 1)],
|
||||
_ => keyboard.Key[(ushort)index]
|
||||
};
|
||||
|
||||
// Asus Strix Scope
|
||||
if (keyboard.Name == "Charm")
|
||||
light = index switch
|
||||
{
|
||||
AsusLedId.KEY_LWIN => keyboard.Lights[(int)((5 * keyboard.Width) + 2)],
|
||||
AsusLedId.KEY_LMENU => keyboard.Lights[(int)((5 * keyboard.Width) + 3)],
|
||||
_ => light
|
||||
};
|
||||
|
||||
(_, byte r, byte g, byte b) = data.Value.GetRGBBytes();
|
||||
light.Red = r;
|
||||
light.Green = g;
|
||||
light.Blue = b;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (KeyValuePair<object, Color> data in dataSet)
|
||||
{
|
||||
int index = (int)data.Key;
|
||||
IAuraRgbLight light = Device.Lights[index];
|
||||
|
||||
(_, byte r, byte g, byte b) = data.Value.GetRGBBytes();
|
||||
light.Red = r;
|
||||
light.Green = g;
|
||||
light.Blue = b;
|
||||
}
|
||||
}
|
||||
|
||||
Device.Apply();
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch
|
||||
{ /* "The server threw an exception." seems to be a thing here ... */ }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
161
RGB.NET.Devices.Asus/Keyboard/AsusKeyboardLedMapping.cs
Normal file
161
RGB.NET.Devices.Asus/Keyboard/AsusKeyboardLedMapping.cs
Normal file
@ -0,0 +1,161 @@
|
||||
using System.Collections.Generic;
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.Asus
|
||||
{
|
||||
internal static class AsusKeyboardLedMapping
|
||||
{
|
||||
public static readonly Dictionary<LedId, AsusLedId> MAPPING = new Dictionary<LedId, AsusLedId>
|
||||
{
|
||||
{ LedId.Keyboard_Escape, AsusLedId.KEY_ESCAPE },
|
||||
{ LedId.Keyboard_F1, AsusLedId.KEY_F1 },
|
||||
{ LedId.Keyboard_F2, AsusLedId.KEY_F2 },
|
||||
{ LedId.Keyboard_F3, AsusLedId.KEY_F3 },
|
||||
{ LedId.Keyboard_F4, AsusLedId.KEY_F4 },
|
||||
{ LedId.Keyboard_F5, AsusLedId.KEY_F5 },
|
||||
{ LedId.Keyboard_F6, AsusLedId.KEY_F6 },
|
||||
{ LedId.Keyboard_F7, AsusLedId.KEY_F7 },
|
||||
{ LedId.Keyboard_F8, AsusLedId.KEY_F8 },
|
||||
{ LedId.Keyboard_F9, AsusLedId.KEY_F9 },
|
||||
{ LedId.Keyboard_F10, AsusLedId.KEY_F10 },
|
||||
{ LedId.Keyboard_F11, AsusLedId.KEY_F11 },
|
||||
{ LedId.Keyboard_F12, AsusLedId.KEY_F12 },
|
||||
{ LedId.Keyboard_1, AsusLedId.KEY_1 },
|
||||
{ LedId.Keyboard_2, AsusLedId.KEY_2 },
|
||||
{ LedId.Keyboard_3, AsusLedId.KEY_3 },
|
||||
{ LedId.Keyboard_4, AsusLedId.KEY_4 },
|
||||
{ LedId.Keyboard_5, AsusLedId.KEY_5 },
|
||||
{ LedId.Keyboard_6, AsusLedId.KEY_6 },
|
||||
{ LedId.Keyboard_7, AsusLedId.KEY_7 },
|
||||
{ LedId.Keyboard_8, AsusLedId.KEY_8 },
|
||||
{ LedId.Keyboard_9, AsusLedId.KEY_9 },
|
||||
{ LedId.Keyboard_0, AsusLedId.KEY_0 },
|
||||
{ LedId.Keyboard_MinusAndUnderscore, AsusLedId.KEY_MINUS },
|
||||
{ LedId.Keyboard_EqualsAndPlus, AsusLedId.KEY_EQUALS },
|
||||
{ LedId.Keyboard_Backspace, AsusLedId.KEY_BACK },
|
||||
{ LedId.Keyboard_Tab, AsusLedId.KEY_TAB },
|
||||
{ LedId.Keyboard_Q, AsusLedId.KEY_Q },
|
||||
{ LedId.Keyboard_W, AsusLedId.KEY_W },
|
||||
{ LedId.Keyboard_E, AsusLedId.KEY_E },
|
||||
{ LedId.Keyboard_R, AsusLedId.KEY_R },
|
||||
{ LedId.Keyboard_T, AsusLedId.KEY_T },
|
||||
{ LedId.Keyboard_Y, AsusLedId.KEY_Y },
|
||||
{ LedId.Keyboard_U, AsusLedId.KEY_U },
|
||||
{ LedId.Keyboard_I, AsusLedId.KEY_I },
|
||||
{ LedId.Keyboard_O, AsusLedId.KEY_O },
|
||||
{ LedId.Keyboard_P, AsusLedId.KEY_P },
|
||||
{ LedId.Keyboard_BracketLeft, AsusLedId.KEY_LBRACKET },
|
||||
{ LedId.Keyboard_BracketRight, AsusLedId.KEY_RBRACKET },
|
||||
{ LedId.Keyboard_Enter, AsusLedId.KEY_RETURN },
|
||||
{ LedId.Keyboard_CapsLock, AsusLedId.KEY_CAPITAL },
|
||||
{ LedId.Keyboard_A, AsusLedId.KEY_A },
|
||||
{ LedId.Keyboard_S, AsusLedId.KEY_S },
|
||||
{ LedId.Keyboard_D, AsusLedId.KEY_D },
|
||||
{ LedId.Keyboard_F, AsusLedId.KEY_F },
|
||||
{ LedId.Keyboard_G, AsusLedId.KEY_G },
|
||||
{ LedId.Keyboard_H, AsusLedId.KEY_H },
|
||||
{ LedId.Keyboard_J, AsusLedId.KEY_J },
|
||||
{ LedId.Keyboard_K, AsusLedId.KEY_K },
|
||||
{ LedId.Keyboard_L, AsusLedId.KEY_L },
|
||||
{ LedId.Keyboard_SemicolonAndColon, AsusLedId.KEY_SEMICOLON },
|
||||
{ LedId.Keyboard_ApostropheAndDoubleQuote, AsusLedId.KEY_APOSTROPHE },
|
||||
{ LedId.Keyboard_GraveAccentAndTilde, AsusLedId.KEY_GRAVE },
|
||||
{ LedId.Keyboard_LeftShift, AsusLedId.KEY_LSHIFT },
|
||||
{ LedId.Keyboard_Backslash, AsusLedId.KEY_BACKSLASH },
|
||||
{ LedId.Keyboard_Z, AsusLedId.KEY_Z },
|
||||
{ LedId.Keyboard_X, AsusLedId.KEY_X },
|
||||
{ LedId.Keyboard_C, AsusLedId.KEY_C },
|
||||
{ LedId.Keyboard_V, AsusLedId.KEY_V },
|
||||
{ LedId.Keyboard_B, AsusLedId.KEY_B },
|
||||
{ LedId.Keyboard_N, AsusLedId.KEY_N },
|
||||
{ LedId.Keyboard_M, AsusLedId.KEY_M },
|
||||
{ LedId.Keyboard_CommaAndLessThan, AsusLedId.KEY_COMMA },
|
||||
{ LedId.Keyboard_PeriodAndBiggerThan, AsusLedId.KEY_PERIOD },
|
||||
{ LedId.Keyboard_SlashAndQuestionMark, AsusLedId.KEY_SLASH },
|
||||
{ LedId.Keyboard_RightShift, AsusLedId.KEY_RSHIFT },
|
||||
{ LedId.Keyboard_LeftCtrl, AsusLedId.KEY_LCONTROL },
|
||||
{ LedId.Keyboard_LeftGui, AsusLedId.KEY_LWIN },
|
||||
{ LedId.Keyboard_LeftAlt, AsusLedId.KEY_LMENU },
|
||||
{ LedId.Keyboard_Space, AsusLedId.KEY_SPACE },
|
||||
{ LedId.Keyboard_RightAlt, AsusLedId.KEY_RMENU },
|
||||
{ LedId.Keyboard_RightGui, AsusLedId.KEY_RWIN },
|
||||
{ LedId.Keyboard_Application, AsusLedId.KEY_APPS },
|
||||
{ LedId.Keyboard_RightCtrl, AsusLedId.KEY_RCONTROL },
|
||||
{ LedId.Keyboard_PrintScreen, AsusLedId.KEY_SYSRQ },
|
||||
{ LedId.Keyboard_ScrollLock, AsusLedId.KEY_SCROLL },
|
||||
{ LedId.Keyboard_PauseBreak, AsusLedId.KEY_PAUSE },
|
||||
{ LedId.Keyboard_Insert, AsusLedId.KEY_INSERT },
|
||||
{ LedId.Keyboard_Home, AsusLedId.KEY_HOME },
|
||||
{ LedId.Keyboard_PageUp, AsusLedId.KEY_PRIOR },
|
||||
{ LedId.Keyboard_Delete, AsusLedId.KEY_DELETE },
|
||||
{ LedId.Keyboard_End, AsusLedId.KEY_END },
|
||||
{ LedId.Keyboard_PageDown, AsusLedId.KEY_NEXT },
|
||||
{ LedId.Keyboard_ArrowUp, AsusLedId.KEY_UP },
|
||||
{ LedId.Keyboard_ArrowLeft, AsusLedId.KEY_LEFT },
|
||||
{ LedId.Keyboard_ArrowDown, AsusLedId.KEY_DOWN },
|
||||
{ LedId.Keyboard_ArrowRight, AsusLedId.KEY_RIGHT },
|
||||
{ LedId.Keyboard_NumLock, AsusLedId.KEY_NUMLOCK },
|
||||
{ LedId.Keyboard_NumSlash, AsusLedId.KEY_DIVIDE },
|
||||
{ LedId.Keyboard_NumAsterisk, AsusLedId.KEY_MULTIPLY },
|
||||
{ LedId.Keyboard_NumMinus, AsusLedId.KEY_SUBTRACT },
|
||||
{ LedId.Keyboard_Num7, AsusLedId.KEY_NUMPAD7 },
|
||||
{ LedId.Keyboard_Num8, AsusLedId.KEY_NUMPAD8 },
|
||||
{ LedId.Keyboard_Num9, AsusLedId.KEY_NUMPAD9 },
|
||||
{ LedId.Keyboard_NumPeriodAndDelete, AsusLedId.KEY_DECIMAL },
|
||||
{ LedId.Keyboard_NumPlus, AsusLedId.KEY_ADD },
|
||||
{ LedId.Keyboard_Num4, AsusLedId.KEY_NUMPAD4 },
|
||||
{ LedId.Keyboard_Num5, AsusLedId.KEY_NUMPAD5 },
|
||||
{ LedId.Keyboard_Num6, AsusLedId.KEY_NUMPAD6 },
|
||||
{ LedId.Keyboard_Num1, AsusLedId.KEY_NUMPAD1 },
|
||||
{ LedId.Keyboard_Num2, AsusLedId.KEY_NUMPAD2 },
|
||||
{ LedId.Keyboard_Num3, AsusLedId.KEY_NUMPAD3 },
|
||||
{ LedId.Keyboard_Num0, AsusLedId.KEY_NUMPAD0 },
|
||||
{ LedId.Keyboard_NumEnter, AsusLedId.KEY_NUMPADENTER },
|
||||
{ LedId.Keyboard_NonUsBackslash, AsusLedId.UNDOCUMENTED_1 },
|
||||
{ LedId.Keyboard_NonUsTilde, AsusLedId.UNDOCUMENTED_2 },
|
||||
{ LedId.Keyboard_NumComma, AsusLedId.KEY_NUMPADCOMMA },
|
||||
{ LedId.Logo, AsusLedId.UNDOCUMENTED_3 },
|
||||
{ LedId.Keyboard_Custom1, AsusLedId.UNDOCUMENTED_4 },
|
||||
{ LedId.Keyboard_Custom2, AsusLedId.UNDOCUMENTED_5 },
|
||||
{ LedId.Keyboard_Custom3, AsusLedId.KEY_F13 },
|
||||
{ LedId.Keyboard_Custom4, AsusLedId.KEY_F14 },
|
||||
{ LedId.Keyboard_Custom5, AsusLedId.KEY_F15 },
|
||||
{ LedId.Keyboard_Custom6, AsusLedId.KEY_KANA },
|
||||
{ LedId.Keyboard_Custom7, AsusLedId.KEY_ABNT_C1 },
|
||||
{ LedId.Keyboard_Custom8, AsusLedId.KEY_CONVERT },
|
||||
{ LedId.Keyboard_Custom9, AsusLedId.KEY_NOCONVERT },
|
||||
{ LedId.Keyboard_Custom10, AsusLedId.KEY_YEN },
|
||||
{ LedId.Keyboard_Custom11, AsusLedId.KEY_ABNT_C2 },
|
||||
{ LedId.Keyboard_Custom12, AsusLedId.KEY_NUMPADEQUALS },
|
||||
{ LedId.Keyboard_Custom13, AsusLedId.KEY_CIRCUMFLEX },
|
||||
{ LedId.Keyboard_Custom14, AsusLedId.KEY_AT },
|
||||
{ LedId.Keyboard_Custom15, AsusLedId.KEY_COLON },
|
||||
{ LedId.Keyboard_Custom16, AsusLedId.KEY_UNDERLINE },
|
||||
{ LedId.Keyboard_Custom17, AsusLedId.KEY_KANJI },
|
||||
{ LedId.Keyboard_Custom18, AsusLedId.KEY_STOP },
|
||||
{ LedId.Keyboard_Custom19, AsusLedId.KEY_AX },
|
||||
{ LedId.Keyboard_Custom20, AsusLedId.KEY_UNLABELED },
|
||||
{ LedId.Keyboard_Custom21, AsusLedId.KEY_NEXTTRACK },
|
||||
{ LedId.Keyboard_Custom22, AsusLedId.KEY_CALCULATOR },
|
||||
{ LedId.Keyboard_Custom23, AsusLedId.KEY_POWER },
|
||||
{ LedId.Keyboard_Custom24, AsusLedId.KEY_SLEEP },
|
||||
{ LedId.Keyboard_Custom25, AsusLedId.KEY_WAKE },
|
||||
{ LedId.Keyboard_Custom26, AsusLedId.KEY_WEBSEARCH },
|
||||
{ LedId.Keyboard_Custom27, AsusLedId.KEY_WEBFAVORITES },
|
||||
{ LedId.Keyboard_Custom28, AsusLedId.KEY_WEBREFRESH },
|
||||
{ LedId.Keyboard_Custom29, AsusLedId.KEY_WEBSTOP },
|
||||
{ LedId.Keyboard_Custom30, AsusLedId.KEY_WEBFORWARD },
|
||||
{ LedId.Keyboard_Custom31, AsusLedId.KEY_WEBHOME },
|
||||
{ LedId.Keyboard_Custom32, AsusLedId.KEY_WEBBACK },
|
||||
{ LedId.Keyboard_Custom33, AsusLedId.KEY_MYCOMPUTER },
|
||||
{ LedId.Keyboard_Custom34, AsusLedId.KEY_MAIL },
|
||||
{ LedId.Keyboard_Custom35, AsusLedId.KEY_MEDIASELECT },
|
||||
{ LedId.Keyboard_Custom36, AsusLedId.KEY_FN },
|
||||
{ LedId.Keyboard_MediaMute, AsusLedId.KEY_MUTE },
|
||||
{ LedId.Keyboard_MediaPlay, AsusLedId.KEY_PLAYPAUSE },
|
||||
{ LedId.Keyboard_MediaStop, AsusLedId.KEY_MEDIASTOP },
|
||||
{ LedId.Keyboard_MediaVolumeDown, AsusLedId.KEY_VOLUMEDOWN },
|
||||
{ LedId.Keyboard_MediaVolumeUp, AsusLedId.KEY_VOLUMEUP },
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,7 @@
|
||||
using RGB.NET.Core;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using AuraServiceLib;
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace RGB.NET.Devices.Asus
|
||||
{
|
||||
@ -26,17 +29,38 @@ namespace RGB.NET.Devices.Asus
|
||||
/// <inheritdoc />
|
||||
protected override void InitializeLayout()
|
||||
{
|
||||
//TODO DarthAffe 07.10.2017: This doesn't make sense at all ... Find someone with such a keyboard!
|
||||
int ledCount = DeviceInfo.Device.Lights.Count;
|
||||
for (int i = 0; i < ledCount; i++)
|
||||
InitializeLed(LedId.Keyboard_Escape + i, new Rectangle(i * 19, 0, 19, 19));
|
||||
Dictionary<AsusLedId, LedId> reversedMapping = AsusKeyboardLedMapping.MAPPING.ToDictionary(x => x.Value, x => x.Key);
|
||||
|
||||
if (DeviceInfo.Device.Type != (uint)AsusDeviceType.NB_KB_4ZONE_RGB)
|
||||
{
|
||||
int pos = 0;
|
||||
foreach (IAuraRgbKey key in ((IAuraSyncKeyboard)DeviceInfo.Device).Keys)
|
||||
InitializeLed(reversedMapping[(AsusLedId)key.Code], new Point(pos++ * 19, 0), new Size(19, 19));
|
||||
|
||||
//UK Layout
|
||||
InitializeLed(reversedMapping[AsusLedId.KEY_OEM_102], new Point(pos++ * 19, 0), new Size(19, 19));
|
||||
|
||||
InitializeLed(reversedMapping[AsusLedId.UNDOCUMENTED_1], new Point(pos * 19, 0), new Size(19, 19));
|
||||
}
|
||||
else
|
||||
{
|
||||
int ledCount = DeviceInfo.Device.Lights.Count;
|
||||
for (int i = 0; i < ledCount; i++)
|
||||
InitializeLed(LedId.Keyboard_Custom1 + i, new Point(i * 19, 0), new Size(19, 19));
|
||||
}
|
||||
|
||||
string model = DeviceInfo.Model.Replace(" ", string.Empty).ToUpper();
|
||||
ApplyLayoutFromFile(PathHelper.GetAbsolutePath(this, $@"Layouts\Asus\Keyboards\{model}", $"{DeviceInfo.PhysicalLayout.ToString().ToUpper()}.xml"), DeviceInfo.LogicalLayout.ToString());
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override object CreateLedCustomData(LedId ledId) => (int)ledId - (int)LedId.Keyboard_Escape;
|
||||
protected override object CreateLedCustomData(LedId ledId)
|
||||
{
|
||||
if (DeviceInfo.Device.Type == (uint)AsusDeviceType.NB_KB_4ZONE_RGB)
|
||||
return ledId - LedId.Keyboard_Custom1;
|
||||
|
||||
return AsusKeyboardLedMapping.MAPPING[ledId];
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ namespace RGB.NET.Devices.Asus
|
||||
/// <param name="device">The <see cref="IAuraSyncDevice"/> backing this RGB.NET device.</param>
|
||||
/// <param name="culture">The <see cref="T:System.Globalization.CultureInfo" /> of the layout this keyboard is using.</param>
|
||||
internal AsusKeyboardRGBDeviceInfo(IAuraSyncDevice device, CultureInfo culture)
|
||||
: base(RGBDeviceType.Keyboard, device, "Claymore")
|
||||
: base(RGBDeviceType.Keyboard, device, device.Name)
|
||||
{
|
||||
SetLayouts(culture.KeyboardLayoutId);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user