1
0
mirror of https://github.com/DarthAffe/RGB.NET.git synced 2025-12-12 17:48:31 +00:00

Started Asus refactoring (WIP)

This commit is contained in:
Darth Affe 2020-02-22 15:11:27 +01:00
parent 74da1bbd13
commit 5b3a077557
5 changed files with 317 additions and 2 deletions

View File

@ -0,0 +1,25 @@
// ReSharper disable InconsistentNaming
namespace RGB.NET.Devices.Asus
{
internal enum AsusDeviceTypes
{
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
}
}

View File

@ -0,0 +1,153 @@
// ReSharper disable InconsistentNaming
namespace RGB.NET.Devices.Asus
{
internal enum AsusLedIds
{
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
}
}

View File

@ -48,7 +48,7 @@ namespace RGB.NET.Devices.Asus
{
try
{
if (Device.Type == 0x00080000 || Device.Type == 0x00081000)//Keyboard
if ((Device.Type == 0x00080000) || (Device.Type == 0x00081000)) //Keyboard
{
foreach (KeyValuePair<object, Color> data in dataSet)
{

View File

@ -0,0 +1,138 @@
using System.Collections.Generic;
using RGB.NET.Core;
namespace RGB.NET.Devices.Asus
{
internal static class AsusKeyboardLedMappings
{
private static readonly Dictionary<LedId, (int row, int column)> MasterKeysL_US = new Dictionary<LedId, (int row, int column)>
{
{ LedId.Keyboard_Escape, (0,0) },
{ LedId.Keyboard_F1, (0,1) },
{ LedId.Keyboard_F2, (0,2) },
{ LedId.Keyboard_F3, (0,3) },
{ LedId.Keyboard_F4, (0,4) },
{ LedId.Keyboard_F5, (0,6) },
{ LedId.Keyboard_F6, (0,7) },
{ LedId.Keyboard_F7, (0,8) },
{ LedId.Keyboard_F8, (0,9) },
{ LedId.Keyboard_F9, (0,11) },
{ LedId.Keyboard_F10, (0,12) },
{ LedId.Keyboard_F11, (0,13) },
{ LedId.Keyboard_F12, (0,14) },
{ LedId.Keyboard_PrintScreen, (0,15) },
{ LedId.Keyboard_ScrollLock, (0,16) },
{ LedId.Keyboard_PauseBreak, (0,17) },
{ LedId.Keyboard_Programmable1, (0,18) },
{ LedId.Keyboard_Programmable2, (0,19) },
{ LedId.Keyboard_Programmable3, (0,20) },
{ LedId.Keyboard_Programmable4, (0,21) },
{ LedId.Keyboard_GraveAccentAndTilde, (1,0) },
{ LedId.Keyboard_1, (1,1) },
{ LedId.Keyboard_2, (1,2) },
{ LedId.Keyboard_3, (1,3) },
{ LedId.Keyboard_4, (1,4) },
{ LedId.Keyboard_5, (1,5) },
{ LedId.Keyboard_6, (1,6) },
{ LedId.Keyboard_7, (1,7) },
{ LedId.Keyboard_8, (1,8) },
{ LedId.Keyboard_9, (1,9) },
{ LedId.Keyboard_0, (1,10) },
{ LedId.Keyboard_MinusAndUnderscore, (1,11) },
{ LedId.Keyboard_EqualsAndPlus, (1,12) },
{ LedId.Keyboard_Backspace, (1,14) },
{ LedId.Keyboard_Insert, (1,15) },
{ LedId.Keyboard_Home, (1,16) },
{ LedId.Keyboard_PageUp, (1,17) },
{ LedId.Keyboard_NumLock, (1,18) },
{ LedId.Keyboard_NumSlash, (1,19) },
{ LedId.Keyboard_NumAsterisk, (1,20) },
{ LedId.Keyboard_NumMinus, (1,21) },
{ LedId.Keyboard_Tab, (2,0) },
{ LedId.Keyboard_Q, (2,1) },
{ LedId.Keyboard_W, (2,2) },
{ LedId.Keyboard_E, (2,3) },
{ LedId.Keyboard_R, (2,4) },
{ LedId.Keyboard_T, (2,5) },
{ LedId.Keyboard_Y, (2,6) },
{ LedId.Keyboard_U, (2,7) },
{ LedId.Keyboard_I, (2,8) },
{ LedId.Keyboard_O, (2,9) },
{ LedId.Keyboard_P, (2,10) },
{ LedId.Keyboard_BracketLeft, (2,11) },
{ LedId.Keyboard_BracketRight, (2,12) },
{ LedId.Keyboard_Backslash, (2,14) },
{ LedId.Keyboard_Delete, (2,15) },
{ LedId.Keyboard_End, (2,16) },
{ LedId.Keyboard_PageDown, (2,17) },
{ LedId.Keyboard_Num7, (2,18) },
{ LedId.Keyboard_Num8, (2,19) },
{ LedId.Keyboard_Num9, (2,20) },
{ LedId.Keyboard_NumPlus, (2,21) },
{ LedId.Keyboard_CapsLock, (3,0) },
{ LedId.Keyboard_A, (3,1) },
{ LedId.Keyboard_S, (3,2) },
{ LedId.Keyboard_D, (3,3) },
{ LedId.Keyboard_F, (3,4) },
{ LedId.Keyboard_G, (3,5) },
{ LedId.Keyboard_H, (3,6) },
{ LedId.Keyboard_J, (3,7) },
{ LedId.Keyboard_K, (3,8) },
{ LedId.Keyboard_L, (3,9) },
{ LedId.Keyboard_SemicolonAndColon, (3,10) },
{ LedId.Keyboard_ApostropheAndDoubleQuote, (3,11) },
{ LedId.Keyboard_Enter, (3,14) },
{ LedId.Keyboard_Num4, (3,18) },
{ LedId.Keyboard_Num5, (3,19) },
{ LedId.Keyboard_Num6, (3,20) },
{ LedId.Keyboard_LeftShift, (4,0) },
{ LedId.Keyboard_Z, (4,2) },
{ LedId.Keyboard_X, (4,3) },
{ LedId.Keyboard_C, (4,4) },
{ LedId.Keyboard_V, (4,5) },
{ LedId.Keyboard_B, (4,6) },
{ LedId.Keyboard_N, (4,7) },
{ LedId.Keyboard_M, (4,8) },
{ LedId.Keyboard_CommaAndLessThan, (4,9) },
{ LedId.Keyboard_PeriodAndBiggerThan, (4,10) },
{ LedId.Keyboard_SlashAndQuestionMark, (4,11) },
{ LedId.Keyboard_RightShift, (4,14) },
{ LedId.Keyboard_ArrowUp, (4,16) },
{ LedId.Keyboard_Num1, (4,18) },
{ LedId.Keyboard_Num2, (4,19) },
{ LedId.Keyboard_Num3, (4,20) },
{ LedId.Keyboard_NumEnter, (4,21) },
{ LedId.Keyboard_LeftCtrl, (5,0) },
{ LedId.Keyboard_LeftGui, (5,1) },
{ LedId.Keyboard_LeftAlt, (5,2) },
{ LedId.Keyboard_Space, (5,6) },
{ LedId.Keyboard_RightAlt, (5,10) },
{ LedId.Keyboard_RightGui, (5,11) },
{ LedId.Keyboard_Application, (5,12) },
{ LedId.Keyboard_RightCtrl, (5,14) },
{ LedId.Keyboard_ArrowLeft, (5,15) },
{ LedId.Keyboard_ArrowDown, (5,16) },
{ LedId.Keyboard_ArrowRight, (5,17) },
{ LedId.Keyboard_Num0, (5,18) },
{ LedId.Keyboard_NumPeriodAndDelete, (5,20) }
};
/// <summary>
/// Contains all the hardware-id mappings for CoolerMaster devices.
/// </summary>
public static readonly Dictionary<string, Dictionary<AsusPhysicalKeyboardLayout, Dictionary<LedId, uint>>> Mapping =
new Dictionary<string, Dictionary<AsusPhysicalKeyboardLayout, Dictionary<LedId, uint>>>
{
{ "", new Dictionary<AsusPhysicalKeyboardLayout, Dictionary<LedId, uint>>
{
{ AsusPhysicalKeyboardLayout.TODO, MasterKeysL_US }
}
},
};
}
}

View File

@ -59,7 +59,6 @@ namespace RGB.NET.Devices.Asus
/// <inheritdoc />
protected override object CreateLedCustomData(LedId ledId) => asusCode;
/// <inheritdoc />
private LedId AsusLedIdMapper(ushort asusKey)
{
switch (asusKey)