diff --git a/src/board/system76/galp3-c/include/board/keymap.h b/src/board/system76/galp3-c/include/board/keymap.h index bd1b763..9892796 100644 --- a/src/board/system76/galp3-c/include/board/keymap.h +++ b/src/board/system76/galp3-c/include/board/keymap.h @@ -5,18 +5,17 @@ #define ___ 0 -// TODO: Conversion of physical layout to keyboard matrix +// Conversion of physical layout to keyboard matrix #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 \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \ + K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A \ ) { \ { ___, ___, ___, ___, ___, ___, K52, ___ }, \ - { ___, ___, ___, ___, ___, ___, K50, K56 }, \ + { ___, ___, ___, ___, ___, ___, K50, K57 }, \ { ___, ___, ___, ___, ___, ___, K53, K55 }, \ { ___, ___, ___, ___, ___, ___, K40, K4B }, \ { K42, K41, K30, K31, K20, ___, K54, K21 }, \ @@ -26,11 +25,11 @@ { 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 }, \ + { ___, K4C, 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 } \ + { ___, ___, K0D, K2C, K1C, K5A, K0E, K0B }, \ + { ___, K2D, K58, K1D, K2E, K0F, K1E, K0G }, \ + { K56, ___, K3C, ___, K59, K0C, K4D, K3D } \ } // Keymap output pins (16 for galago, 18 for darter) @@ -41,7 +40,7 @@ #define KM_LAY 2 // Keymap -extern uint16_t __code KEYMAP[KM_OUT][KM_IN][KM_LAY]; +extern uint16_t __code KEYMAP[KM_LAY][KM_OUT][KM_IN]; // Get a keycode from the keymap uint16_t keymap(int output, int input, int layer); diff --git a/src/board/system76/galp3-c/keymap.c b/src/board/system76/galp3-c/keymap.c index 8e57998..74445e5 100644 --- a/src/board/system76/galp3-c/keymap.c +++ b/src/board/system76/galp3-c/keymap.c @@ -3,7 +3,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; } diff --git a/src/board/system76/galp3-c/keymap/default.c b/src/board/system76/galp3-c/keymap/default.c index bf90a77..d7c48fa 100644 --- a/src/board/system76/galp3-c/keymap/default.c +++ b/src/board/system76/galp3-c/keymap/default.c @@ -2,167 +2,21 @@ #include -#define K(V) {V, V} - -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(0 /* TODO: PrtSc/SysRq */), // 2 - K(K_BRACE_CLOSE), // 3 - K(K_EQUALS), // 4 - K(K_RIGHT), // 5 - K(0 /* TODO: Pause/Break */), // 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(K_INSERT), // 5 - K(K_HOME), // 6 - K(K_DEL), // 7 - }, - { // 15 - K(K_APP), // 0 - K(0), // 1 - K(K_ENTER), // 2 - K(0), // 3 - K(K_DOWN), // 4 - {K_F12, KT_SCI | SCI_SUSPEND}, // 5 - K(K_END), // 6 - K(K_PGDN), // 7 - }, +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, 0 /*prtsc*/, 0 /* pause */, K_INSERT, 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_HOME, + 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_PGUP, + 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_PGDN, + 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_UP, K_END, + K_LEFT_CTRL, KT_FN, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_APP, K_RIGHT_CTRL, 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, 0 /*prtsc*/, 0 /*pause*/, K_INSERT, 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_HOME, + 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_PGUP, + 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_PGDN, + 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_UP, K_END, + K_LEFT_CTRL, KT_FN, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_APP, K_RIGHT_CTRL, K_LEFT, K_DOWN, K_RIGHT +) }; diff --git a/src/board/system76/galp3-c/keymap/jeremy.c b/src/board/system76/galp3-c/keymap/jeremy.c index 915827d..9046c14 100644 --- a/src/board/system76/galp3-c/keymap/jeremy.c +++ b/src/board/system76/galp3-c/keymap/jeremy.c @@ -2,167 +2,21 @@ #include -#define K(V) {V, V} - -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_ALT), // 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_SUPER), // 6 - K(KT_FN), // 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(KT_FN), // 2 - K(K_A), // 3 - K(K_TAB), // 4 - K(0), // 5 - {K_SPACE, K_BKSP}, // 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_N, K_END}, // 1 - {K_H, K_LEFT}, // 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_I, K_HOME}, // 0 - K(K_M), // 1 - {K_U, K_PGUP}, // 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_J, K_DOWN}, // 1 - {K_K, K_UP}, // 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_L, K_RIGHT}, // 2 - {K_O, K_PGDN}, // 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_SEMICOLON, K_ESC}, // 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_QUOTE, K_DEL}, // 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(0 /* TODO: PrtSc/SysRq */), // 2 - K(K_BRACE_CLOSE), // 3 - K(K_EQUALS), // 4 - K(K_RIGHT), // 5 - K(0 /* TODO: Pause/Break */), // 6 - {K_F11, KT_SCI | SCI_AIRPLANE_MODE}, // 7 - }, - { // 14 - K(0), // 0 - K(K_BACKSLASH), // 1 - K(K_LEFT), // 2 - {K_BKSP, K_DEL}, // 3 - K(K_PGUP), // 4 - K(K_INSERT), // 5 - K(K_HOME), // 6 - K(K_DEL), // 7 - }, - { // 15 - K(K_RIGHT_SUPER), // 0 - K(0), // 1 - K(K_ENTER), // 2 - K(0), // 3 - K(K_DOWN), // 4 - {K_F12, KT_SCI | SCI_SUSPEND}, // 5 - K(K_END), // 6 - K(K_PGDN), // 7 - }, +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, 0 /*prtsc*/, 0 /* pause */, K_INSERT, 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_HOME, + 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_PGUP, + KT_FN, 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_PGDN, + 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_UP, K_END, + K_LEFT_CTRL, KT_FN, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, KT_FN, K_RIGHT_ALT, K_RIGHT_CTRL, 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, 0 /*prtsc*/, 0 /*pause*/, K_INSERT, 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_HOME, + K_TAB, K_Q, K_W, K_E, K_R, K_T, K_Y, K_PGUP, K_HOME, K_PGDN, K_P, K_BRACE_OPEN, K_BRACE_CLOSE, K_BACKSLASH, K_PGUP, + KT_FN, K_A, K_S, K_D, K_F, K_G, K_LEFT, K_DOWN, K_UP, K_RIGHT, K_BKSP, K_DEL, K_ENTER, K_PGDN, + K_LEFT_SHIFT, K_Z, K_X, K_C, K_V, K_B, K_END, K_M, K_COMMA, K_PERIOD, K_SLASH, K_RIGHT_SHIFT, K_UP, K_END, + K_LEFT_CTRL, KT_FN, K_LEFT_ALT, K_LEFT_SUPER, K_ESC, KT_FN, K_RIGHT_ALT, K_RIGHT_CTRL, K_LEFT, K_DOWN, K_RIGHT +) };