From 0f69706a739a0128c31f493476d69e1bbfa7a467 Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Wed, 10 May 2017 11:31:47 -0500 Subject: [PATCH] Finish converting ErgoDox keymap to QMK --- ergodox-infinity/keymap.c | 270 +++++++++++++++----------------------- 1 file changed, 107 insertions(+), 163 deletions(-) diff --git a/ergodox-infinity/keymap.c b/ergodox-infinity/keymap.c index 192d5e9..4cb7ccc 100644 --- a/ergodox-infinity/keymap.c +++ b/ergodox-infinity/keymap.c @@ -6,7 +6,7 @@ #define BASE 0 // default layer #define SYM1 1 // symbols 1 #define SYM2 2 // symbols 2 -#define MISC 3 // misc +#define MOUS 3 // mouse enum custom_keycodes { PLACEHOLDER = SAFE_RANGE, // can always be here @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, /* ^^ */ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LPRN, - KC_LCTL, KC_LCTL, KC_LALT, KC_LGUI, KC_FN2, + KC_LCTL, KC_LCTL, KC_LALT, KC_LGUI, MO(SYM2), // Thumb Cluster KC_VOLD, KC_APP, @@ -57,8 +57,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F12, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, /* ^^ */ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, R, - KC_FN1, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + KC_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + MO(SYM1),KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, // Thumb Cluster KC_INS, KC_VOLU, @@ -76,6 +76,55 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | Escape | F1 | F2 | F3 | F4 | F5 |------| |------| F6 | - | = | [ | ] | \ | * |--------+------+------+------+------+------| < | | > |------+------+------+------+------+--------| + * | LShift | F7 | F8 | F9 | F10 | F11 | | | | F12 | Ins | , | . | / | Enter | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | Ctrl | Ctrl | Alt | Meta | () | | () | Left | Down | Up | Right | + * `----------------------------------' `------------------------------------' + * ,-------------. ,-------------. + * | Vol- | Menu | | Ins | Vol+ | + * ,------+------+------| |------+------+------. + * | | | Home | | End | | | + * | Spce | Back |------| |------| Enter| Spce | + * | | | FLSH | | FLSH | | | + * `--------------------' `--------------------' + */ + +[SYM1] = KEYMAP( + + // Left Hand + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_F11, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LCBR, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, /* ^^ */ + KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LABK, + KC_LCTL, KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, + + // Thumb Cluster + KC_VOLD, KC_APP, + /* vv */ /* vv */ KC_HOME, + KC_SPC, KC_BSPC, RESET, + + // Right Hand + KC_F12, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + /* ^^ */ KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + KC_RABK, KC_F12, KC_INS, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + + // Thumb Cluster + KC_INS, KC_VOLU, + KC_END, /* vv */ /* vv */ + RESET, KC_ENT, KC_SPC + ), + +/* Layer 2: Symbols2 + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ` | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | Back | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | ~ | ! | @ | # | $ | % | { | | } | ^ | & | * | ( | ) | Back | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Escape | F1 | F2 | F3 | F4 | F5 |------| |------| F6 | _ | + | { | } | | | + * |--------+------+------+------+------+------| < | | > |------+------+------+------+------+--------| * | LShift | F7 | F8 | F9 | F10 | F11 | | | | F12 | Ins | < | > | / | Enter | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | Ctrl | Ctrl | Alt | Meta | () | | () | Left | Down | Up | Right | @@ -85,173 +134,87 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,------+------+------| |------+------+------. * | | | Home | | End | | | * | Spce | Back |------| |------| Enter| Spce | - * | | | NmLk | | Prnt | | | + * | | | FLSH | | FLSH | | | * `--------------------' `--------------------' */ -[BASE] = KEYMAP( +[SYM2] = KEYMAP( // Left Hand - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F11, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, /* ^^ */ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LPRN, - KC_LCTL, KC_LCTL, KC_LALT, KC_LGUI, KC_FN2, + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LCBR, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, /* ^^ */ + KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_LABK, + KC_LCTL, KC_LCTL, KC_LALT, KC_LGUI, KC_TRNS, // Thumb Cluster KC_VOLD, KC_APP, /* vv */ /* vv */ KC_HOME, - KC_SPC, KC_BSPC, KC_NLCK, + KC_SPC, KC_BSPC, RESET, // Right Hand - KC_F12, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - /* ^^ */ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, R, - KC_FN1, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, + KC_RCBR, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + /* ^^ */ KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, + KC_RABK, KC_F12, KC_INS, KC_LABK, KC_RABK, KC_QUES, KC_ENT, + KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, // Thumb Cluster KC_INS, KC_VOLU, KC_END, /* vv */ /* vv */ - KC_PSCR, KC_ENT, KC_SPC + RESET, KC_ENT, KC_SPC ), - - - -/* - * - * ,---------------------------------------------------. ,--------------------------------------------------. - * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | - * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | EPRM | | | | | | | . | 0 | = | | - * `-----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * |Animat| | |Toggle|Solid | - * ,------|------|------| |------+------+------. - * |Bright|Bright| | | |Hue- |Hue+ | - * |ness- |ness+ |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' -// SYMBOLS - -[SYMB] = KEYMAP( - // left hand - VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, - KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, - KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, - EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - RGB_MOD,KC_TRNS, - KC_TRNS, - RGB_VAD,RGB_VAI,KC_TRNS, - // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, - KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - RGB_TOG, RGB_SLD, - KC_TRNS, - KC_TRNS, RGB_HUD, RGB_HUI -), - - Keymap 2: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' -// MEDIA AND MOUSE - -[MDIA] = KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), }; -*/ -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) -}; +/* const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYM1), // FN1 - Momentary Layer 1 (Symbols1) + [2] = ACTION_LAYER_TAP_TOGGLE(SYM2) // FN2 - Momentary Layer 2 (Symbols2) +}; */ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - // MACRODOWN only works in this function - switch(id) { + // MACRODOWN only works in this function + switch(id) { case 0: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - break; + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + break; case 1: - if (record->event.pressed) { // For resetting EEPROM - eeconfig_init(); - } - break; - } + if (record->event.pressed) { // For resetting EEPROM + eeconfig_init(); + } + break; + } return MACRO_NONE; }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // dynamically generate these. - case EPRM: - if (record->event.pressed) { - eeconfig_init(); - } - return false; - break; - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - break; - case RGB_SLD: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode(1); - #endif - } - return false; - break; - } - return true; + switch (keycode) { + case EPRM: + if (record->event.pressed) { + eeconfig_init(); + } + return false; + break; + + case VRSN: + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + return false; + break; + + case RGB_SLD: + #ifdef RGBLIGHT_ENABLE + if (record->event.pressed) { + rgblight_mode(1); + } + #endif + return false; + break; + } + return true; } // Runs just one time when the keyboard initializes. @@ -263,23 +226,4 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - default: - // none - break; - } - };