diff options
| -rw-r--r-- | keyboards/ergodox/keymaps/dvorak_programmer/README.md | 7 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/dvorak_programmer/keymap.c | 54 |
2 files changed, 48 insertions, 13 deletions
diff --git a/keyboards/ergodox/keymaps/dvorak_programmer/README.md b/keyboards/ergodox/keymaps/dvorak_programmer/README.md index 3e4a2545b..54da74f7f 100644 --- a/keyboards/ergodox/keymaps/dvorak_programmer/README.md +++ b/keyboards/ergodox/keymaps/dvorak_programmer/README.md | |||
| @@ -7,18 +7,23 @@ Layers | |||
| 7 | ------ | 7 | ------ |
| 8 | 8 | ||
| 9 | * BASE: this is where you type. | 9 | * BASE: this is where you type. |
| 10 | * SHELL_LAYER: this is a permanent layer which I use when I don't need the F keys and gives me bash shortcuts on the top row. | ||
| 10 | * SHELL_NAV: hold down the Tab key to access shell/terminal navigation shorcuts such as forward/backward word, history, Ctrl+C, screen tab movement. | 11 | * SHELL_NAV: hold down the Tab key to access shell/terminal navigation shorcuts such as forward/backward word, history, Ctrl+C, screen tab movement. |
| 11 | * KEY_NAV: arrow key movement with backward/forward word support, and copy/paste. | 12 | * KEY_NAV: arrow key movement with backward/forward word support, and copy/paste. |
| 12 | * KEY_SEL: same as above, but every movement shift-selects. | 13 | * KEY_SEL: same as above, but every movement shift-selects. |
| 13 | * NUMBER: keypad layer. | 14 | * NUMBER: keypad layer. |
| 14 | * SYMBOL: all the symbols. | 15 | * SYMBOL: all the symbols. |
| 15 | * BRACKET: special brackets-only layer for programming | 16 | * BRACKET: special brackets-only layer for programming. Activated by pressing left capslock (OSL) |
| 16 | * SHORTCUTS: sends Hyper keys for Autohotkey to interpret. I use this to switch between specific apps. | 17 | * SHORTCUTS: sends Hyper keys for Autohotkey to interpret. I use this to switch between specific apps. |
| 17 | * MOUSE: use mouse keys | 18 | * MOUSE: use mouse keys |
| 18 | 19 | ||
| 19 | Updates | 20 | Updates |
| 20 | ------- | 21 | ------- |
| 21 | 22 | ||
| 23 | 2017/01/22: | ||
| 24 | * Made brackets toggle an OSL on the left capslock | ||
| 25 | * Added SHELL_LAYER | ||
| 26 | |||
| 22 | 2016/12/10: | 27 | 2016/12/10: |
| 23 | * toggle for brackets layer is now on left thumb cluster. | 28 | * toggle for brackets layer is now on left thumb cluster. |
| 24 | 29 | ||
diff --git a/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c b/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c index f3d02f688..7ed0c7f12 100644 --- a/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c +++ b/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c | |||
| @@ -6,7 +6,8 @@ | |||
| 6 | #include "action_code.h" | 6 | #include "action_code.h" |
| 7 | 7 | ||
| 8 | #define BASE 0 // default layer | 8 | #define BASE 0 // default layer |
| 9 | #define SHELL_NAV 1 | 9 | #define SHELL_LAYER 1 |
| 10 | #define SHELL_NAV 2 | ||
| 10 | #define KEY_NAV 3 // key navigation layer | 11 | #define KEY_NAV 3 // key navigation layer |
| 11 | #define KEY_SEL 4 // key selection layer | 12 | #define KEY_SEL 4 // key selection layer |
| 12 | #define NUMBER 5 // number layer | 13 | #define NUMBER 5 // number layer |
| @@ -58,12 +59,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 58 | [BASE] = KEYMAP( // layer 0 : default | 59 | [BASE] = KEYMAP( // layer 0 : default |
| 59 | // left hand | 60 | // left hand |
| 60 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, | 61 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, |
| 61 | LT(MOUSE,KC_TAB), KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, MO(KEY_SEL), | 62 | LT(SHELL_NAV,KC_TAB), KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, MO(KEY_SEL), |
| 62 | MO(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I, | 63 | OSL(BRACKETS), KC_A, KC_O, KC_E, KC_U, KC_I, |
| 63 | KC_FN3, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(KEY_NAV), | 64 | OSM(MOD_LSFT), KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(KEY_NAV), |
| 64 | OSL(SHORTCUTS),KC_FN4, KC_FN5,OSL(SYMBOL),MO(NUMBER), | 65 | OSL(SHORTCUTS),KC_FN4, KC_FN5,OSL(SYMBOL),MO(NUMBER), |
| 65 | // thumb cluster | 66 | // thumb cluster |
| 66 | MO(BRACKETS), RCTL(KC_S), | 67 | MO(MOUSE), RCTL(KC_S), |
| 67 | RCTL(KC_DEL), | 68 | RCTL(KC_DEL), |
| 68 | KC_BSPC,RCTL(KC_BSPC),KC_DEL, | 69 | KC_BSPC,RCTL(KC_BSPC),KC_DEL, |
| 69 | // right hand | 70 | // right hand |
| @@ -80,6 +81,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 80 | ), | 81 | ), |
| 81 | 82 | ||
| 82 | 83 | ||
| 84 | |||
| 85 | // permanent shell layer - meant to be used while in a terminal. only the top keys are overriden | ||
| 86 | [SHELL_LAYER] = KEYMAP( | ||
| 87 | // left hand | ||
| 88 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,LALT(KC_DOT),RCTL(KC_R),RCTL(KC_C), | ||
| 89 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | ||
| 90 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | ||
| 91 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | ||
| 92 | // bottom row | ||
| 93 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | ||
| 94 | // thumb cluster | ||
| 95 | KC_TRNS,KC_TRNS, | ||
| 96 | KC_TRNS, | ||
| 97 | KC_TRNS,KC_TRNS,KC_TRNS, | ||
| 98 | // right hand | ||
| 99 | RCTL(KC_W), LALT(KC_B),LALT(KC_F), KC_LEFT, KC_RIGHT, LALT(KC_D), KC_TRNS, | ||
| 100 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 101 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 102 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 103 | // bottom row | ||
| 104 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | ||
| 105 | // thumb cluster | ||
| 106 | KC_TRNS, KC_TRNS, | ||
| 107 | KC_TRNS, | ||
| 108 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 109 | ), | ||
| 110 | |||
| 83 | // shell navigation layer | 111 | // shell navigation layer |
| 84 | [SHELL_NAV] = KEYMAP( | 112 | [SHELL_NAV] = KEYMAP( |
| 85 | // left hand | 113 | // left hand |
| @@ -209,12 +237,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 209 | 237 | ||
| 210 | [BRACKETS] = KEYMAP( | 238 | [BRACKETS] = KEYMAP( |
| 211 | // left hand | 239 | // left hand |
| 212 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 240 | KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, |
| 213 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 241 | KC_TRNS,KC_TRNS,M(OPEN_CLOSE_CURLY), M(OPEN_CLOSE_PAREN),M(OPEN_CLOSE_BRACKET), KC_TRNS,KC_TRNS, |
| 214 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 242 | KC_TRNS,KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_TRNS, |
| 215 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 243 | KC_TRNS,KC_TRNS,KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS,KC_TRNS, |
| 216 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 244 | KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, |
| 217 | KC_TRNS,KC_TRNS, | 245 | KC_TRNS,KC_TRNS, |
| 218 | KC_TRNS, | 246 | KC_TRNS, |
| 219 | KC_TRNS,KC_TRNS,KC_TRNS, | 247 | KC_TRNS,KC_TRNS,KC_TRNS, |
| 220 | // right hand | 248 | // right hand |
| @@ -246,7 +274,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 246 | MEH(KC_S), MEH(KC_T), MEH(KC_U), MEH(KC_V), MEH(KC_X), | 274 | MEH(KC_S), MEH(KC_T), MEH(KC_U), MEH(KC_V), MEH(KC_X), |
| 247 | MEH(KC_6), MEH(KC_7), | 275 | MEH(KC_6), MEH(KC_7), |
| 248 | MEH(KC_8), | 276 | MEH(KC_8), |
| 249 | MEH(KC_9), MEH(KC_Y), MEH(KC_Z) | 277 | MEH(KC_9), TO(BASE), TO(SHELL_LAYER) |
| 250 | ), | 278 | ), |
| 251 | 279 | ||
| 252 | 280 | ||
| @@ -406,6 +434,8 @@ void matrix_scan_user(void) { | |||
| 406 | switch (layer) { | 434 | switch (layer) { |
| 407 | case NUMBER: | 435 | case NUMBER: |
| 408 | case SYMBOL: | 436 | case SYMBOL: |
| 437 | case BRACKETS: | ||
| 438 | //case SHELL_LAYER: | ||
| 409 | ergodox_right_led_2_on(); | 439 | ergodox_right_led_2_on(); |
| 410 | break; | 440 | break; |
| 411 | case KEY_NAV: | 441 | case KEY_NAV: |
