Use QMK style layout macro

This commit is contained in:
Jeremy Soller 2020-01-12 09:12:52 -07:00
parent 8bc24fb8de
commit a49e3f791b
No known key found for this signature in database
GPG Key ID: E988B49EE78A7FB1
2 changed files with 48 additions and 163 deletions

View File

@ -6,7 +6,7 @@
uint16_t keymap(int output, int input, int layer) {
if (output < KM_OUT && input < KM_IN && layer < KM_LAY) {
return KEYMAP[output][input][layer];
return KEYMAP[layer][output][input];
} else {
return 0;
}

View File

@ -1,166 +1,51 @@
// Default layout
#define K(V) {V, V}
#define ___ 0
uint16_t __code KEYMAP[KM_OUT][KM_IN][KM_LAY] = {
{ // 0
K(0), // 0
K(0), // 1
K(0), // 2
K(0), // 3
K(0), // 4
K(0), // 5
K(K_LEFT_SUPER), // 6
K(0), // 7
},
{ // 1
K(0), // 0
K(0), // 1
K(0), // 2
K(0), // 3
K(0), // 4
K(0), // 5
K(K_LEFT_CTRL), // 6
K(K_RIGHT_CTRL), // 7
},
{ // 2
K(0), // 0
K(0), // 1
K(0), // 2
K(0), // 3
K(0), // 4
K(0), // 5
K(K_LEFT_ALT), // 6
K(K_RIGHT_ALT), // 7
},
{ // 3
K(0), // 0
K(0), // 1
K(0), // 2
K(0), // 3
K(0), // 4
K(0), // 5
K(K_LEFT_SHIFT), // 6
K(K_RIGHT_SHIFT), // 7
},
{ // 4
K(K_X), // 0
K(K_Z), // 1
K(K_CAPS), // 2
K(K_A), // 3
K(K_TAB), // 4
K(0), // 5
K(K_SPACE), // 6
K(K_Q), // 7
},
{ // 5
K(K_V), // 0
K(K_C), // 1
K(0), // 2
K(K_D), // 3
K(0), // 4
K(0), // 5
K(0), // 6
K(K_E), // 7
},
{ // 6
K(KT_FN), // 0
K(K_B), // 1
K(K_F), // 2
K(K_G), // 3
K(K_R), // 4
K(K_T), // 5
K(0), // 6
K(0), // 7
},
{ // 7
K(0), // 0
K(K_N), // 1
K(K_H), // 2
K(K_Y), // 3
K(K_2), // 4
K(K_1), // 5
{K_TICK, K_PLAY_PAUSE}, // 6
K(K_ESC), // 7
},
{ // 8
K(K_I), // 0
K(K_M), // 1
K(K_U), // 2
K(K_5), // 3
K(K_4), // 4
K(K_3), // 5
K(K_F2), // 6
{K_F1, K_TOUCHPAD}, // 7
},
{ // 9
K(K_W), // 0
K(K_J), // 1
K(K_K), // 2
K(0), // 3
K(K_7), // 4
K(K_6), // 5
K(K_F4), // 6
{K_F3, K_MUTE}, // 7
},
{ // 10
K(K_S), // 0
K(K_COMMA), // 1
K(K_L), // 2
K(K_O), // 3
K(K_9), // 4
K(K_8), // 5
{K_F6, K_VOLUME_UP}, // 6
{K_F5, K_VOLUME_DOWN}, // 7
},
{ // 11
K(0), // 0
K(K_UP), // 1
K(K_PERIOD), // 2
K(K_SEMICOLON), // 3
K(K_P), // 4
K(K_0), // 5
{K_F8, KT_SCI | SCI_BRIGHTNESS_DOWN}, // 6
K(K_F7), // 7
},
{ // 12
K(0), // 0
K(0), // 1
K(K_SLASH), // 2
K(K_QUOTE), // 3
K(K_BRACE_OPEN), // 4
K(K_MINUS), // 5
K(K_F10), // 6
{K_F9, KT_SCI | SCI_BRIGHTNESS_UP}, // 7
},
{ // 13
K(0), // 0
K(0), // 1
K(K_HOME), // 2
K(K_BRACE_CLOSE), // 3
K(K_EQUALS), // 4
K(K_RIGHT), // 5
K(K_END), // 6
{K_F11, KT_SCI | SCI_AIRPLANE_MODE}, // 7
},
{ // 14
K(0), // 0
K(K_BACKSLASH), // 1
K(K_LEFT), // 2
K(K_BKSP), // 3
K(K_PGUP), // 4
K(0/* TODO K_PRTSC */), // 5
K(0), // 6
K(K_DEL), // 7
},
{ // 15
K(0), // 0
K(0), // 1
K(K_ENTER), // 2
K(0), // 3
K(K_DOWN), // 4
{K_F12, KT_SCI | SCI_SUSPEND}, // 5
K(0), // 6
K(K_PGDN), // 7
},
#define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, \
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, \
K60, K61, K62 \
) { \
{ ___, ___, ___, ___, ___, ___, K52, ___ }, \
{ ___, ___, ___, ___, ___, ___, K50, K56 }, \
{ ___, ___, ___, ___, ___, ___, K53, K55 }, \
{ ___, ___, ___, ___, ___, ___, K40, K4B }, \
{ K42, K41, K30, K31, K20, ___, K54, K21 }, \
{ K44, K43, ___, K33, ___, ___, ___, K23 }, \
{ K51, K45, K34, K35, K24, K25, ___, ___ }, \
{ ___, K46, K36, K26, K12, K11, K10, K00 }, \
{ K28, K47, K27, K15, K14, K13, K02, K01 }, \
{ K22, K37, K38, ___, K17, K16, K04, K03 }, \
{ K32, K48, K39, K29, K19, K18, K06, K05 }, \
{ ___, K58, K49, K3A, K2A, K1A, K08, K07 }, \
{ ___, ___, K4A, K3B, K2B, K1B, K0A, K09 }, \
{ ___, ___, K0D, K2C, K1C, K62, K0E, K0B }, \
{ ___, K2D, K60, K1D, K57, K0F, ___, K0G }, \
{ ___, ___, K3C, ___, K61, K0C, ___, K59 } \
}
uint16_t __code KEYMAP[KM_LAY][KM_OUT][KM_IN] = {
LAYOUT(
K_ESC, K_F1, K_F2, K_F3, K_F4, K_F5, K_F6, K_F7, K_F8, K_F9, K_F10, K_F11, K_F12, K_HOME, K_END, 0 /*prtsc*/, K_DEL,
K_TICK, K_1, K_2, K_3, K_4, K_5, K_6, K_7, K_8, K_9, K_0, K_MINUS, K_EQUALS, K_BKSP,
K_TAB, K_Q, K_W, K_E, K_R, K_T, K_Y, K_U, K_I, K_O, K_P, K_BRACE_OPEN, K_BRACE_CLOSE, K_BACKSLASH,
K_CAPS, K_A, K_S, K_D, K_F, K_G, K_H, K_J, K_K, K_L, K_SEMICOLON, K_QUOTE, K_ENTER,
K_LEFT_SHIFT, K_Z, K_X, K_C, K_V, K_B, K_N, K_M, K_COMMA, K_PERIOD, K_SLASH, K_RIGHT_SHIFT,
K_LEFT_CTRL, KT_FN, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_RIGHT_CTRL, K_PGUP, K_UP, K_PGDN,
K_LEFT, K_DOWN, K_RIGHT
),
LAYOUT(
K_ESC, K_TOUCHPAD, K_F2, K_MUTE, K_F4, K_VOLUME_DOWN, K_VOLUME_UP, K_F7, KT_SCI | SCI_BRIGHTNESS_DOWN, KT_SCI | SCI_BRIGHTNESS_UP, K_F10, KT_SCI | SCI_AIRPLANE_MODE, KT_SCI | SCI_SUSPEND, K_HOME, K_END, 0 /*prtsc*/, K_DEL,
K_PLAY_PAUSE, K_1, K_2, K_3, K_4, K_5, K_6, K_7, K_8, K_9, K_0, K_MINUS, K_EQUALS, K_BKSP,
K_TAB, K_Q, K_W, K_E, K_R, K_T, K_Y, K_U, K_I, K_O, K_P, K_BRACE_OPEN, K_BRACE_CLOSE, K_BACKSLASH,
K_CAPS, K_A, K_S, K_D, K_F, K_G, K_H, K_J, K_K, K_L, K_SEMICOLON, K_QUOTE, K_ENTER,
K_LEFT_SHIFT, K_Z, K_X, K_C, K_V, K_B, K_N, K_M, K_COMMA, K_PERIOD, K_SLASH, K_RIGHT_SHIFT,
K_LEFT_CTRL, KT_FN, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_RIGHT_CTRL, K_PGUP, K_UP, K_PGDN,
K_LEFT, K_DOWN, K_RIGHT
)
};