diff options
| author | Erez Zukerman <bulk@ezuk.org> | 2016-05-04 22:31:00 -0400 |
|---|---|---|
| committer | Erez Zukerman <bulk@ezuk.org> | 2016-05-04 22:31:00 -0400 |
| commit | dbb1c2f28142a7cd557945cb6bc3cf872f8b137d (patch) | |
| tree | cf7c1de746261dc95e4bd7a988d9698acfac0d9e /keyboard/ergodox_ez/keymaps/ordinary/keymap.c | |
| parent | 31a697bc054c97c5ef168c5fd4633bb247cc5d7b (diff) | |
| parent | 4b74eca2a5cee027965745ccf5f18c2b9f18115b (diff) | |
| download | qmk_firmware-dbb1c2f28142a7cd557945cb6bc3cf872f8b137d.tar.gz qmk_firmware-dbb1c2f28142a7cd557945cb6bc3cf872f8b137d.zip | |
Merge pull request #305 from nrrkeene/master
Custom handling for shift keys, improved media layer
Diffstat (limited to 'keyboard/ergodox_ez/keymaps/ordinary/keymap.c')
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/ordinary/keymap.c | 641 |
1 files changed, 294 insertions, 347 deletions
diff --git a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c index efd67addd..871bda672 100644 --- a/keyboard/ergodox_ez/keymaps/ordinary/keymap.c +++ b/keyboard/ergodox_ez/keymaps/ordinary/keymap.c | |||
| @@ -4,33 +4,42 @@ | |||
| 4 | #include "action_layer.h" | 4 | #include "action_layer.h" |
| 5 | #include "action_util.h" | 5 | #include "action_util.h" |
| 6 | 6 | ||
| 7 | #define BASE 0 // default layer | 7 | #define BASE 0 // default layer |
| 8 | #define LOCK 1 // shift-lock layer | 8 | #define SYMB 1 // symbols layer |
| 9 | #define SYMB_SH 2 // symbols shift layer | 9 | #define MDIA 2 // media layer |
| 10 | #define SYMB_LK 3 // symbols lock layer | 10 | #define LOCK 3 // shift-lock layer |
| 11 | #define SYMB_UN 4 // symbols unlock layer | 11 | |
| 12 | #define MDIA_SH 5 // media shift layer | 12 | #define LSymb 0 // left symbol-shift key |
| 13 | #define MDIA_LK 6 // media lock layer | 13 | #define LMdia 1 // left media-shift key |
| 14 | #define MDIA_UN 7 // media unlock layer | 14 | #define LLock 2 // left shift-lock key |
| 15 | #define UNLOCK 8 // clear to base layer | 15 | #define RSymb 3 // right symbol-shift key |
| 16 | #define RMdia 4 // right media-shift key | ||
| 17 | #define RLock 5 // right shift-lock key | ||
| 18 | |||
| 19 | #define MUL 6 // mouse up left | ||
| 20 | #define MUR 7 // mouse up right | ||
| 21 | #define MDL 8 // mouse down left | ||
| 22 | #define MDR 9 // mouse down right | ||
| 16 | 23 | ||
| 17 | /* | 24 | /* |
| 18 | * The Ordinary Layout for the Ergodox EZ keyboard, v3.1 | 25 | * The Ordinary Layout for the Ergodox EZ keyboard, v3.14 |
| 19 | * modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com | 26 | * |
| 27 | * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com | ||
| 28 | * | ||
| 20 | * Details: readme.md | 29 | * Details: readme.md |
| 21 | * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary | 30 | * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary |
| 22 | */ | 31 | */ |
| 23 | 32 | ||
| 24 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 33 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 25 | 34 | ||
| 26 | /* Keymap 0: Base Layer | 35 | /******* Base Layer ******************************************************************************************************** |
| 27 | * | 36 | * |
| 28 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | 37 | * ,-----------------------------------------------------. ,-----------------------------------------------------. |
| 29 | * | LOCK `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | = LOCK | | 38 | * | Lock `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | =+ Lock | |
| 30 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| | 39 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| |
| 31 | * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ Media | | 40 | * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media | |
| 32 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | 41 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| |
| 33 | * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | ' Symbol | | 42 | * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol | |
| 34 | * |-----------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+-----------| | 43 | * |-----------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+-----------| |
| 35 | * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift | | 44 | * | LShift | Z | X | C | V | B | -Tab | | | N | M | , | . | / | RShift | |
| 36 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' | 45 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' |
| @@ -46,128 +55,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 46 | */ | 55 | */ |
| 47 | [BASE] = KEYMAP( | 56 | [BASE] = KEYMAP( |
| 48 | // left hand | 57 | // left hand |
| 49 | LT(LOCK, KC_GRV) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC | 58 | F(LLock) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC |
| 50 | ,LT(MDIA_SH, KC_TAB),KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC | 59 | ,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC |
| 51 | ,MO(SYMB_SH) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G | 60 | ,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G |
| 52 | ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) | 61 | ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) |
| 53 | ,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI | 62 | ,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI |
| 54 | 63 | ,KC_HOME,KC_END | |
| 55 | ,KC_HOME,KC_END | 64 | ,KC_PGUP |
| 56 | ,KC_PGUP | 65 | ,KC_BSPC,KC_DEL ,KC_PGDN |
| 57 | ,KC_BSPC,KC_DEL ,KC_PGDN | 66 | // right hand |
| 58 | 67 | ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RLock) | |
| 59 | // right hand | 68 | ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia) |
| 60 | ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,LT(LOCK, KC_EQL) | 69 | ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb) |
| 61 | ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,LT(MDIA_SH, KC_BSLS) | 70 | ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT |
| 62 | ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,LT(SYMB_SH, KC_QUOT) | 71 | ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL |
| 63 | ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT | 72 | ,KC_LEFT ,KC_RGHT |
| 64 | ,KC_RGUI,KC_RALT,ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL | 73 | ,KC_UP |
| 65 | 74 | ,KC_DOWN ,KC_ENT ,KC_SPC | |
| 66 | ,KC_LEFT ,KC_RGHT | ||
| 67 | ,KC_UP | ||
| 68 | ,KC_DOWN ,KC_ENT ,KC_SPC | ||
| 69 | ), | 75 | ), |
| 70 | 76 | ||
| 71 | /* Keymap 1: Layer Lock Keys | 77 | /******* Symbols Layer ***************************************************************************************************** |
| 72 | * | ||
| 73 | * ,-------------------------------------------------------. ,-------------------------------------------------------. | ||
| 74 | * | | Esc | | | | | | | | | | | | Bspc | | | ||
| 75 | * |-------------+------+------+------+------+-------------| |------+------+------+------+------+------+-------------| | ||
| 76 | * | Media LOCK | | | | | | | | | | | | | | Media LOCK | | ||
| 77 | * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| | ||
| 78 | * | Symbol LOCK | | | | | |------| |------| | | | | | Symbol LOCK | | ||
| 79 | * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| | ||
| 80 | * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK | | ||
| 81 | * `-------------+------+------+------+------+-------------' `-------------+------+------+------+------+-------------' | ||
| 82 | * | | | | | | | | | | | | | ||
| 83 | * `------------------------------------' `------------------------------------' | ||
| 84 | * ,-------------. ,-------------. | ||
| 85 | * | | | | | | | ||
| 86 | * ,------|------|------| |------+------+------. | ||
| 87 | * | | | | | | | | | ||
| 88 | * | | |------| |------| | | | ||
| 89 | * | | | | | | | | | ||
| 90 | * `--------------------' `--------------------' | ||
| 91 | */ | ||
| 92 | [LOCK] = KEYMAP( | ||
| 93 | // left hand | ||
| 94 | KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 95 | ,KC_FN3 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 96 | ,KC_FN2 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 97 | ,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 98 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 99 | |||
| 100 | ,KC_TRNS ,KC_TRNS | ||
| 101 | ,KC_TRNS | ||
| 102 | ,KC_TRNS,KC_TRNS ,KC_TRNS | ||
| 103 | |||
| 104 | // right hand | ||
| 105 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS | ||
| 106 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN3 | ||
| 107 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN2 | ||
| 108 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS | ||
| 109 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 110 | |||
| 111 | ,KC_TRNS ,KC_TRNS | ||
| 112 | ,KC_TRNS | ||
| 113 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 114 | ), | ||
| 115 | |||
| 116 | /* Keymap 2: Symbol Shift Layer | ||
| 117 | * | 78 | * |
| 118 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | 79 | * ,-----------------------------------------------------. ,-----------------------------------------------------. |
| 119 | * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK | | 80 | * | | F1 | F2 | F3 | F4 | F5 | Esc | | - | F6 | F7 | F8 | F9 | F10 | | |
| 120 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| | 81 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| |
| 121 | * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media | | 82 | * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | | |
| 122 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | 83 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| |
| 123 | * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol | | 84 | * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | | |
| 124 | * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| | 85 | * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| |
| 125 | * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift | | 86 | * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | | |
| 126 | * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------' | 87 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' |
| 127 | * | | | | | | | 0 | . | = | + | Entr | | 88 | * | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent| |
| 128 | * `----------------------------------' `----------------------------------' | 89 | * `-----------------------------------' `-------------------------------------' |
| 129 | * ,-------------. ,-------------. | ||
| 130 | * | Left | Right| | Home | End | | ||
| 131 | * ,------|------|------| |------+------+------. | ||
| 132 | * | | | Up | | PgUp | | | | ||
| 133 | * |Space |Enter |------| |------|BackSp| Del | | ||
| 134 | * | | | Down | | PgDn | | | | ||
| 135 | * `--------------------' `--------------------' | ||
| 136 | */ | ||
| 137 | [SYMB_SH] = KEYMAP( | ||
| 138 | // left hand | ||
| 139 | KC_FN2 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS | ||
| 140 | ,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) | ||
| 141 | ,MO(SYMB_SH) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV | ||
| 142 | ,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB | ||
| 143 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 144 | ,KC_LEFT ,KC_RGHT | ||
| 145 | ,KC_UP | ||
| 146 | ,KC_SPC ,KC_ENT ,KC_DOWN | ||
| 147 | // right hand | ||
| 148 | ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_FN2 | ||
| 149 | ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH) | ||
| 150 | ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(SYMB_SH) | ||
| 151 | ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT | ||
| 152 | ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) | ||
| 153 | ,KC_HOME ,KC_END | ||
| 154 | ,KC_PGUP | ||
| 155 | ,KC_PGDN ,KC_BSPC ,KC_DEL | ||
| 156 | ), | ||
| 157 | |||
| 158 | /* Keymap 3: Symbol Lock Layer | ||
| 159 | * | ||
| 160 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | ||
| 161 | * | LOCK | F1 | F2 | F3 | F4 | F5 | | | - | F6 | F7 | F8 | F9 | F10 | LOCK | | ||
| 162 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| | ||
| 163 | * | Media | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | Media | | ||
| 164 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 165 | * | Symbol | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | Symbol | | ||
| 166 | * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| | ||
| 167 | * | LShift | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | RShift | | ||
| 168 | * `-----------+------+------+------+------+-------------' `------------+------+------+------+------+------------' | ||
| 169 | * | | | | | | | 0 | . | = | + | Entr | | ||
| 170 | * `----------------------------------' `----------------------------------' | ||
| 171 | * ,-------------. ,-------------. | 90 | * ,-------------. ,-------------. |
| 172 | * | Left | Right| | Home | End | | 91 | * | Left | Right| | Home | End | |
| 173 | * ,------|------|------| |------+------+------. | 92 | * ,------|------|------| |------+------+------. |
| @@ -176,159 +95,75 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 176 | * | | | Down | | PgDn | | | | 95 | * | | | Down | | PgDn | | | |
| 177 | * `--------------------' `--------------------' | 96 | * `--------------------' `--------------------' |
| 178 | */ | 97 | */ |
| 179 | [SYMB_LK] = KEYMAP( | 98 | [SYMB] = KEYMAP( |
| 180 | // left hand | ||
| 181 | MO(SYMB_UN) ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_TRNS | ||
| 182 | ,MO(MDIA_SH) ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) | ||
| 183 | ,MO(UNLOCK) ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV | ||
| 184 | ,KC_LSFT ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB | ||
| 185 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 186 | ,KC_LEFT ,KC_RGHT | ||
| 187 | ,KC_UP | ||
| 188 | ,KC_SPC ,KC_ENT ,KC_DOWN | ||
| 189 | // right hand | ||
| 190 | ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,MO(SYMB_UN) | ||
| 191 | ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,MO(MDIA_SH) | ||
| 192 | ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,MO(UNLOCK) | ||
| 193 | ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_RSFT | ||
| 194 | ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) | ||
| 195 | ,KC_HOME ,KC_END | ||
| 196 | ,KC_PGUP | ||
| 197 | ,KC_PGDN ,KC_BSPC ,KC_DEL | ||
| 198 | ), | ||
| 199 | |||
| 200 | /* Keymap 4: Symbol Unlock Layer | ||
| 201 | * | ||
| 202 | * ,------------------------------------------------------. ,------------------------------------------------------. | ||
| 203 | * | | Esc | | | | | | | | | | | | Bspc | | | ||
| 204 | * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------| | ||
| 205 | * | Media LOCK | | | | | | | | | | | | | | Media LOCK | | ||
| 206 | * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| | ||
| 207 | * | UNLOCK | | | | | |------| |------| | | | | | UNLOCK | | ||
| 208 | * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| | ||
| 209 | * | Caps LOCK | | | | | | | | | | | | | | Caps LOCK | | ||
| 210 | * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------' | ||
| 211 | * | | | | | | | | | | | | | ||
| 212 | * `----------------------------------' `----------------------------------' | ||
| 213 | * ,-------------. ,-------------. | ||
| 214 | * | | | | | | | ||
| 215 | * ,------|------|------| |------+------+------. | ||
| 216 | * | | | | | | | | | ||
| 217 | * | | |------| |------| | | | ||
| 218 | * | | | | | | | | | ||
| 219 | * `--------------------' `--------------------' | ||
| 220 | */ | ||
| 221 | [SYMB_UN] = KEYMAP( | ||
| 222 | // left hand | 99 | // left hand |
| 223 | KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 100 | KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC |
| 224 | ,TG(MDIA_LK) ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 101 | ,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) |
| 225 | ,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 102 | ,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV |
| 226 | ,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 103 | ,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB |
| 227 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 104 | ,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI |
| 228 | ,KC_TRNS ,KC_TRNS | 105 | ,KC_LEFT ,KC_RGHT |
| 229 | ,KC_TRNS | 106 | ,KC_UP |
| 230 | ,KC_TRNS,KC_TRNS ,KC_TRNS | 107 | ,KC_SPC ,KC_ENT ,KC_DOWN |
| 231 | // right hand | 108 | // right hand |
| 232 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS | 109 | ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS |
| 233 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,TG(MDIA_LK) | 110 | ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS |
| 234 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 | 111 | ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS |
| 235 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS | 112 | ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS |
| 236 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 113 | ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) |
| 237 | ,KC_TRNS ,KC_TRNS | 114 | ,KC_HOME ,KC_END |
| 238 | ,KC_TRNS | 115 | ,KC_PGUP |
| 239 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | 116 | ,KC_PGDN ,KC_BSPC ,KC_DEL |
| 240 | ), | 117 | ), |
| 241 | 118 | ||
| 242 | /* Keymap 5: Media Shift Layer | 119 | /******* Media Layer ******************************************************************************************************* |
| 243 | * | 120 | * |
| 244 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | 121 | * ,---------------------------------------------------------------. ,---------------------------------------------------------------. |
| 245 | * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK | | 122 | * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | |
| 246 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| | 123 | * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------| |
| 247 | * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media | | 124 | * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | | |
| 248 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | 125 | * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| |
| 249 | * | Symbol | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| Symbol | | 126 | * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | |
| 250 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | 127 | * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| |
| 251 | * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift | | 128 | * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | |
| 252 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' | 129 | * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' |
| 253 | * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui | | 130 | * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl| |
| 254 | * `----------------------------------' `----------------------------------' | 131 | * `---------------------------------------------' `---------------------------------------------' |
| 255 | * ,-------------. ,-------------. | 132 | * ,-------------. ,-------------. |
| 256 | * | Stop |Refrsh| | Prev | Next | | 133 | * | Stop |Refrsh| | Prev | Next | |
| 257 | * ,------|------|------| |------+------+------. | 134 | * ,------|------|------| |------+------+------. |
| 258 | * |Brwser|Brwser|Search| |VolUp | | | | 135 | * |Brwser|Brwser|Search| |VolUp | | | |
| 259 | * |Back | Fwd |------| |------| Stop | Play-| | 136 | * |Back | Fwd |------| |------| Stop | Play-| |
| 260 | * | | | Home | |VolDn | | Pause| | 137 | * | | | Home | |VolDn | | Pause| |
| 261 | * `--------------------' `--------------------' | 138 | * `--------------------' `--------------------' |
| 262 | */ | 139 | */ |
| 263 | [MDIA_SH] = KEYMAP( | 140 | [MDIA] = KEYMAP( |
| 264 | // left hand | 141 | // left hand |
| 265 | KC_FN3 ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO | 142 | KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_ESC |
| 266 | ,MO(MDIA_SH) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U | 143 | ,KC_TRNS ,KC_POWER ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U |
| 267 | ,MO(SYMB_SH) ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD | 144 | ,KC_TRNS ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD |
| 268 | ,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D | 145 | ,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D |
| 269 | ,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI | 146 | ,KC_LCTL ,KC_MEH ,KC_BTN3 ,KC_BTN1 ,KC_BTN2 |
| 270 | ,KC_WSTP ,KC_WREF | 147 | ,KC_WSTP ,KC_WREF |
| 271 | ,KC_WSCH | 148 | ,KC_WSCH |
| 272 | ,KC_WBAK ,KC_NO ,KC_WHOM | 149 | ,KC_WBAK ,KC_NO ,KC_WHOM |
| 273 | // right hand | 150 | // right hand |
| 274 | ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_FN3 | 151 | ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS |
| 275 | ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(MDIA_SH) | 152 | ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_MAIL ,KC_TRNS |
| 276 | ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,MO(SYMB_SH) | 153 | ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_TRNS |
| 277 | ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT | 154 | ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS |
| 278 | ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL | 155 | ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH ,KC_RCTL |
| 279 | ,KC_MPRV ,KC_MNXT | 156 | ,KC_MPRV ,KC_MNXT |
| 280 | ,KC_VOLU | 157 | ,KC_VOLU |
| 281 | ,KC_VOLD ,KC_MSTP ,KC_MPLY | 158 | ,KC_VOLD ,KC_MSTP ,KC_MPLY |
| 282 | ), | 159 | ), |
| 283 | 160 | ||
| 284 | /* Keymap 6: Media Lock Layer | 161 | /******* Lock Layer ******************************************************************************************************** |
| 285 | * | 162 | * |
| 286 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | 163 | * ,-----------------------------------------------------. ,-----------------------------------------------------. |
| 287 | * | LOCK | F11 | F12 | F13 | F14 | F15 | | | | F16 | F17 | F18 | F19 | F20 | LOCK | | 164 | * | | Esc | | | | | | | | | | | | Bspc | | |
| 288 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| | 165 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| |
| 289 | * | Media |ShutDn|LClick| MsUp |RClick|Vol Up|ScrlUp| |ScrlUp|PrtScr| Home | Up | PgUp | Mail | Media | | 166 | * | | | | | | | | | | | | | | | | |
| 290 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 291 | * | | Sleep|MsLeft|MsDown|MsRght|Vol Dn|------| |------|NumLok| Left | Down | Right|MyComp| | | ||
| 292 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 293 | * | LShift | | |MsDown| | Mute |ScrlDn| |ScrlDn| | End | Down | PgDn | | RShift | | ||
| 294 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' | ||
| 295 | * | LCtrl| Meh |Hyper | LAlt | LGui | |Insert|Delete| Hyper| LAlt | LGui | | ||
| 296 | * `----------------------------------' `----------------------------------' | ||
| 297 | * ,-------------. ,-------------. | ||
| 298 | * | Stop |Refrsh| | Prev | Next | | ||
| 299 | * ,------|------|------| |------+------+------. | ||
| 300 | * |Brwser|Brwser|Search| |VolUp | | | | ||
| 301 | * |Back | Fwd |------| |------| Stop | Play-| | ||
| 302 | * | | | Home | |VolDn | | Pause| | ||
| 303 | * `--------------------' `--------------------' | ||
| 304 | */ | ||
| 305 | [MDIA_LK] = KEYMAP( | ||
| 306 | // left hand | ||
| 307 | MO(MDIA_UN),KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_NO | ||
| 308 | ,MO(UNLOCK) ,KC_POWER ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_VOLU ,KC_WH_U | ||
| 309 | ,KC_NO ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD | ||
| 310 | ,KC_LSFT ,KC_NO ,KC_NO ,KC_MS_D ,KC_NO ,KC_MUTE ,KC_WH_D | ||
| 311 | ,KC_LCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_LALT,KC_LGUI | ||
| 312 | ,KC_WSTP ,KC_WREF | ||
| 313 | ,KC_WSCH | ||
| 314 | ,KC_WBAK ,KC_NO ,KC_WHOM | ||
| 315 | // right hand | ||
| 316 | ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,MO(MDIA_UN) | ||
| 317 | ,KC_WH_U ,KC_PSCR ,KC_HOME,KC_UP ,KC_PGUP ,KC_MAIL ,MO(UNLOCK) | ||
| 318 | ,KC_NLCK ,KC_LEFT,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_NO | ||
| 319 | ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_RSFT | ||
| 320 | ,GUI_T(KC_INS),ALT_T(KC_DEL),ALL_T(KC_NO),MEH_T(KC_NO),KC_RCTL | ||
| 321 | ,KC_MPRV ,KC_MNXT | ||
| 322 | ,KC_VOLU | ||
| 323 | ,KC_VOLD ,KC_MSTP ,KC_MPLY | ||
| 324 | ), | ||
| 325 | |||
| 326 | /* Keymap 7: Media Unlock Layer | ||
| 327 | * | ||
| 328 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | ||
| 329 | * | | Esc | | | | | | | | | | | | Bspc | | | ||
| 330 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| | ||
| 331 | * | UNLOCK | | | | | | | | | | | | | | UNLOCK | | ||
| 332 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | 167 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| |
| 333 | * | | | | | | |------| |------| | | | | | | | 168 | * | | | | | | |------| |------| | | | | | | |
| 334 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | 169 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| |
| @@ -344,94 +179,215 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 344 | * | | | | | | | | | 179 | * | | | | | | | | |
| 345 | * `--------------------' `--------------------' | 180 | * `--------------------' `--------------------' |
| 346 | */ | 181 | */ |
| 347 | [MDIA_UN] = KEYMAP( | 182 | [LOCK] = KEYMAP( |
| 348 | // left hand | 183 | // left hand |
| 349 | KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 184 | KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 350 | ,KC_FN1 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 185 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 351 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 186 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 352 | ,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 187 | ,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 353 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 188 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 354 | 189 | ||
| 355 | ,KC_TRNS ,KC_TRNS | 190 | ,KC_TRNS ,KC_TRNS |
| 356 | ,KC_TRNS | 191 | ,KC_TRNS |
| 357 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | 192 | ,KC_TRNS,KC_TRNS ,KC_TRNS |
| 358 | 193 | // right hand | |
| 359 | // right hand | 194 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS |
| 360 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS | 195 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 361 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 | 196 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 362 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | 197 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS |
| 363 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS | 198 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 364 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 365 | |||
| 366 | ,KC_TRNS ,KC_TRNS | ||
| 367 | ,KC_TRNS | ||
| 368 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 369 | ), | ||
| 370 | |||
| 371 | /* Keymap 8: Unlock Layer | ||
| 372 | * | ||
| 373 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | ||
| 374 | * | UNLOCK | | | | | | | | | | | | | | UNLOCK | | ||
| 375 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| | ||
| 376 | * | | | | | | | | | | | | | | | | | ||
| 377 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 378 | * | | | | | | |------| |------| | | | | | | | ||
| 379 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 380 | * | | | | | | | | | | | | | | | | | ||
| 381 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' | ||
| 382 | * | | | | | | | | | | | | | ||
| 383 | * `----------------------------------' `----------------------------------' | ||
| 384 | * ,-------------. ,-------------. | ||
| 385 | * | | | | | | | ||
| 386 | * ,------|------|------| |------+------+------. | ||
| 387 | * | | | | | | | | | ||
| 388 | * | | |------| |------| | | | ||
| 389 | * | | | | | | | | | ||
| 390 | * `--------------------' `--------------------' | ||
| 391 | */ | ||
| 392 | [UNLOCK] = KEYMAP( | ||
| 393 | // left hand | ||
| 394 | KC_FN1 ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 395 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 396 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 397 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 398 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 399 | 199 | ||
| 400 | ,KC_TRNS ,KC_TRNS | 200 | ,KC_TRNS ,KC_TRNS |
| 401 | ,KC_TRNS | 201 | ,KC_TRNS |
| 402 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | 202 | ,KC_TRNS ,KC_TRNS ,KC_TRNS |
| 403 | |||
| 404 | // right hand | ||
| 405 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_FN1 | ||
| 406 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 407 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 408 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 409 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 410 | |||
| 411 | ,KC_TRNS ,KC_TRNS | ||
| 412 | ,KC_TRNS | ||
| 413 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 414 | ) | 203 | ) |
| 415 | }; | 204 | }; |
| 416 | 205 | ||
| 417 | const uint16_t PROGMEM fn_actions[] = { | 206 | const uint16_t PROGMEM fn_actions[] = { |
| 418 | [1] = ACTION_LAYER_CLEAR(ON_PRESS) // FN1 - clear to base layer | 207 | // the six faux shift keys are implemented as macro taps |
| 419 | ,[2] = ACTION_LAYER_INVERT(SYMB_LK, ON_PRESS) // FN2 - toggle to Symbols on press | 208 | [LSymb] = ACTION_MACRO_TAP(LSymb) |
| 420 | ,[3] = ACTION_LAYER_INVERT(MDIA_LK, ON_PRESS) // FN3 - toggle to Media on press | 209 | ,[LMdia] = ACTION_MACRO_TAP(LMdia) |
| 210 | ,[LLock] = ACTION_MACRO_TAP(LLock) | ||
| 211 | ,[RSymb] = ACTION_MACRO_TAP(RSymb) | ||
| 212 | ,[RMdia] = ACTION_MACRO_TAP(RMdia) | ||
| 213 | ,[RLock] = ACTION_MACRO_TAP(RLock) | ||
| 421 | }; | 214 | }; |
| 422 | 215 | ||
| 216 | uint16_t symb_shift = 0; // there are two shift keys for each layer, and two lock | ||
| 217 | uint16_t mdia_shift = 0; // keys; we increment a counter for each key pressed and | ||
| 218 | uint16_t shift_lock = 0; // decrement when released. | ||
| 219 | |||
| 220 | bool symb_lock = false; // when shift-lock is used in conjunction with a shift | ||
| 221 | bool mdia_lock = false; // key the lock flag is toggled | ||
| 222 | |||
| 423 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | 223 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) |
| 424 | { | 224 | { |
| 425 | // MACRODOWN only works in this function | 225 | switch(id) { |
| 426 | switch(id) { | 226 | // shift and lock between layers |
| 427 | case 0: | 227 | |
| 228 | case LSymb: | ||
| 229 | if (record->event.pressed) { | ||
| 230 | symb_shift++; | ||
| 231 | if(shift_lock) symb_lock = !symb_lock; | ||
| 232 | layer_on(SYMB); | ||
| 233 | } else { | ||
| 234 | symb_shift--; | ||
| 235 | if((!symb_shift) && (!symb_lock)) layer_off(SYMB); | ||
| 236 | } | ||
| 237 | break; | ||
| 238 | |||
| 239 | case LMdia: | ||
| 428 | if (record->event.pressed) { | 240 | if (record->event.pressed) { |
| 429 | register_code(KC_RSFT); | 241 | if (record->tap.count && !shift_lock) { |
| 242 | register_code(KC_TAB); | ||
| 243 | } else { | ||
| 244 | mdia_shift++; | ||
| 245 | if(shift_lock) mdia_lock = !mdia_lock; | ||
| 246 | layer_on(MDIA); | ||
| 247 | } | ||
| 430 | } else { | 248 | } else { |
| 431 | unregister_code(KC_RSFT); | 249 | if(record->tap.count && !shift_lock) { |
| 250 | unregister_code(KC_TAB); | ||
| 251 | } else { | ||
| 252 | mdia_shift--; | ||
| 253 | if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA); | ||
| 254 | } | ||
| 255 | } | ||
| 256 | break; | ||
| 257 | |||
| 258 | case LLock: | ||
| 259 | if (record->event.pressed) { | ||
| 260 | shift_lock++; | ||
| 261 | if(symb_shift) symb_lock = !symb_lock; | ||
| 262 | if(mdia_shift) mdia_lock = !mdia_lock; | ||
| 263 | if(!record->tap.count && (keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))) { | ||
| 264 | register_code(KC_CAPS); | ||
| 265 | unregister_code(KC_CAPS); | ||
| 266 | } | ||
| 267 | layer_on(LOCK); | ||
| 268 | } else { | ||
| 269 | if(record->tap.count && !record->tap.interrupted && !symb_shift && !mdia_shift) { | ||
| 270 | register_code(KC_GRV); | ||
| 271 | unregister_code(KC_GRV); | ||
| 272 | } | ||
| 273 | shift_lock--; | ||
| 274 | if(!shift_lock) layer_off(LOCK); | ||
| 432 | } | 275 | } |
| 433 | break; | 276 | break; |
| 434 | } | 277 | |
| 278 | case RSymb: | ||
| 279 | if (record->event.pressed) { | ||
| 280 | if (record->tap.count && !shift_lock) { | ||
| 281 | register_code(KC_QUOT); | ||
| 282 | } else { | ||
| 283 | symb_shift++; | ||
| 284 | if(shift_lock) symb_lock = !symb_lock; | ||
| 285 | layer_on(SYMB); | ||
| 286 | } | ||
| 287 | } else { | ||
| 288 | if(record->tap.count && !shift_lock) { | ||
| 289 | unregister_code(KC_QUOT); | ||
| 290 | } else { | ||
| 291 | symb_shift--; | ||
| 292 | if((!symb_shift) && (!symb_lock)) layer_off(SYMB); | ||
| 293 | } | ||
| 294 | } | ||
| 295 | break; | ||
| 296 | |||
| 297 | case RMdia: | ||
| 298 | if (record->event.pressed) { | ||
| 299 | if (record->tap.count && !shift_lock) { | ||
| 300 | register_code(KC_BSLS); | ||
| 301 | } else { | ||
| 302 | mdia_shift++; | ||
| 303 | if(shift_lock) mdia_lock = !mdia_lock; | ||
| 304 | layer_on(MDIA); | ||
| 305 | } | ||
| 306 | } else { | ||
| 307 | if(record->tap.count && !shift_lock) { | ||
| 308 | unregister_code(KC_BSLS); | ||
| 309 | } else { | ||
| 310 | mdia_shift--; | ||
| 311 | if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA); | ||
| 312 | } | ||
| 313 | } | ||
| 314 | break; | ||
| 315 | |||
| 316 | case RLock: | ||
| 317 | if (record->event.pressed) { | ||
| 318 | shift_lock++; | ||
| 319 | if(symb_shift) symb_lock = !symb_lock; | ||
| 320 | if(mdia_shift) mdia_lock = !mdia_lock; | ||
| 321 | if(!record->tap.count && (keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))) { | ||
| 322 | register_code(KC_CAPS); | ||
| 323 | unregister_code(KC_CAPS); | ||
| 324 | } | ||
| 325 | layer_on(LOCK); | ||
| 326 | } else { | ||
| 327 | if (record->tap.count && !record->tap.interrupted && !symb_shift && !mdia_shift) { | ||
| 328 | register_code(KC_EQL); | ||
| 329 | unregister_code(KC_EQL); | ||
| 330 | } | ||
| 331 | shift_lock--; | ||
| 332 | if(!shift_lock) layer_off(LOCK); | ||
| 333 | } | ||
| 334 | break; | ||
| 335 | |||
| 336 | // mouse diagonals | ||
| 337 | |||
| 338 | case MUL: // mouse up left | ||
| 339 | if (record->event.pressed) { | ||
| 340 | mousekey_on(KC_MS_UP); | ||
| 341 | mousekey_on(KC_MS_LEFT); | ||
| 342 | mousekey_send(); | ||
| 343 | } else { | ||
| 344 | mousekey_off(KC_MS_UP); | ||
| 345 | mousekey_off(KC_MS_LEFT); | ||
| 346 | mousekey_send(); | ||
| 347 | } | ||
| 348 | break; | ||
| 349 | |||
| 350 | case MUR: // mouse up right | ||
| 351 | if (record->event.pressed) { | ||
| 352 | mousekey_on(KC_MS_UP); | ||
| 353 | mousekey_on(KC_MS_RIGHT); | ||
| 354 | mousekey_send(); | ||
| 355 | } else { | ||
| 356 | mousekey_off(KC_MS_UP); | ||
| 357 | mousekey_off(KC_MS_RIGHT); | ||
| 358 | mousekey_send(); | ||
| 359 | } | ||
| 360 | break; | ||
| 361 | |||
| 362 | case MDL: // mouse down left | ||
| 363 | if (record->event.pressed) { | ||
| 364 | mousekey_on(KC_MS_DOWN); | ||
| 365 | mousekey_on(KC_MS_LEFT); | ||
| 366 | mousekey_send(); | ||
| 367 | } else { | ||
| 368 | mousekey_off(KC_MS_DOWN); | ||
| 369 | mousekey_off(KC_MS_LEFT); | ||
| 370 | mousekey_send(); | ||
| 371 | } | ||
| 372 | break; | ||
| 373 | |||
| 374 | case MDR: // mouse down right | ||
| 375 | if (record->event.pressed) { | ||
| 376 | mousekey_on(KC_MS_DOWN); | ||
| 377 | mousekey_on(KC_MS_RIGHT); | ||
| 378 | mousekey_send(); | ||
| 379 | } else { | ||
| 380 | mousekey_off(KC_MS_DOWN); | ||
| 381 | mousekey_off(KC_MS_RIGHT); | ||
| 382 | mousekey_send(); | ||
| 383 | } | ||
| 384 | break; | ||
| 385 | |||
| 386 | default: | ||
| 387 | // none | ||
| 388 | break; | ||
| 389 | } | ||
| 390 | |||
| 435 | return MACRO_NONE; | 391 | return MACRO_NONE; |
| 436 | }; | 392 | }; |
| 437 | 393 | ||
| @@ -442,8 +398,6 @@ void matrix_init_user(void) { | |||
| 442 | 398 | ||
| 443 | // Runs constantly in the background, in a loop. | 399 | // Runs constantly in the background, in a loop. |
| 444 | void matrix_scan_user(void) { | 400 | void matrix_scan_user(void) { |
| 445 | uint8_t layer = biton32(layer_state); | ||
| 446 | |||
| 447 | // shift or caps lock turns on red light | 401 | // shift or caps lock turns on red light |
| 448 | if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) { | 402 | if((keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) { |
| 449 | ergodox_right_led_1_on(); | 403 | ergodox_right_led_1_on(); |
| @@ -451,22 +405,15 @@ void matrix_scan_user(void) { | |||
| 451 | ergodox_right_led_1_off(); | 405 | ergodox_right_led_1_off(); |
| 452 | } | 406 | } |
| 453 | 407 | ||
| 454 | // do not change lights while locking and unlocking | 408 | // Symbol layer turns on green light |
| 455 | if(layer == LOCK || layer == SYMB_UN || layer == MDIA_UN || layer == UNLOCK) { | 409 | if(layer_state & (1UL<<SYMB)) { |
| 456 | return; | ||
| 457 | } | ||
| 458 | |||
| 459 | //ergodox_board_led_off(); | ||
| 460 | |||
| 461 | // symbol turns on green light | ||
| 462 | if(layer == SYMB_SH || layer == SYMB_LK) { | ||
| 463 | ergodox_right_led_2_on(); | 410 | ergodox_right_led_2_on(); |
| 464 | } else { | 411 | } else { |
| 465 | ergodox_right_led_2_off(); | 412 | ergodox_right_led_2_off(); |
| 466 | } | 413 | } |
| 467 | 414 | ||
| 468 | // media turns on blue light | 415 | // Media layer turns on blue light |
| 469 | if(layer == MDIA_SH || layer == MDIA_LK) { | 416 | if(layer_state & (1UL<<MDIA)) { |
| 470 | ergodox_right_led_3_on(); | 417 | ergodox_right_led_3_on(); |
| 471 | } else { | 418 | } else { |
| 472 | ergodox_right_led_3_off(); | 419 | ergodox_right_led_3_off(); |
