diff options
| author | Erez Zukerman <bulk@ezuk.org> | 2016-10-13 06:41:51 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-13 06:41:51 -0400 |
| commit | 0a9ad8f335f5b5b9d184d9e5e9ece6cda149df7e (patch) | |
| tree | 21efeb402b250ece4c62e39e71eec06d925eaea3 /keyboards | |
| parent | 16e362cfc4ced19c8cd7770e85ea9eb931fa1891 (diff) | |
| parent | 0853227edecf256a398347fb292a9fda74f242cb (diff) | |
| download | qmk_firmware-0a9ad8f335f5b5b9d184d9e5e9ece6cda149df7e.tar.gz qmk_firmware-0a9ad8f335f5b5b9d184d9e5e9ece6cda149df7e.zip | |
Merge pull request #818 from pvinis/pvinis-keymap
pvinis keymap
Diffstat (limited to 'keyboards')
| -rw-r--r-- | keyboards/ergodox/keymaps/pvinis/Changelog.md | 7 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/pvinis/Makefile | 9 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/pvinis/Readme.md | 65 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/pvinis/keymap.c | 430 |
4 files changed, 511 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/pvinis/Changelog.md b/keyboards/ergodox/keymaps/pvinis/Changelog.md new file mode 100644 index 000000000..e5816200b --- /dev/null +++ b/keyboards/ergodox/keymaps/pvinis/Changelog.md | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | ## v0.3 | ||
| 2 | |||
| 3 | *2016-10-11* | ||
| 4 | |||
| 5 | ### Starting point | ||
| 6 | |||
| 7 | * The starting point of this keymap. A beginner layout, and a couple placeholders. | ||
diff --git a/keyboards/ergodox/keymaps/pvinis/Makefile b/keyboards/ergodox/keymaps/pvinis/Makefile new file mode 100644 index 000000000..7ceb51ce4 --- /dev/null +++ b/keyboards/ergodox/keymaps/pvinis/Makefile | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | CONSOLE_ENABLE = no # for debugging | ||
| 2 | |||
| 3 | SLEEP_LED_ENABLE = no # no led blinking while sleeping | ||
| 4 | NKRO_ENABLE = yes # disable for windows | ||
| 5 | TAP_DANCE_ENABLE = yes # tap-tap-tap | ||
| 6 | |||
| 7 | ifndef QUANTUM_DIR | ||
| 8 | include ../../../../Makefile | ||
| 9 | endif | ||
diff --git a/keyboards/ergodox/keymaps/pvinis/Readme.md b/keyboards/ergodox/keymaps/pvinis/Readme.md new file mode 100644 index 000000000..2a4a0c8f3 --- /dev/null +++ b/keyboards/ergodox/keymaps/pvinis/Readme.md | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | pvinis' keymap | ||
| 2 | ============== | ||
| 3 | |||
| 4 | This is a getting-used-to keymap for the [ErgoDox EZ][ez]. It's very much a work in progress. | ||
| 5 | |||
| 6 | [ez]: https://ergodox-ez.com/ | ||
| 7 | |||
| 8 | ## Table of Contents | ||
| 9 | |||
| 10 | * [Todo](#todo) | ||
| 11 | * [Layouts](#layouts) | ||
| 12 | - [Base layer](#base-layer) | ||
| 13 | - [Beginner layer](#beginner-layer) | ||
| 14 | - [QWERTY layer](#qwerty-layer) | ||
| 15 | - [CARPALX layer](#carpalx-layer) | ||
| 16 | - [System Control layer](#system-control-layer) | ||
| 17 | - [Template layers](#template-layers) | ||
| 18 | * [Building](#building) | ||
| 19 | |||
| 20 | # Todo | ||
| 21 | |||
| 22 | - [ ] Generate images from keymap | ||
| 23 | - [ ] Implement algernon's heatmap | ||
| 24 | - [ ] Implement `KC_POP` | ||
| 25 | |||
| 26 | # Layouts | ||
| 27 | |||
| 28 | ## Base layer | ||
| 29 | |||
| 30 | This is the base layer that contains the common buttons of all keymaps. Right now, it has the top left button as a `flash` button when it's tapped 4 times, and the two thumb islands. The islands contain the `space` and `enter` keys on the right, the `backspace` and `shift` on the left, and all the 1x1 keys are just layer switches. | ||
| 31 | Every time I connect the keyboard, I press the `BEGIN` layer switch, and then start typing. | ||
| 32 | Recently, I added a few application "shortcuts", that basically call `ctrl`+`alt`+`cmd`+`<key>`, and `<key>` is `S` for Slack, `X` for Xcode, `M` for Messenger. Using [Hammerspoon][hammerspoon], I show/hide the application. | ||
| 33 | |||
| 34 | [hammerspoon]: http://www.hammerspoon.org/ | ||
| 35 | |||
| 36 | ## Beginner layer | ||
| 37 | |||
| 38 | This is a basic keymap I use right now until I'm comfortable typing on the Ergodox. Currently uses a QWERTY layout, and the `([{}])` on the middle keys. Not a perfect layout, and its going to go away at some point, but for now thats my daily driver. | ||
| 39 | |||
| 40 | ## QWERTY layer | ||
| 41 | |||
| 42 | This is basically the same as the `BEGIN` layer, but it might go away. I'm not using it, but I should have a QWERTY layout on the keyboard, in case someone else wants to try it out, or if I completely forget how keyboards work! At some point, this and the `BEGIN` layer will become one. | ||
| 43 | |||
| 44 | ## CARPALX layer | ||
| 45 | |||
| 46 | This is here as a placeholder. I want to transition to [Carpalx QGMLWY][carpalx] or [White][white] at some point. They both look very interesting and more comfortable to type on, but after I'm confident with typing on the Ergodox. | ||
| 47 | |||
| 48 | [carpalx]: http://mkweb.bcgsc.ca/carpalx/?full_optimization | ||
| 49 | [white]: https://github.com/mw8/white_keyboard_layout | ||
| 50 | |||
| 51 | ## System Control layer | ||
| 52 | |||
| 53 | This one is a layer that, in time, will have controls like mouse movement, volume up/down, mute, sleep, restart, shutdown, etc. | ||
| 54 | |||
| 55 | ## Template layers | ||
| 56 | |||
| 57 | I have two commented out layers that are just templates, so I can easily create a new layer. | ||
| 58 | |||
| 59 | # Building | ||
| 60 | |||
| 61 | ``` | ||
| 62 | $ git clone https://github.com/jackhumbert/qmk_firmware.git | ||
| 63 | $ cd qmk_firmware/keyboards/ergodox/keymaps/pvinis | ||
| 64 | $ make | ||
| 65 | ``` | ||
diff --git a/keyboards/ergodox/keymaps/pvinis/keymap.c b/keyboards/ergodox/keymaps/pvinis/keymap.c new file mode 100644 index 000000000..df906201a --- /dev/null +++ b/keyboards/ergodox/keymaps/pvinis/keymap.c | |||
| @@ -0,0 +1,430 @@ | |||
| 1 | // pvinis' ergodox keymap | ||
| 2 | |||
| 3 | #include "ergodox.h" | ||
| 4 | #include "mousekey.h" | ||
| 5 | |||
| 6 | // easier name for left ctrl-alt-gui | ||
| 7 | #define ALLM(kc) LCAG(kc) | ||
| 8 | |||
| 9 | // layers | ||
| 10 | enum { | ||
| 11 | BASE = 0, | ||
| 12 | BEGIN, | ||
| 13 | QWERTY, | ||
| 14 | CARPALX, | ||
| 15 | SYSCTL, | ||
| 16 | }; | ||
| 17 | |||
| 18 | // extra keys | ||
| 19 | enum { | ||
| 20 | NONE = 0, | ||
| 21 | |||
| 22 | // mouse | ||
| 23 | MS_UL, // up left | ||
| 24 | MS_UR, // up right | ||
| 25 | MS_DL, // down left | ||
| 26 | MS_DR, // down right | ||
| 27 | |||
| 28 | // tap dance | ||
| 29 | TD_FLSH, // flash keyboard | ||
| 30 | }; | ||
| 31 | |||
| 32 | // application selection | ||
| 33 | // this is sending ctrl-alt-gui-<key>, and this is picked up by hammerspoon | ||
| 34 | #define AP_SLCK ALLM(KC_S) | ||
| 35 | #define AP_XCOD ALLM(KC_X) | ||
| 36 | #define AP_MSGR ALLM(KC_M) | ||
| 37 | |||
| 38 | // keymaps | ||
| 39 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 40 | /* BASE | ||
| 41 | * the base of the keyboard. | ||
| 42 | * | ||
| 43 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 44 | * |4x FLASH| | | | | | | | | | | | | | | | ||
| 45 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 46 | * | | | | | | | | | | | | | | | | | ||
| 47 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 48 | * | | | | | | |------| |------| | | | | | | | ||
| 49 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 50 | * | | | | | | | | | | | | | | | | | ||
| 51 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 52 | * | | | | | | | | | | | | | ||
| 53 | * `----------------------------------' `----------------------------------' | ||
| 54 | * ,-------------. ,-------------. | ||
| 55 | * |BEGIN |QWERTY| |SYSCTL| | | ||
| 56 | * ,------|------|------| |------+--------+------. | ||
| 57 | * | | |CARPAL| |Slack | | | | ||
| 58 | * |Backsp|LShift|------| |------| Enter |Space | | ||
| 59 | * | | |SYSCTL| |Msngr | | | | ||
| 60 | * `--------------------' `----------------------' | ||
| 61 | */ | ||
| 62 | [BASE] = KEYMAP( | ||
| 63 | TD(TD_FLSH) ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 64 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 65 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 66 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 67 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 68 | |||
| 69 | ,TG(BEGIN) ,TG(QWERTY) | ||
| 70 | ,TG(CARPALX) | ||
| 71 | ,KC_BSPC ,KC_LSFT ,TG(SYSCTL) | ||
| 72 | |||
| 73 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 74 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 75 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 76 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 77 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 78 | |||
| 79 | ,TG(SYSCTL) ,KC_NO | ||
| 80 | ,AP_SLCK | ||
| 81 | ,AP_MSGR ,KC_ENT ,KC_SPC | ||
| 82 | ), | ||
| 83 | |||
| 84 | /* BEGIN | ||
| 85 | * a beginner's keymap i currently use. | ||
| 86 | * | ||
| 87 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 88 | * | | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | = | | ||
| 89 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 90 | * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ | | ||
| 91 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 92 | * |Esc/Ctrl| A | S | D | F | G |------| |------| H | J | K | L | ; | Enter | | ||
| 93 | * |--------+------+------+------+------+------| ( | | ) |------+------+------+------+------+--------| | ||
| 94 | * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | | ||
| 95 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 96 | * | | ` | Cmd | | Cmd | | | | | ' | | | ||
| 97 | * `----------------------------------' `----------------------------------' | ||
| 98 | * ,-------------. ,-------------. | ||
| 99 | * | | | | | | | ||
| 100 | * ,------|------|------| |------+--------+------. | ||
| 101 | * | | | | | | | | | ||
| 102 | * | | |------| |------| | | | ||
| 103 | * | | | | | | | | | ||
| 104 | * `--------------------' `----------------------' | ||
| 105 | */ | ||
| 106 | [BEGIN] = KEYMAP( | ||
| 107 | KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 | ||
| 108 | ,KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC | ||
| 109 | ,CTL_T(KC_ESC) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G | ||
| 110 | ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LPRN | ||
| 111 | ,KC_TRNS ,KC_GRV ,KC_LGUI ,KC_LEFT ,KC_RIGHT | ||
| 112 | |||
| 113 | ,KC_TRNS ,KC_TRNS | ||
| 114 | ,KC_TRNS | ||
| 115 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 116 | |||
| 117 | ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,KC_EQL | ||
| 118 | ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS | ||
| 119 | ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT | ||
| 120 | ,KC_RPRN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT | ||
| 121 | ,KC_UP ,KC_DOWN ,KC_TRNS ,KC_QUOT ,KC_TRNS | ||
| 122 | |||
| 123 | ,KC_TRNS ,KC_TRNS | ||
| 124 | ,KC_TRNS | ||
| 125 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 126 | ), | ||
| 127 | |||
| 128 | /* QWERTY | ||
| 129 | * the default qwerty keymap. not really used, but i'll keep it here for now. | ||
| 130 | * | ||
| 131 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 132 | * | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | | | ||
| 133 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 134 | * | | Q | W | E | R | T | | | | Y | U | I | O | P | | | ||
| 135 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 136 | * | | A | S | D | F | G |------| |------| H | J | K | L | ; | | | ||
| 137 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 138 | * | | Z | X | C | V | B | | | | N | M | , | . | / | | | ||
| 139 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 140 | * | | | | | | | | | | | | | ||
| 141 | * `----------------------------------' `----------------------------------' | ||
| 142 | * ,-------------. ,-------------. | ||
| 143 | * | | | | | | | ||
| 144 | * ,------|------|------| |------+--------+------. | ||
| 145 | * | | | | | | | | | ||
| 146 | * | | |------| |------| | | | ||
| 147 | * | | | | | | | | | ||
| 148 | * `--------------------' `----------------------' | ||
| 149 | */ | ||
| 150 | [QWERTY] = KEYMAP( | ||
| 151 | KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_TRNS | ||
| 152 | ,KC_TRNS ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_TRNS | ||
| 153 | ,KC_TRNS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G | ||
| 154 | ,KC_TRNS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_TRNS | ||
| 155 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 156 | |||
| 157 | ,KC_TRNS ,KC_TRNS | ||
| 158 | ,KC_TRNS | ||
| 159 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 160 | |||
| 161 | ,KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_TRNS | ||
| 162 | ,KC_TRNS ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_TRNS | ||
| 163 | ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_TRNS | ||
| 164 | ,KC_TRNS ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_TRNS | ||
| 165 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 166 | |||
| 167 | ,KC_TRNS ,KC_TRNS | ||
| 168 | ,KC_TRNS | ||
| 169 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 170 | ), | ||
| 171 | |||
| 172 | /* CARPALX | ||
| 173 | * the keymap i would like to transition to. | ||
| 174 | * | ||
| 175 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 176 | * | | 1 | 2 | 3 | 4 | 5 | | | RIGHT| 6 | 7 | 8 | 9 | 0 | | | ||
| 177 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 178 | * | | Q | G | M | L | W | | | L1 | Y | F | U | B | ; | | | ||
| 179 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 180 | * | | D | S | T | N | R |------| |------| I | A | E | O | H | | | ||
| 181 | * |--------+------+------+------+------+------| | | Meh |------+------+------+------+------+--------| | ||
| 182 | * | | Z | X | C | V | J | | | | K | P | , | . | / | | | ||
| 183 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 184 | * | | | | | | | Up | | | | | | ||
| 185 | * `----------------------------------' `----------------------------------' | ||
| 186 | * ,-------------. ,-------------. | ||
| 187 | * | | | | | | | ||
| 188 | * ,------|------|------| |------+------+------. | ||
| 189 | * | | | | | | | | | ||
| 190 | * | | |------| |------| | | | ||
| 191 | * | | | | | | | | | ||
| 192 | * `--------------------' `--------------------' | ||
| 193 | */ | ||
| 194 | [CARPALX] = KEYMAP( | ||
| 195 | KC_TRNS ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_TRNS | ||
| 196 | ,KC_TRNS ,KC_Q ,KC_G ,KC_M ,KC_L ,KC_W ,KC_TRNS | ||
| 197 | ,KC_TRNS ,KC_D ,KC_S ,KC_T ,KC_N ,KC_R | ||
| 198 | ,KC_TRNS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_J ,KC_TRNS | ||
| 199 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 200 | |||
| 201 | ,KC_TRNS ,KC_TRNS | ||
| 202 | ,KC_TRNS | ||
| 203 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 204 | |||
| 205 | ,KC_TRNS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_TRNS | ||
| 206 | ,KC_TRNS ,KC_Y ,KC_F ,KC_U ,KC_B ,KC_SCLN ,KC_TRNS | ||
| 207 | ,KC_I ,KC_A ,KC_E ,KC_O ,KC_H ,KC_TRNS | ||
| 208 | ,KC_TRNS ,KC_K ,KC_P ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_TRNS | ||
| 209 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 210 | |||
| 211 | ,KC_TRNS ,KC_TRNS | ||
| 212 | ,KC_TRNS | ||
| 213 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 214 | ), | ||
| 215 | |||
| 216 | |||
| 217 | /* SYSCTL | ||
| 218 | * a keymap to control my system. | ||
| 219 | * | ||
| 220 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 221 | * | | | | | | | | | | | | Mute |VolDn |VolUp | | | ||
| 222 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 223 | * | | | | | | | | | | |MsUpL | MsUp |MsUpR | | | | ||
| 224 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 225 | * | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | Lock | | ||
| 226 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 227 | * | | | | | | | | | | |MsDnL | MsDn | | | Sleep | | ||
| 228 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 229 | * | | | | | | | | | | | Power| | ||
| 230 | * `----------------------------------' `----------------------------------' | ||
| 231 | * ,-------------. ,-------------. | ||
| 232 | * | | | | |MidClk| | ||
| 233 | * ,------|------|------| |------+------+------. | ||
| 234 | * | | | | | |Left |Right | | ||
| 235 | * | | |------| |------| Click| Click| | ||
| 236 | * | | | | | | | | | ||
| 237 | * `--------------------' `--------------------' | ||
| 238 | */ | ||
| 239 | [SYSCTL] = KEYMAP( | ||
| 240 | KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 241 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 242 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 243 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 244 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 245 | |||
| 246 | ,KC_NO ,KC_NO | ||
| 247 | ,KC_NO | ||
| 248 | ,KC_NO ,KC_NO ,KC_NO | ||
| 249 | |||
| 250 | /*,KC_POP*/,KC_NO ,KC_NO ,KC_NO ,KC_MUTE ,KC_VOLD ,KC_VOLU ,KC_NO | ||
| 251 | /*,KC_PTRN*/,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 252 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,LCTL(LSFT(KC_PWR)) | ||
| 253 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_SLEP | ||
| 254 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_PWR | ||
| 255 | |||
| 256 | ,KC_NO ,KC_NO | ||
| 257 | ,KC_NO | ||
| 258 | ,KC_NO ,KC_NO ,KC_NO | ||
| 259 | ), | ||
| 260 | |||
| 261 | /* TEMPLATE | ||
| 262 | * keymap template with transparent and non-transparent keys | ||
| 263 | * | ||
| 264 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 265 | * | | | | | | | | | | | | | | | | | ||
| 266 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 267 | * | | | | | | | | | | | | | | | | | ||
| 268 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 269 | * | | | | | | |------| |------| | | | | | | | ||
| 270 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 271 | * | | | | | | | | | | | | | | | | | ||
| 272 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 273 | * | | | | | | | | | | | | | ||
| 274 | * `----------------------------------' `----------------------------------' | ||
| 275 | * ,-------------. ,-------------. | ||
| 276 | * | | | | | | | ||
| 277 | * ,------|------|------| |------+--------+------. | ||
| 278 | * | | | | | | | | | ||
| 279 | * | | |------| |------| | | | ||
| 280 | * | | | | | | | | | ||
| 281 | * `--------------------' `----------------------' | ||
| 282 | */ | ||
| 283 | /* | ||
| 284 | [TEMPLATE] = KEYMAP( | ||
| 285 | KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 286 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 287 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 288 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 289 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 290 | |||
| 291 | ,KC_TRNS ,KC_TRNS | ||
| 292 | ,KC_TRNS | ||
| 293 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 294 | |||
| 295 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 296 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 297 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 298 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 299 | ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 300 | |||
| 301 | ,KC_TRNS ,KC_TRNS | ||
| 302 | ,KC_TRNS | ||
| 303 | ,KC_TRNS ,KC_TRNS ,KC_TRNS | ||
| 304 | ), | ||
| 305 | [TEMPLATE] = KEYMAP( | ||
| 306 | KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 307 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 308 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 309 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 310 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 311 | |||
| 312 | ,KC_NO ,KC_NO | ||
| 313 | ,KC_NO | ||
| 314 | ,KC_NO ,KC_NO ,KC_NO | ||
| 315 | |||
| 316 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 317 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 318 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 319 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 320 | ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO | ||
| 321 | |||
| 322 | ,KC_NO ,KC_NO | ||
| 323 | ,KC_NO | ||
| 324 | ,KC_NO ,KC_NO ,KC_NO | ||
| 325 | ), | ||
| 326 | */ | ||
| 327 | }; | ||
| 328 | |||
| 329 | // keyboard initialization | ||
| 330 | void matrix_init_user() { | ||
| 331 | ergodox_led_all_on(); | ||
| 332 | for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { | ||
| 333 | ergodox_led_all_set(i); | ||
| 334 | wait_ms(5); | ||
| 335 | } | ||
| 336 | wait_ms(1000); | ||
| 337 | for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { | ||
| 338 | ergodox_led_all_set(i); | ||
| 339 | wait_ms(10); | ||
| 340 | } | ||
| 341 | ergodox_led_all_off(); | ||
| 342 | } | ||
| 343 | |||
| 344 | // extra keys | ||
| 345 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
| 346 | switch (id) { | ||
| 347 | |||
| 348 | // mouse | ||
| 349 | case MS_UL: | ||
| 350 | if (record->event.pressed) { | ||
| 351 | mousekey_on(KC_MS_UP); | ||
| 352 | mousekey_on(KC_MS_LEFT); | ||
| 353 | } else { | ||
| 354 | mousekey_off(KC_MS_UP); | ||
| 355 | mousekey_off(KC_MS_LEFT); | ||
| 356 | } | ||
| 357 | break; | ||
| 358 | case MS_UR: | ||
| 359 | if (record->event.pressed) { | ||
| 360 | mousekey_on(KC_MS_UP); | ||
| 361 | mousekey_on(KC_MS_RIGHT); | ||
| 362 | } else { | ||
| 363 | mousekey_off(KC_MS_UP); | ||
| 364 | mousekey_off(KC_MS_RIGHT); | ||
| 365 | } | ||
| 366 | break; | ||
| 367 | case MS_DL: | ||
| 368 | if (record->event.pressed) { | ||
| 369 | mousekey_on(KC_MS_DOWN); | ||
| 370 | mousekey_on(KC_MS_LEFT); | ||
| 371 | } else { | ||
| 372 | mousekey_off(KC_MS_DOWN); | ||
| 373 | mousekey_off(KC_MS_LEFT); | ||
| 374 | } | ||
| 375 | break; | ||
| 376 | case MS_DR: | ||
| 377 | if (record->event.pressed) { | ||
| 378 | mousekey_on(KC_MS_DOWN); | ||
| 379 | mousekey_on(KC_MS_RIGHT); | ||
| 380 | } else { | ||
| 381 | mousekey_off(KC_MS_DOWN); | ||
| 382 | mousekey_off(KC_MS_RIGHT); | ||
| 383 | } | ||
| 384 | break; | ||
| 385 | } | ||
| 386 | return MACRO_NONE; | ||
| 387 | } | ||
| 388 | |||
| 389 | // tap dances | ||
| 390 | |||
| 391 | // flash keyboard on 4x tap, with leds | ||
| 392 | void flash_each_tap(qk_tap_dance_state_t *state, void *user_data) { | ||
| 393 | switch (state->count) { | ||
| 394 | case 1: | ||
| 395 | ergodox_right_led_3_on(); | ||
| 396 | break; | ||
| 397 | case 2: | ||
| 398 | ergodox_right_led_2_on(); | ||
| 399 | break; | ||
| 400 | case 3: | ||
| 401 | ergodox_right_led_1_on(); | ||
| 402 | break; | ||
| 403 | case 4: | ||
| 404 | ergodox_right_led_3_off(); | ||
| 405 | wait_ms(50); | ||
| 406 | ergodox_right_led_2_off(); | ||
| 407 | wait_ms(50); | ||
| 408 | ergodox_right_led_1_off(); | ||
| 409 | break; | ||
| 410 | } | ||
| 411 | } | ||
| 412 | |||
| 413 | void flash_dance_finished(qk_tap_dance_state_t *state, void *user_data) { | ||
| 414 | if (state->count >= 4) { | ||
| 415 | reset_keyboard(); | ||
| 416 | reset_tap_dance(state); | ||
| 417 | } | ||
| 418 | } | ||
| 419 | |||
| 420 | void flash_dance_reset(qk_tap_dance_state_t *state, void *user_data) { | ||
| 421 | ergodox_right_led_1_off(); | ||
| 422 | wait_ms(50); | ||
| 423 | ergodox_right_led_2_off(); | ||
| 424 | wait_ms(50); | ||
| 425 | ergodox_right_led_3_off(); | ||
| 426 | } | ||
| 427 | |||
| 428 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 429 | [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ), | ||
| 430 | }; | ||
