aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2019-02-10 11:02:08 +0000
committerdakkar <dakkar@thenautilus.net>2019-02-10 11:02:08 +0000
commit4b2ed1290f039a6fc050f06d83dc89e8836d29fa (patch)
tree217f0d3dc4b63fdc181b019055690a640c1aebf7
parentremove plugins I'm replacing (diff)
downloadkeyboardio-model01-4b2ed1290f039a6fc050f06d83dc89e8836d29fa.tar.gz
keyboardio-model01-4b2ed1290f039a6fc050f06d83dc89e8836d29fa.tar.bz2
keyboardio-model01-4b2ed1290f039a6fc050f06d83dc89e8836d29fa.zip
more flexible / simpler color specification
-rw-r--r--Model01-Firmware.ino63
-rw-r--r--keymap-wrapper.h45
-rw-r--r--keymaps.h130
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))
);