diff options
| author | lucwastiaux <luc.wastiaux@xsmail.com> | 2017-11-07 01:07:21 +0800 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2017-11-06 12:07:21 -0500 |
| commit | 785474670426c9325fcf82a852618053f3dd1713 (patch) | |
| tree | 83c42975d6927bba59825bc802e6ff8f0ecd6270 | |
| parent | 245b3376d6fb915f4694053121d9cb1f1decc888 (diff) | |
| download | qmk_firmware-785474670426c9325fcf82a852618053f3dd1713.tar.gz qmk_firmware-785474670426c9325fcf82a852618053f3dd1713.zip | |
Ergodox EZ and Atreus 42 key dvorak layout updates (#1964)
* importing 42 key dvorak layout
* added comment for build instructions
* adding atreus dvorak 42 key layout
* added readme
* add readme
* build instructions
* additional MEH shortcuts
* added shifted symbols on symbols layer
* working extra symbols on COMBINED layer
* bring atreus layout inline with the ergodox one
* add necessary macros
* working ls macro
* added more shell macros
* added screen rename / screen number macros
* add ctrl-a key in shell-nav to use screen more easily
* added shell screen layer
* assign screen switching macros to screen layer
* define all screen switching macros
* more screen-related shortcuts added on shell screen layer
* change shell nav bottom right row to match base layer (backspace / delete)
* remove some mappings on SHELL_NAV layer as they are now in the screen layer
* added more screen macros
| -rw-r--r-- | keyboards/atreus/keymaps/dvorak_42_key/keymap.c | 24 | ||||
| -rw-r--r-- | keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c | 219 |
2 files changed, 202 insertions, 41 deletions
diff --git a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c index 02980378d..b2ea29043 100644 --- a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c +++ b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c | |||
| @@ -30,24 +30,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 30 | }, | 30 | }, |
| 31 | 31 | ||
| 32 | [KEYNAV] = { | 32 | [KEYNAV] = { |
| 33 | {KC_ESC, MEH(KC_A), RCTL(KC_Z), RCTL(KC_S), MEH(KC_B), KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, }, | 33 | {KC_ESC, MEH(KC_F9), RCTL(KC_Z), RCTL(KC_S), MEH(KC_F10), KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, }, |
| 34 | {MEH(KC_C), MEH(KC_D), RSFT(KC_TAB), KC_TAB, MEH(KC_E), KC_TRNS, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), }, | 34 | {MEH(KC_F11), MEH(KC_F12), RSFT(KC_TAB), KC_TAB, MEH(KC_A), KC_TRNS, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), }, |
| 35 | {MEH(KC_F), MEH(KC_G), MEH(KC_H), MEH(KC_I), MEH(KC_J), KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, }, | 35 | {MEH(KC_B), MEH(KC_C), MEH(KC_D), MEH(KC_E), MEH(KC_F), KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, }, |
| 36 | {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), } | 36 | {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), } |
| 37 | }, | 37 | }, |
| 38 | 38 | ||
| 39 | [KEYSEL] = { | 39 | [KEYSEL] = { |
| 40 | {KC_TRNS, KC_TRNS, RCTL(KC_Z), RCTL(KC_S), KC_TRNS, KC_TRNS, KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), }, | 40 | {MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS, KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), }, |
| 41 | {KC_TRNS, KC_TRNS, RSFT(KC_TAB), KC_TAB, KC_TRNS, KC_TRNS, RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), }, | 41 | {MEH(KC_L), MEH(KC_M),MEH(KC_N), MEH(KC_O), MEH(KC_P), KC_TRNS, RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), }, |
| 42 | {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_C),RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), }, | 42 | {MEH(KC_Q), MEH(KC_R),MEH(KC_S), MEH(KC_T), MEH(KC_U), KC_TRNS, KC_TRNS, RCTL(KC_C),RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), }, |
| 43 | {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), } | 43 | {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), } |
| 44 | }, | 44 | }, |
| 45 | 45 | ||
| 46 | [COMBINED] = { | 46 | [COMBINED] = { |
| 47 | {KC_ESC, KC_LABK, KC_RABK, KC_DQUO, KC_GRAVE, KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, }, | 47 | {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, }, |
| 48 | {KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, KC_TRNS, KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, }, | 48 | {KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, KC_TRNS, KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, }, |
| 49 | {KC_LCBR, KC_RCBR, KC_BSLS, KC_PIPE, KC_TILD, KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, }, | 49 | {KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_TRNS, KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, }, |
| 50 | {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_TRNS, KC_TRNS, } | 50 | {KC_PIPE, KC_BSLS, KC_CIRC, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_TILD, KC_GRAVE, } |
| 51 | }, | 51 | }, |
| 52 | 52 | ||
| 53 | [MOUSE] = { | 53 | [MOUSE] = { |
diff --git a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c index c1195ecc0..c79f16123 100644 --- a/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c +++ b/keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c | |||
| @@ -14,16 +14,32 @@ enum custom_keycodes { | |||
| 14 | EPRM, | 14 | EPRM, |
| 15 | VRSN, | 15 | VRSN, |
| 16 | RGB_SLD, | 16 | RGB_SLD, |
| 17 | // shell nav macros | ||
| 18 | SHELL_LS, | ||
| 19 | SHELL_LSLTR, | ||
| 20 | SHELL_CDPRE, | ||
| 21 | SHELL_LESS, | ||
| 22 | SHELL_PLESS, | ||
| 23 | SHELL_PGREP, | ||
| 24 | SHELL_TAILF, | ||
| 17 | 25 | ||
| 26 | SHELL_PWD, | ||
| 27 | SHELL_H3, | ||
| 28 | SHELL_AMMCOLO, | ||
| 29 | SHELL_SCREENRD, | ||
| 30 | SHELL_SCREEN_NEW, | ||
| 31 | SHELL_SCREEN_LIST, | ||
| 32 | SHELL_MKE, | ||
| 18 | }; | 33 | }; |
| 19 | 34 | ||
| 20 | 35 | ||
| 21 | #define BASE 0 // base dvorak layer | 36 | #define BASE 0 // base dvorak layer |
| 22 | #define KEYNAV 1 // arrow navigation (right hand) | 37 | #define KEYNAV 1 // arrow navigation (right hand) |
| 23 | #define KEYSEL 2 // arrow navigation + shift (allow text selection) | 38 | #define KEYSEL 2 // arrow navigation + shift (allow text selection) |
| 24 | #define SHELL_NAV 3 // bash shortcuts | 39 | #define SHELL_NAV 3 // bash shortcuts |
| 25 | #define MOUSE 4 // mouse layer (can be locked with lock key) | 40 | #define SHELL_SCREEN 4 // linux screen shortcuts |
| 26 | #define COMBINED 5 // combined numbers and symbols layer | 41 | #define MOUSE 5 // mouse layer (can be locked with lock key) |
| 42 | #define COMBINED 6 // combined numbers and symbols layer | ||
| 27 | 43 | ||
| 28 | // macros | 44 | // macros |
| 29 | #define MOUSE_TOGGLE 1 | 45 | #define MOUSE_TOGGLE 1 |
| @@ -34,18 +50,38 @@ enum custom_keycodes { | |||
| 34 | #define SWITCH_NDS 7 | 50 | #define SWITCH_NDS 7 |
| 35 | #define SCREEN_COPY_MODE 8 | 51 | #define SCREEN_COPY_MODE 8 |
| 36 | #define SCREEN_PASTE 9 | 52 | #define SCREEN_PASTE 9 |
| 37 | #define SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND 15 | 53 | #define SCREEN_RENAME 10 |
| 54 | #define SCREEN_NUMBER 11 | ||
| 55 | #define SCREEN_0 12 | ||
| 56 | #define SCREEN_1 13 | ||
| 57 | #define SCREEN_2 14 | ||
| 58 | #define SCREEN_3 15 | ||
| 59 | #define SCREEN_4 16 | ||
| 60 | #define SCREEN_5 17 | ||
| 61 | #define SCREEN_6 18 | ||
| 62 | #define SCREEN_7 19 | ||
| 63 | #define SCREEN_8 20 | ||
| 64 | #define SCREEN_9 21 | ||
| 65 | #define SCREEN_DETACH 22 | ||
| 66 | #define SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND 30 | ||
| 38 | 67 | ||
| 39 | 68 | ||
| 69 | #define MACRO_SCREEN_NUM(MACRO_NAME,NUM) \ | ||
| 70 | case MACRO_NAME:\ | ||
| 71 | if (record->event.pressed) {\ | ||
| 72 | return MACRO( D(LCTL), T(A), U(LCTL), T(NUM), END);\ | ||
| 73 | }\ | ||
| 74 | break;\ | ||
| 75 | |||
| 40 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 76 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 41 | 77 | ||
| 42 | [BASE] = KEYMAP( | 78 | [BASE] = KEYMAP( |
| 43 | // left hand | 79 | // left hand |
| 44 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, | 80 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, |
| 45 | KC_TAB, KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, MEH(KC_2), | 81 | KC_TAB, KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, MEH(KC_2), |
| 46 | MO(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I, | 82 | OSL(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I, |
| 47 | MEH(KC_0), KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MEH(KC_3), | 83 | OSL(SHELL_SCREEN), KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MEH(KC_3), |
| 48 | MEH(KC_1), OSM(MOD_LSFT), OSM(MOD_LCTL), M(MOUSE_TOGGLE), MO(KEYSEL), | 84 | MEH(KC_1), OSM(MOD_LSFT), OSM(MOD_LCTL), M(MOUSE_TOGGLE), MO(KEYSEL), |
| 49 | 85 | ||
| 50 | // left thumb cluster | 86 | // left thumb cluster |
| 51 | MEH(KC_4), MEH(KC_5), | 87 | MEH(KC_4), MEH(KC_5), |
| @@ -114,23 +150,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 114 | // shell navigation layer | 150 | // shell navigation layer |
| 115 | [SHELL_NAV] = KEYMAP( | 151 | [SHELL_NAV] = KEYMAP( |
| 116 | // left hand | 152 | // left hand |
| 117 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 153 | KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, |
| 118 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 154 | KC_TRNS,KC_TRNS, SHELL_PGREP, SHELL_PLESS, SHELL_LESS, SHELL_MKE, SHELL_H3, |
| 119 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 155 | KC_TRNS,LCTL(KC_A), SHELL_CDPRE, SHELL_LSLTR, SHELL_LS, SHELL_PWD, |
| 120 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 156 | KC_TRNS,SHELL_SCREEN_LIST, SHELL_SCREENRD, SHELL_SCREEN_NEW, SHELL_TAILF, KC_TRNS, SHELL_AMMCOLO, |
| 121 | // bottom row | 157 | // bottom row |
| 122 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 158 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
| 123 | // thumb cluster | 159 | // thumb cluster |
| 124 | KC_TRNS,KC_TRNS, | 160 | KC_TRNS,KC_TRNS, |
| 125 | LALT(KC_D), | 161 | KC_TRNS, |
| 126 | KC_TRNS,RCTL(KC_W),KC_TRNS, | 162 | KC_TRNS,KC_TRNS,KC_TRNS, |
| 127 | // right hand | 163 | // right hand |
| 128 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(SWITCH_NDS), | 164 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(SWITCH_NDS), |
| 129 | RCTL(KC_L), RCTL(KC_W), KC_HOME, KC_UP, KC_END, LALT(KC_D), RCTL(KC_R), | 165 | RCTL(KC_L), KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, RCTL(KC_R), |
| 130 | LALT(KC_B), KC_LEFT, KC_DOWN, KC_RIGHT, LALT(KC_F), LALT(KC_DOT), | 166 | LALT(KC_B), KC_LEFT, KC_DOWN, KC_RIGHT, LALT(KC_F), LALT(KC_DOT), |
| 131 | RCTL(KC_C), RCTL(KC_U), M(SCREEN_COPY_MODE), M(SCREEN_PASTE), MEH(KC_V), RCTL(KC_K), M(SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND), | 167 | RCTL(KC_C), KC_TRNS, M(SCREEN_COPY_MODE), M(SCREEN_PASTE), MEH(KC_V), RCTL(KC_K), M(SHELL_RECALL_LAST_ARG_REMOVE_FIRST_COMMAND), |
| 132 | // bottom row | 168 | // bottom row (match functionality of base layer) |
| 133 | M(SCREEN_TAB_LEFT), M(SCREEN_TAB_RIGHT), M(SCREEN_NEW_TAB), KC_TRNS, KC_TRNS, | 169 | KC_TRNS, RCTL(KC_W), KC_TRNS, LALT(KC_D), RCTL(KC_U), |
| 134 | // thumb cluster | 170 | // thumb cluster |
| 135 | KC_TRNS, KC_TRNS, | 171 | KC_TRNS, KC_TRNS, |
| 136 | KC_TRNS, | 172 | KC_TRNS, |
| @@ -138,16 +174,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 138 | ), | 174 | ), |
| 139 | 175 | ||
| 140 | 176 | ||
| 177 | // linux screen layer | ||
| 178 | [SHELL_SCREEN] = KEYMAP( | ||
| 179 | // left hand | ||
| 180 | KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 181 | KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 182 | KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 183 | KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 184 | // bottom row | ||
| 185 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | ||
| 186 | // thumb cluster | ||
| 187 | KC_TRNS,KC_TRNS, | ||
| 188 | KC_TRNS, | ||
| 189 | KC_TRNS,KC_TRNS,KC_TRNS, | ||
| 190 | // right hand | ||
| 191 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 192 | KC_TRNS, M(SCREEN_NEW_TAB), M(SCREEN_7), M(SCREEN_8), M(SCREEN_9), M(SCREEN_RENAME), KC_TRNS, | ||
| 193 | M(SCREEN_TAB_LEFT), M(SCREEN_4), M(SCREEN_5), M(SCREEN_6), M(SCREEN_TAB_RIGHT), KC_TRNS, | ||
| 194 | KC_TRNS, KC_TRNS, M(SCREEN_1), M(SCREEN_2), M(SCREEN_3), M(SCREEN_NUMBER), KC_TRNS, | ||
| 195 | // bottom row | ||
| 196 | M(SCREEN_0), KC_TRNS, KC_TRNS, KC_TRNS, M(SCREEN_DETACH), | ||
| 197 | // thumb cluster | ||
| 198 | KC_TRNS, KC_TRNS, | ||
| 199 | KC_TRNS, | ||
| 200 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 201 | ), | ||
| 202 | |||
| 141 | 203 | ||
| 142 | [COMBINED] = KEYMAP( | 204 | [COMBINED] = KEYMAP( |
| 143 | 205 | ||
| 144 | // left hand | 206 | // left hand |
| 145 | KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, | 207 | KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, |
| 146 | KC_TRNS,KC_ESC, KC_LABK, KC_RABK, KC_DQUO, KC_GRAVE,KC_TRNS, | 208 | KC_TRNS,KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC,KC_TRNS, |
| 147 | KC_TRNS,KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, | 209 | KC_TRNS,KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, |
| 148 | KC_TRNS,KC_LCBR, KC_RCBR, KC_BSLS, KC_PIPE, KC_TILD,KC_TRNS, | 210 | KC_TRNS,KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_TRNS,KC_TRNS, |
| 149 | // bottom row | 211 | // bottom row |
| 150 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 212 | KC_TRNS,KC_PIPE, KC_BSLS, KC_CIRC, KC_AMPR, |
| 151 | // thumb cluster | 213 | // thumb cluster |
| 152 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | 214 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, |
| 153 | 215 | ||
| @@ -157,7 +219,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 157 | KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, MEH(KC_N), | 219 | KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, MEH(KC_N), |
| 158 | KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, MEH(KC_O), | 220 | KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, MEH(KC_O), |
| 159 | // bottom row | 221 | // bottom row |
| 160 | KC_0, KC_DOT, KC_TRNS, KC_TRNS, MEH(KC_P), | 222 | KC_0, KC_DOT, KC_TILD, KC_GRAVE, MEH(KC_P), |
| 161 | // thumb cluster | 223 | // thumb cluster |
| 162 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS), | 224 | KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS), |
| 163 | 225 | ||
| @@ -230,6 +292,41 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | |||
| 230 | return MACRO( D(LCTL), T(A), U(LCTL), T(C), END); | 292 | return MACRO( D(LCTL), T(A), U(LCTL), T(C), END); |
| 231 | } | 293 | } |
| 232 | break; | 294 | break; |
| 295 | case SCREEN_DETACH: | ||
| 296 | if (record->event.pressed) { | ||
| 297 | return MACRO( D(LCTL), T(A), U(LCTL), T(D), END); | ||
| 298 | } | ||
| 299 | break; | ||
| 300 | case SCREEN_RENAME: | ||
| 301 | if (record->event.pressed) { | ||
| 302 | return MACRO( D(LCTL), T(A), U(LCTL), D(LSFT), T(A), U(LSFT), END); | ||
| 303 | } | ||
| 304 | break; | ||
| 305 | case SCREEN_NUMBER: | ||
| 306 | if (record->event.pressed) { | ||
| 307 | return MACRO( D(LCTL), T(A), U(LCTL), D(LSFT), T(SCOLON), U(LSFT), | ||
| 308 | T(N), | ||
| 309 | T(U), | ||
| 310 | T(M), | ||
| 311 | T(B), | ||
| 312 | T(E), | ||
| 313 | T(R), | ||
| 314 | T(SPC), | ||
| 315 | END); | ||
| 316 | } | ||
| 317 | break; | ||
| 318 | |||
| 319 | MACRO_SCREEN_NUM(SCREEN_0,0); | ||
| 320 | MACRO_SCREEN_NUM(SCREEN_1,1); | ||
| 321 | MACRO_SCREEN_NUM(SCREEN_2,2); | ||
| 322 | MACRO_SCREEN_NUM(SCREEN_3,3); | ||
| 323 | MACRO_SCREEN_NUM(SCREEN_4,4); | ||
| 324 | MACRO_SCREEN_NUM(SCREEN_5,5); | ||
| 325 | MACRO_SCREEN_NUM(SCREEN_6,6); | ||
| 326 | MACRO_SCREEN_NUM(SCREEN_7,7); | ||
| 327 | MACRO_SCREEN_NUM(SCREEN_8,8); | ||
| 328 | MACRO_SCREEN_NUM(SCREEN_9,9); | ||
| 329 | |||
| 233 | case SCREEN_COPY_MODE: | 330 | case SCREEN_COPY_MODE: |
| 234 | if (record->event.pressed) { | 331 | if (record->event.pressed) { |
| 235 | return MACRO( D(LCTL), T(A), U(LCTL), T(ESC), END); | 332 | return MACRO( D(LCTL), T(A), U(LCTL), T(ESC), END); |
| @@ -282,8 +379,70 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 282 | } | 379 | } |
| 283 | return false; | 380 | return false; |
| 284 | break; | 381 | break; |
| 285 | |||
| 286 | } | 382 | } |
| 383 | |||
| 384 | // shell macros | ||
| 385 | if(record->event.pressed) { | ||
| 386 | switch (keycode) { | ||
| 387 | case SHELL_LS: | ||
| 388 | SEND_STRING("ls\n"); | ||
| 389 | return true; | ||
| 390 | break; | ||
| 391 | case SHELL_LSLTR: | ||
| 392 | SEND_STRING("ls -ltr\n"); | ||
| 393 | return true; | ||
| 394 | break; | ||
| 395 | case SHELL_CDPRE: | ||
| 396 | SEND_STRING("cd ..\n"); | ||
| 397 | return true; | ||
| 398 | break; | ||
| 399 | case SHELL_LESS: | ||
| 400 | SEND_STRING("less "); | ||
| 401 | return true; | ||
| 402 | break; | ||
| 403 | case SHELL_PLESS: | ||
| 404 | SEND_STRING(" | less"); | ||
| 405 | return true; | ||
| 406 | break; | ||
| 407 | case SHELL_PGREP: | ||
| 408 | SEND_STRING(" | grep "); | ||
| 409 | return true; | ||
| 410 | break; | ||
| 411 | case SHELL_TAILF: | ||
| 412 | SEND_STRING("tail -f "); | ||
| 413 | return true; | ||
| 414 | break; | ||
| 415 | case SHELL_PWD: | ||
| 416 | SEND_STRING("echo `pwd`/"); | ||
| 417 | return true; | ||
| 418 | break; | ||
| 419 | case SHELL_H3: | ||
| 420 | SEND_STRING("h3\n"); | ||
| 421 | return true; | ||
| 422 | break; | ||
| 423 | case SHELL_AMMCOLO: | ||
| 424 | SEND_STRING("ammcolo\n"); | ||
| 425 | return true; | ||
| 426 | break; | ||
| 427 | case SHELL_SCREENRD: | ||
| 428 | SEND_STRING("screen -r -d "); | ||
| 429 | return true; | ||
| 430 | break; | ||
| 431 | case SHELL_SCREEN_NEW: | ||
| 432 | SEND_STRING("screen -S "); | ||
| 433 | return true; | ||
| 434 | break; | ||
| 435 | case SHELL_SCREEN_LIST: | ||
| 436 | SEND_STRING("screen -list\n"); | ||
| 437 | return true; | ||
| 438 | break; | ||
| 439 | case SHELL_MKE: | ||
| 440 | SEND_STRING("mke\n"); | ||
| 441 | return true; | ||
| 442 | break; | ||
| 443 | } | ||
| 444 | } | ||
| 445 | |||
| 287 | return true; | 446 | return true; |
| 288 | } | 447 | } |
| 289 | 448 | ||
| @@ -306,6 +465,8 @@ void matrix_scan_user(void) { | |||
| 306 | case COMBINED: | 465 | case COMBINED: |
| 307 | ergodox_right_led_2_on(); | 466 | ergodox_right_led_2_on(); |
| 308 | break; | 467 | break; |
| 468 | case SHELL_NAV: | ||
| 469 | case SHELL_SCREEN: | ||
| 309 | case KEYNAV: | 470 | case KEYNAV: |
| 310 | case KEYSEL: | 471 | case KEYSEL: |
| 311 | ergodox_right_led_3_on(); | 472 | ergodox_right_led_3_on(); |
