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))),
#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))),
#else
#error "No default keymap defined. You should make sure that you have a line like '#define PRIMARY_KEYMAP_QWERTY' in your sketch"
#endif
[NUMPAD] = KEYMAP_STACKED
(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(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(XXX),
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(___)),
[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(___)),
[FVWM] = KEYMAP_STACKED
(cOff(XXX), cLnch(Key_BacklightDown), cLnch(Key_BacklightUp), cLnch(LALT(Key_F1)), cLnch(LALT(Key_F2)), cOff(XXX), cOff(XXX),
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(XXX),
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(___))
);