From 4b2ed1290f039a6fc050f06d83dc89e8836d29fa Mon Sep 17 00:00:00 2001 From: dakkar Date: Sun, 10 Feb 2019 11:02:08 +0000 Subject: more flexible / simpler color specification --- Model01-Firmware.ino | 63 +++++++++++++------------ keymap-wrapper.h | 45 ++---------------- keymaps.h | 130 +++++++++++++++++++++++++-------------------------- 3 files changed, 102 insertions(+), 136 deletions(-) diff --git a/Model01-Firmware.ino b/Model01-Firmware.ino index 21efc71..aac0431 100644 --- a/Model01-Firmware.ino +++ b/Model01-Firmware.ino @@ -134,21 +134,22 @@ enum { PRIMARY, NUMPAD, FUNCTION, FVWM }; // layers #define PRIMARY_KEYMAP_QWERTY // #define PRIMARY_KEYMAP_DVORAK +typedef enum { + Off, + Base, + Lnch, Wind, View, + Ms, MsB, MsW, + Func, + COLOR_COUNT, +} color_enum; + class DakkarColor: public kaleidoscope::plugin::LEDMode { public: - typedef enum { - OFF, - BASE, - LAUNCH, WINDOW, VIEWPORT, - MOUSE, MOUSE_BUTTON, MOUSE_WARP, - FUNCTION, - COUNT, - } color; - - DakkarColor(const cRGB _colors[], const color _map[][ROWS][COLS]) : colors(_colors), map(_map) { } + + DakkarColor(const cRGB _colors[], const color_enum _map[][ROWS][COLS]) : colors(_colors), map(_map) { } private: const cRGB *colors; - const color (*map)[ROWS][COLS]; + const color_enum (*map)[ROWS][COLS]; protected: void update(void) final { uint8_t layer = Layer.top(); @@ -165,30 +166,30 @@ protected: #include "keymap-wrapper.h" -static constexpr cRGB dark_colors[DakkarColor::COUNT] = +static constexpr cRGB dark_colors[COLOR_COUNT] = { - [DakkarColor::OFF] = CRGB(0,0,0), - [DakkarColor::BASE] = CRGB(0,0,0), - [DakkarColor::LAUNCH] = CRGB(0,0,150), - [DakkarColor::WINDOW] = CRGB(150,0,0), - [DakkarColor::VIEWPORT] = CRGB(0,150,0), - [DakkarColor::MOUSE] = CRGB(100,100,0), - [DakkarColor::MOUSE_BUTTON] = CRGB(50,0,50), - [DakkarColor::MOUSE_WARP] = CRGB(0,50,50), - [DakkarColor::FUNCTION] = CRGB(100,100,100), + [Off] = CRGB(0,0,0), + [Base] = CRGB(0,0,0), + [Lnch] = CRGB(0,0,150), + [Wind] = CRGB(150,0,0), + [View] = CRGB(0,150,0), + [Ms] = CRGB(100,100,0), + [MsB] = CRGB(50,0,50), + [MsW] = CRGB(0,50,50), + [Func] = CRGB(100,100,100), }; -static constexpr cRGB bright_colors[DakkarColor::COUNT] = +static constexpr cRGB bright_colors[COLOR_COUNT] = { - [DakkarColor::OFF] = CRGB(0,0,0), - [DakkarColor::BASE] = CRGB(50,50,50), - [DakkarColor::LAUNCH] = CRGB(0,0,100), - [DakkarColor::WINDOW] = CRGB(100,0,0), - [DakkarColor::VIEWPORT] = CRGB(0,100,0), - [DakkarColor::MOUSE] = CRGB(50,50,0), - [DakkarColor::MOUSE_BUTTON] = CRGB(30,0,30), - [DakkarColor::MOUSE_WARP] = CRGB(0,30,30), - [DakkarColor::FUNCTION] = CRGB(50,50,80), + [Off] = CRGB(0,0,0), + [Base] = CRGB(50,50,50), + [Lnch] = CRGB(0,0,100), + [Wind] = CRGB(100,0,0), + [View] = CRGB(0,100,0), + [Ms] = CRGB(50,50,0), + [MsB] = CRGB(30,0,30), + [MsW] = CRGB(0,30,30), + [Func] = CRGB(50,50,80), }; static DakkarColor DakkarColorDark(dark_colors,color_keymaps); diff --git a/keymap-wrapper.h b/keymap-wrapper.h index b39b669..71c7137 100644 --- a/keymap-wrapper.h +++ b/keymap-wrapper.h @@ -1,55 +1,20 @@ #pragma once -#define cOff(x) x -#define cBase(x) x -#define cLnch(x) x -#define cWind(x) x -#define cView(x) x -#define cMs(x) x -#define cMsW(x) x -#define cMsB(x) x -#define cFunc(x) x +#define CK(k,c) k #define ColorKeymaps(layers...) KEYMAPS(layers) #include "keymaps.h" - -#undef cOff -#undef cBase -#undef cLnch -#undef cWind -#undef cView -#undef cMs -#undef cMsW -#undef cMsB -#undef cFunc - +#undef CK #undef ColorKeymaps -#define cOff(x) DakkarColor::OFF -#define cBase(x) DakkarColor::BASE -#define cLnch(x) DakkarColor::LAUNCH -#define cWind(x) DakkarColor::WINDOW -#define cView(x) DakkarColor::VIEWPORT -#define cMs(x) DakkarColor::MOUSE -#define cMsW(x) DakkarColor::MOUSE_WARP -#define cMsB(x) DakkarColor::MOUSE_BUTTON -#define cFunc(x) DakkarColor::FUNCTION +#define CK(k,c) c #define ColorKeymaps(layers...) \ - static constexpr DakkarColor::color color_keymaps[][ROWS][COLS] = { layers }; + static constexpr color_enum color_keymaps[][ROWS][COLS] = { layers }; #include "keymaps.h" -#undef cOff -#undef cBase -#undef cLnch -#undef cWind -#undef cView -#undef cMs -#undef cMsW -#undef cMsB -#undef cFunc - +#undef CK #undef ColorKeymaps diff --git a/keymaps.h b/keymaps.h index 3fc57a4..defda8f 100644 --- a/keymaps.h +++ b/keymaps.h @@ -2,36 +2,36 @@ ColorKeymaps( #if defined (PRIMARY_KEYMAP_QWERTY) [PRIMARY] = KEYMAP_STACKED - (cBase(___), cBase(Key_1), cBase(Key_2), cBase(Key_3), cBase(Key_4), cBase(Key_5), cBase(Key_LEDEffectNext), - cBase(Key_Backtick), cBase(Key_Q), cBase(Key_W), cBase(Key_E), cBase(Key_R), cBase(Key_T), cBase(Key_Tab), - cBase(Key_PageUp), cBase(Key_A), cBase(Key_S), cBase(Key_D), cBase(Key_F), cBase(Key_G), - cBase(Key_PageDown), cBase(Key_Z), cBase(Key_X), cBase(Key_C), cBase(Key_V), cBase(Key_B), cBase(Key_Escape), - cBase(Key_LeftControl), cBase(Key_Backspace), cBase(Key_LeftGui), cBase(Key_LeftShift), - cBase(ShiftToLayer(FVWM)), - - cBase(M(MACRO_ANY)), cBase(Key_6), cBase(Key_7), cBase(Key_8), cBase(Key_9), cBase(Key_0), cBase(LockLayer(NUMPAD)), - cBase(Key_Enter), cBase(Key_Y), cBase(Key_U), cBase(Key_I), cBase(Key_O), cBase(Key_P), cBase(Key_Equals), - cBase(Key_H), cBase(Key_J), cBase(Key_K), cBase(Key_L), cBase(Key_Semicolon), cBase(Key_Quote), - cBase(Key_RightAlt), cBase(Key_N), cBase(Key_M), cBase(Key_Comma), cBase(Key_Period), cBase(Key_Slash), cBase(Key_Minus), - cBase(Key_RightShift), cBase(Key_LeftAlt), cBase(Key_Spacebar), cBase(Key_RightControl), - cBase(ShiftToLayer(FUNCTION))), + (CK(___,Base), CK(Key_1,Base), CK(Key_2,Base), CK(Key_3,Base), CK(Key_4,Base), CK(Key_5,Base), CK(Key_LEDEffectNext,Base), + CK(Key_Backtick,Base), CK(Key_Q,Base), CK(Key_W,Base), CK(Key_E,Base), CK(Key_R,Base), CK(Key_T,Base), CK(Key_Tab,Base), + CK(Key_PageUp,Base), CK(Key_A,Base), CK(Key_S,Base), CK(Key_D,Base), CK(Key_F,Base), CK(Key_G,Base), + CK(Key_PageDown,Base), CK(Key_Z,Base), CK(Key_X,Base), CK(Key_C,Base), CK(Key_V,Base), CK(Key_B,Base), CK(Key_Escape,Base), + CK(Key_LeftControl,Base), CK(Key_Backspace,Base), CK(Key_LeftGui,Base), CK(Key_LeftShift,Base), + CK(ShiftToLayer(FVWM),Base), + + CK(M(MACRO_ANY),Base), CK(Key_6,Base), CK(Key_7,Base), CK(Key_8,Base), CK(Key_9,Base), CK(Key_0,Base), CK(LockLayer(NUMPAD),Base), + CK(Key_Enter,Base), CK(Key_Y,Base), CK(Key_U,Base), CK(Key_I,Base), CK(Key_O,Base), CK(Key_P,Base), CK(Key_Equals,Base), + CK(Key_H,Base), CK(Key_J,Base), CK(Key_K,Base), CK(Key_L,Base), CK(Key_Semicolon,Base), CK(Key_Quote,Base), + CK(Key_RightAlt,Base), CK(Key_N,Base), CK(Key_M,Base), CK(Key_Comma,Base), CK(Key_Period,Base), CK(Key_Slash,Base), CK(Key_Minus,Base), + CK(Key_RightShift,Base), CK(Key_LeftAlt,Base), CK(Key_Spacebar,Base), CK(Key_RightControl,Base), + CK(ShiftToLayer(FUNCTION),Base)), #elif defined (PRIMARY_KEYMAP_DVORAK) [PRIMARY] = KEYMAP_STACKED - (cBase(___), cBase(Key_1), cBase(Key_2), cBase(Key_3), cBase(Key_4), cBase(Key_5), cBase(Key_LEDEffectNext), - cBase(Key_Backtick), cBase(Key_Quote), cBase(Key_Comma), cBase(Key_Period), cBase(Key_P), cBase(Key_Y), cBase(Key_Tab), - cBase(Key_PageUp), cBase(Key_A), cBase(Key_O), cBase(Key_E), cBase(Key_U), cBase(Key_I), - cBase(Key_PageDown), cBase(Key_Semicolon), cBase(Key_Q), cBase(Key_J), cBase(Key_K), cBase(Key_X), cBase(Key_Escape), - cBase(Key_LeftControl), cBase(Key_Backspace), cBase(Key_LeftGui), cBase(Key_LeftShift), - cBase(ShiftToLayer(FVWM)), - - cBase(M(MACRO_ANY)), cBase(Key_6), cBase(Key_7), cBase(Key_8), cBase(Key_9), cBase(Key_0), cBase(LockLayer(NUMPAD)), - cBase(Key_Enter), cBase(Key_F), cBase(Key_G), cBase(Key_C), cBase(Key_R), cBase(Key_L), cBase(Key_Slash), - cBase(Key_D), cBase(Key_H), cBase(Key_T), cBase(Key_N), cBase(Key_S), cBase(Key_Minus), - cBase(Key_RightAlt), cBase(Key_B), cBase(Key_M), cBase(Key_W), cBase(Key_V), cBase(Key_Z), cBase(Key_Equals), - cBase(Key_RightShift), cBase(Key_LeftAlt), cBase(Key_Spacebar), cBase(Key_RightControl), - cBase(ShiftToLayer(FUNCTION))), + (CK(___,Base), CK(Key_1,Base), CK(Key_2,Base), CK(Key_3,Base), CK(Key_4,Base), CK(Key_5,Base), CK(Key_LEDEffectNext,Base), + CK(Key_Backtick,Base), CK(Key_Quote,Base), CK(Key_Comma,Base), CK(Key_Period,Base), CK(Key_P,Base), CK(Key_Y,Base), CK(Key_Tab,Base), + CK(Key_PageUp,Base), CK(Key_A,Base), CK(Key_O,Base), CK(Key_E,Base), CK(Key_U,Base), CK(Key_I,Base), + CK(Key_PageDown,Base), CK(Key_Semicolon,Base), CK(Key_Q,Base), CK(Key_J,Base), CK(Key_K,Base), CK(Key_X,Base), CK(Key_Escape,Base), + CK(Key_LeftControl,Base), CK(Key_Backspace,Base), CK(Key_LeftGui,Base), CK(Key_LeftShift,Base), + CK(ShiftToLayer(FVWM),Base), + + CK(M(MACRO_ANY),Base), CK(Key_6,Base), CK(Key_7,Base), CK(Key_8,Base), CK(Key_9,Base), CK(Key_0,Base), CK(LockLayer(NUMPAD),Base), + CK(Key_Enter,Base), CK(Key_F,Base), CK(Key_G,Base), CK(Key_C,Base), CK(Key_R,Base), CK(Key_L,Base), CK(Key_Slash,Base), + CK(Key_D,Base), CK(Key_H,Base), CK(Key_T,Base), CK(Key_N,Base), CK(Key_S,Base), CK(Key_Minus,Base), + CK(Key_RightAlt,Base), CK(Key_B,Base), CK(Key_M,Base), CK(Key_W,Base), CK(Key_V,Base), CK(Key_Z,Base), CK(Key_Equals,Base), + CK(Key_RightShift,Base), CK(Key_LeftAlt,Base), CK(Key_Spacebar,Base), CK(Key_RightControl,Base), + CK(ShiftToLayer(FUNCTION),Base)), #else @@ -42,47 +42,47 @@ ColorKeymaps( [NUMPAD] = KEYMAP_STACKED - (cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(___), - cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), - cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), - cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), - cOff(___), cOff(___), cOff(___), cOff(___), - cOff(___), - - cBase(M(MACRO_VERSION_INFO)), cOff(XXX), cBase(Key_Keypad7), cBase(Key_Keypad8), cBase(Key_Keypad9), cBase(Key_KeypadSubtract), cOff(___), - cOff(XXX), cOff(XXX), cBase(Key_Keypad4), cBase(Key_Keypad5), cBase(Key_Keypad6), cBase(Key_KeypadAdd), cOff(XXX), - cOff(XXX), cBase(Key_Keypad1), cBase(Key_Keypad2), cBase(Key_Keypad3), cBase(Key_Equals), cOff(XXX), - cOff(XXX), cOff(XXX), cBase(Key_Keypad0), cBase(Key_KeypadDot), cBase(Key_KeypadMultiply), cBase(Key_KeypadDivide), cBase(Key_Enter), - cOff(___), cOff(___), cOff(___), cOff(___), - cOff(___)), + (CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(___,Off), + CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), + CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), + CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), + CK(___,Off), CK(___,Off), CK(___,Off), CK(___,Off), + CK(___,Off), + + CK(M(MACRO_VERSION_INFO),Base), CK(XXX,Off), CK(Key_Keypad7,Base), CK(Key_Keypad8,Base), CK(Key_Keypad9,Base), CK(Key_KeypadSubtract,Base), CK(___,Off), + CK(XXX,Off), CK(XXX,Off), CK(Key_Keypad4,Base), CK(Key_Keypad5,Base), CK(Key_Keypad6,Base), CK(Key_KeypadAdd,Base), CK(XXX,Off), + CK(XXX,Off), CK(Key_Keypad1,Base), CK(Key_Keypad2,Base), CK(Key_Keypad3,Base), CK(Key_Equals,Base), CK(XXX,Off), + CK(XXX,Off), CK(XXX,Off), CK(Key_Keypad0,Base), CK(Key_KeypadDot,Base), CK(Key_KeypadMultiply,Base), CK(Key_KeypadDivide,Base), CK(Key_Enter,Base), + CK(___,Off), CK(___,Off), CK(___,Off), CK(___,Off), + CK(___,Off)), [FUNCTION] = KEYMAP_STACKED - (cOff(XXX), cFunc(Key_F1), cFunc(Key_F2), cFunc(Key_F3), cFunc(Key_F4), cFunc(Key_F5), cFunc(Key_CapsLock), - cFunc(Key_Tab), cOff(XXX), cMs(Key_mouseUp), cOff(XXX), cMsB(Key_mouseBtnR), cMsW(Key_mouseWarpEnd), cMsW(Key_mouseWarpNE), - cFunc(Key_Home), cMs(Key_mouseL), cMs(Key_mouseDn), cMs(Key_mouseR), cMsB(Key_mouseBtnL), cMsW(Key_mouseWarpNW), - cFunc(Key_End), cFunc(Key_PrintScreen), cFunc(Key_Insert), cOff(XXX), cMsB(Key_mouseBtnM), cMsW(Key_mouseWarpSW), cMsW(Key_mouseWarpSE), - cOff(___), cFunc(Key_Delete), cOff(___), cOff(___), - cOff(___), - - cOff(XXX), cFunc(Key_F6), cFunc(Key_F7), cFunc(Key_F8), cFunc(Key_F9), cFunc(Key_F10), cFunc(Key_F11), - cOff(XXX), cOff(XXX), cFunc(Key_LeftCurlyBracket), cFunc(Key_RightCurlyBracket), cFunc(Key_LeftBracket), cFunc(Key_RightBracket), cFunc(Key_F12), - cFunc(Key_LeftArrow), cFunc(Key_DownArrow), cFunc(Key_UpArrow), cFunc(Key_RightArrow), cOff(XXX), cOff(XXX), - cFunc(Key_PcApplication), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cFunc(Key_Backslash), cFunc(Key_Pipe), - cOff(___), cOff(___), cFunc(Key_Enter), cOff(___), - cOff(___)), + (CK(XXX,Off), CK(Key_F1,Func), CK(Key_F2,Func), CK(Key_F3,Func), CK(Key_F4,Func), CK(Key_F5,Func), CK(Key_CapsLock,Func), + CK(Key_Tab,Func), CK(XXX,Off), CK(Key_mouseUp,Ms), CK(XXX,Off), CK(Key_mouseBtnR,MsB), CK(Key_mouseWarpEnd,MsW), CK(Key_mouseWarpNE,MsW), + CK(Key_Home,Func), CK(Key_mouseL,Ms), CK(Key_mouseDn,Ms), CK(Key_mouseR,Ms), CK(Key_mouseBtnL,MsB), CK(Key_mouseWarpNW,MsW), + CK(Key_End,Func), CK(Key_PrintScreen,Func), CK(Key_Insert,Func), CK(XXX,Off), CK(Key_mouseBtnM,MsB), CK(Key_mouseWarpSW,MsW), CK(Key_mouseWarpSE,MsW), + CK(___,Off), CK(Key_Delete,Func), CK(___,Off), CK(___,Off), + CK(___,Off), + + CK(XXX,Off), CK(Key_F6,Func), CK(Key_F7,Func), CK(Key_F8,Func), CK(Key_F9,Func), CK(Key_F10,Func), CK(Key_F11,Func), + CK(XXX,Off), CK(XXX,Off), CK(Key_LeftCurlyBracket,Func), CK(Key_RightCurlyBracket,Func), CK(Key_LeftBracket,Func), CK(Key_RightBracket,Func), CK(Key_F12,Func), + CK(Key_LeftArrow,Func), CK(Key_DownArrow,Func), CK(Key_UpArrow,Func), CK(Key_RightArrow,Func), CK(XXX,Off), CK(XXX,Off), + CK(Key_PcApplication,Func), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(Key_Backslash,Func), CK(Key_Pipe,Func), + CK(___,Off), CK(___,Off), CK(Key_Enter,Func), CK(___,Off), + CK(___,Off)), [FVWM] = KEYMAP_STACKED - (cOff(XXX), cLnch(Key_BacklightDown), cLnch(Key_BacklightUp), cLnch(LALT(Key_F1)), cLnch(LALT(Key_F2)), cOff(XXX), cOff(___), - cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), - cOff(XXX), cOff(XXX), cWind(LALT(Key_Keypad4)), cWind(LALT(Key_Keypad2)), cWind(LALT(Key_Keypad8)), cWind(LALT(Key_Keypad6)), - cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cWind(LALT(Key_KeypadMultiply)), - cOff(___), cLnch(LALT(Key_Backtick)), cLnch(LSHIFT(LALT(Key_Backtick))), cOff(___), - cOff(___), - - cOff(XXX), cLnch(Consumer_Mute), cLnch(Consumer_VolumeDecrement), cLnch(Consumer_VolumeIncrement), cOff(XXX), cLnch(Consumer_Eject), cOff(___), - cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cWind(LSHIFT(LALT(Key_KeypadDivide))), - cView(LALT(Key_LeftArrow)), cView(LALT(Key_DownArrow)), cView(LALT(Key_UpArrow)), cView(LALT(Key_RightArrow)), cOff(XXX), cWind(LSHIFT(LALT(Key_KeypadEnter))), - cLnch(LALT(Key_Pause)), cOff(XXX), cOff(XXX), cOff(XXX), cOff(XXX), cWind(LALT(Key_M)), cWind(LSHIFT(LALT(Key_KeypadDot))), - cOff(___), cOff(___), cOff(___), cOff(___), - cOff(___)) + (CK(XXX,Off), CK(Key_BacklightDown,Lnch), CK(Key_BacklightUp,Lnch), CK(LALT(Key_F1),Lnch), CK(LALT(Key_F2),Lnch), CK(XXX,Off), CK(___,Off), + CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), + CK(XXX,Off), CK(XXX,Off), CK(LALT(Key_Keypad4),Wind), CK(LALT(Key_Keypad2),Wind), CK(LALT(Key_Keypad8),Wind), CK(LALT(Key_Keypad6),Wind), + CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(LALT(Key_KeypadMultiply),Wind), + CK(___,Off), CK(LALT(Key_Backtick),Lnch), CK(LSHIFT(LALT(Key_Backtick)),Lnch), CK(___,Off), + CK(___,Off), + + CK(XXX,Off), CK(Consumer_Mute,Lnch), CK(Consumer_VolumeDecrement,Lnch), CK(Consumer_VolumeIncrement,Lnch), CK(XXX,Off), CK(Consumer_Eject,Lnch), CK(___,Off), + CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(LSHIFT(LALT(Key_KeypadDivide)),Wind), + CK(LALT(Key_LeftArrow),View), CK(LALT(Key_DownArrow),View), CK(LALT(Key_UpArrow),View), CK(LALT(Key_RightArrow),View), CK(XXX,Off), CK(LSHIFT(LALT(Key_KeypadEnter)),Wind), + CK(LALT(Key_Pause),Lnch), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(XXX,Off), CK(LALT(Key_M),Wind), CK(LSHIFT(LALT(Key_KeypadDot)),Wind), + CK(___,Off), CK(___,Off), CK(___,Off), CK(___,Off), + CK(___,Off)) ); -- cgit v1.2.3