diff options
| author | Jack Humbert <jack.humb@gmail.com> | 2017-08-23 22:29:07 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-23 22:29:07 -0400 |
| commit | d2ff66a985b938e87fffe55c1d9f1dc55e356f91 (patch) | |
| tree | 561b3e203033849573a17f5ac6248077ab687676 /layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c | |
| parent | 7260fc3eef98fb7b0e2ed24d3d0d14cf2e613000 (diff) | |
| download | qmk_firmware-d2ff66a985b938e87fffe55c1d9f1dc55e356f91.tar.gz qmk_firmware-d2ff66a985b938e87fffe55c1d9f1dc55e356f91.zip | |
Creates a layouts/ folder for keymaps shared between keyboards (#1609)
* include variables and .h files as pp directives
* start layout compilation
* split ergodoxes up
* don't compile all layouts for everything
* might seg fault
* reset layouts variable
* actually reset layouts
* include rules.mk instead
* remove includes from rules.mk
* update variable setting
* load visualizer from path
* adds some more examples
* adds more layouts
* more boards added
* more boards added
* adds documentation for layouts
* use lowercase names for LAYOUT_
* add layout.json files for each layout
* add community folder, default keymaps for layouts
* touch-up default layouts
* touch-up layouts, some keyboard rules.mk
* update documentation for layouts
* fix up serial/i2c switches
Diffstat (limited to 'layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c')
| -rw-r--r-- | layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c | 408 |
1 files changed, 408 insertions, 0 deletions
diff --git a/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c b/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c new file mode 100644 index 000000000..399135033 --- /dev/null +++ b/layouts/community/ergodox/neo2_on_qwertz_hardware/keymap.c | |||
| @@ -0,0 +1,408 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | #include "action_layer.h" | ||
| 3 | #include "keymap_extras/keymap_german.h" | ||
| 4 | |||
| 5 | #define UM 0 | ||
| 6 | |||
| 7 | #define L0 0 // layer_0 | ||
| 8 | #define L1 1 // layer_1 | ||
| 9 | #define L2 2 // layer_2 | ||
| 10 | #define L3 3 // layer_3 | ||
| 11 | #define L4 4 // layer_4 | ||
| 12 | #define L5 5 // layer_5 | ||
| 13 | #define L6 6 // layer_6 | ||
| 14 | |||
| 15 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 16 | /* | ||
| 17 | .------------------------------------.------------------------------------. | ||
| 18 | |ESC | 1 | 2 | 3 | 4 | 5 | ´ | ` | 6 | 7 | 8 | 9 | 0 | ^ | | ||
| 19 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 20 | |TAB | X | V | L | C | W |Print| | K | H | G | F | Q | ß | | ||
| 21 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 22 | |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | Y | | ||
| 23 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 24 | |LSFT | ü | ö | ä | P | Z |SPACE| | B | M | , | . | J |RSFT | | ||
| 25 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 26 | |LCTL|LGUI|LALT|MO(3)|MO(2)| !MO(2)|MO(3)|APP |RALT|RCTL| | ||
| 27 | '------------------------' '------------------------' | ||
| 28 | .-----------. .-----------. | ||
| 29 | |VOL- |VOL+ | !MUTE |PLAY | | ||
| 30 | .-----+-----+-----! !-----+-----+-----. | ||
| 31 | ! ! | | ! | ! ! | ||
| 32 | ! ! |-----| !-----| ! ! | ||
| 33 | ! CTL ! ! ALT ! ! CTL ! ! ALT ! | ||
| 34 | |ENTER|MO(1)| TAB | !ESC |MO(1)|SPACE| | ||
| 35 | '-----------------' '-----------------' | ||
| 36 | */ | ||
| 37 | [L0] = LAYOUT_ergodox( | ||
| 38 | KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_ACUT, | ||
| 39 | KC_TAB, DE_X, DE_V, DE_L, DE_C, DE_W, KC_PSCR, | ||
| 40 | MO(1), DE_U, DE_I, DE_A, DE_E, DE_O, | ||
| 41 | KC_LSFT, DE_UE, DE_OE, DE_AE, DE_P, DE_Z, KC_SPACE, | ||
| 42 | KC_LCTL, KC_LGUI, KC_LALT, MO(3), MO(2), | ||
| 43 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLD, KC_VOLU, | ||
| 44 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
| 45 | /*-*/ /*-*/ /*-*/ /*-*/ CTL_T(KC_ENTER), MO(1), ALT_T(KC_TAB), | ||
| 46 | DE_GRV, DE_6, DE_7, DE_8, DE_9, DE_0, DE_CIRC, | ||
| 47 | KC_TRNS, DE_K, DE_H, DE_G, DE_F, DE_Q, DE_SS, | ||
| 48 | /*-*/ DE_S, DE_N, DE_R, DE_T, DE_D, DE_Y, | ||
| 49 | KC_TRNS, DE_B, DE_M, DE_COMM, DE_DOT, DE_J, KC_RSFT, | ||
| 50 | /*-*/ /*-*/ MO(2), MO(3), KC_APP, KC_RALT, KC_RCTL, | ||
| 51 | KC_MUTE, KC_MPLY, | ||
| 52 | KC_TRNS, | ||
| 53 | CTL_T(KC_ESC), MO(1), ALT_T(KC_SPACE) | ||
| 54 | ), | ||
| 55 | /* | ||
| 56 | .------------------------------------.------------------------------------. | ||
| 57 | | | | | | | | | | | | | | | | | ||
| 58 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 59 | | | € | _ | [ | ] | | | | ! | < | > | = | & | | | ||
| 60 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 61 | | | \ | / | { | } | * |-----!-----! ? | ( | ) | - | : | @ | | ||
| 62 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 63 | | | # | $ | | | ~ | | | | + | % | " | ' | ; | | | ||
| 64 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 65 | | | | | | | ! | | | | | | ||
| 66 | '------------------------' '------------------------' | ||
| 67 | .-----------. .-----------. | ||
| 68 | | | | ! | | | ||
| 69 | .-----+-----+-----! !-----+-----+-----. | ||
| 70 | ! ! | | ! | ! ! | ||
| 71 | ! ! !-----! !-----! ! ! | ||
| 72 | | | | | ! | | | | ||
| 73 | '-----------------' '-----------------' | ||
| 74 | */ | ||
| 75 | [L1] = LAYOUT_ergodox( | ||
| 76 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 77 | KC_TRNS, DE_EURO, DE_UNDS, DE_LBRC, DE_RBRC, KC_TRNS, KC_TRNS, | ||
| 78 | KC_TRNS, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, | ||
| 79 | KC_TRNS, DE_HASH, DE_DLR, DE_PIPE, DE_TILD, KC_TRNS, KC_TRNS, | ||
| 80 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 81 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
| 82 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
| 83 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 84 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 85 | KC_TRNS, DE_EXLM, DE_LESS, DE_MORE, DE_EQL, DE_AMPR, KC_TRNS, | ||
| 86 | /*-*/ DE_QST, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, DE_AT, | ||
| 87 | KC_TRNS, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, KC_TRNS, | ||
| 88 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 89 | KC_TRNS, KC_TRNS, | ||
| 90 | KC_TRNS, | ||
| 91 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 92 | ), | ||
| 93 | /* | ||
| 94 | * .------------------------------------.------------------------------------. | ||
| 95 | * | | | | | | | | | | | | | | | | ||
| 96 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 97 | * | |PGUP|BSPC| UP |DEL |PGDN| | | | 7 | 8 | 9 | | | | ||
| 98 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 99 | * | |HOME|LEFT|DOWN|RGHT|END |-----!-----! | 4 | 5 | 6 | | | | ||
| 100 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 101 | * | | | |PREV|NEXT| | | | | 1 | 2 | 3 | | | | ||
| 102 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 103 | * | | | | | | ! | | | | | | ||
| 104 | * '------------------------' '------------------------' | ||
| 105 | * .-----------. .-----------. | ||
| 106 | * | | | ! | | | ||
| 107 | * .-----+-----+-----! !-----+-----+-----. | ||
| 108 | * ! ! | | ! | ! ! | ||
| 109 | * ! ! !-----! !-----! ! ! | ||
| 110 | * | | | | ! | | 0 | | ||
| 111 | * '-----------------' '-----------------' | ||
| 112 | */ | ||
| 113 | [L2] = LAYOUT_ergodox( | ||
| 114 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 115 | KC_TRNS, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_TRNS, | ||
| 116 | KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, | ||
| 117 | KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, | ||
| 118 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 119 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
| 120 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
| 121 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 122 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 123 | KC_TRNS, KC_TRNS, DE_7, DE_8, DE_9, KC_TRNS, KC_TRNS, | ||
| 124 | /*-*/ KC_TRNS, DE_4, DE_5, DE_6, KC_TRNS, KC_TRNS, | ||
| 125 | KC_TRNS, KC_TRNS, DE_1, DE_2, DE_3, KC_TRNS, KC_TRNS, | ||
| 126 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 127 | KC_TRNS, KC_TRNS, | ||
| 128 | KC_TRNS, | ||
| 129 | KC_TRNS, KC_TRNS, DE_0 | ||
| 130 | ), | ||
| 131 | /* | ||
| 132 | * .------------------------------------.------------------------------------. | ||
| 133 | * | | F1 | F2 | F3 | F4 | F5 | F6 | | | | | | | | | ||
| 134 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 135 | * | | F7 | F8 | F9 | F10| F11| F12 | | |M_WU|M_CU|M_WD| | | | ||
| 136 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 137 | * |M_B5 |M_B4|M_B3|M_B2|M_B1| |-----!-----! |M_CL|M_CD|M_CR| | | | ||
| 138 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 139 | * | | |M_A2|M_A1|M_A0| | | | | | | | | | | ||
| 140 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 141 | * | | | | | | ! | | | | | | ||
| 142 | * '------------------------' '------------------------' | ||
| 143 | * .-----------. .-----------. | ||
| 144 | * | | | ! | | | ||
| 145 | * .-----+-----+-----! !-----+-----+-----. | ||
| 146 | * ! ! | | ! | ! ! | ||
| 147 | * ! ! !-----! !-----! ! ! | ||
| 148 | * | | | | ! | | | | ||
| 149 | * '-----------------' '-----------------' | ||
| 150 | */ | ||
| 151 | [L3] = LAYOUT_ergodox( | ||
| 152 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, | ||
| 153 | KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | ||
| 154 | KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_BTN1, KC_TRNS, | ||
| 155 | KC_TRNS, KC_TRNS, KC_ACL2, KC_ACL1, KC_ACL0, KC_TRNS, KC_TRNS, | ||
| 156 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 157 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
| 158 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
| 159 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 160 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 161 | KC_TRNS, KC_TRNS, KC_WH_U, KC_MS_U, KC_WH_D, KC_TRNS, KC_TRNS, | ||
| 162 | /*-*/ KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, | ||
| 163 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 164 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 165 | KC_TRNS, KC_TRNS, | ||
| 166 | KC_TRNS, | ||
| 167 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 168 | ), | ||
| 169 | /* | ||
| 170 | * .------------------------------------.------------------------------------. | ||
| 171 | * | | | | | | | | | | | | | | | | ||
| 172 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 173 | * | | | | | | | | | | | | | | | | ||
| 174 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 175 | * | | | | | | |-----!-----! | | | | | | | ||
| 176 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 177 | * | | | | | | | | | | | | | | | | ||
| 178 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 179 | * | | | | | | ! | | | | | | ||
| 180 | * '------------------------' '------------------------' | ||
| 181 | * .-----------. .-----------. | ||
| 182 | * | | | ! | | | ||
| 183 | * .-----+-----+-----! !-----+-----+-----. | ||
| 184 | * ! ! | | ! | ! ! | ||
| 185 | * ! ! !-----! !-----! ! ! | ||
| 186 | * | | | | ! | | | | ||
| 187 | * '-----------------' '-----------------' | ||
| 188 | */ | ||
| 189 | [L4] = LAYOUT_ergodox( | ||
| 190 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 191 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 192 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 193 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 194 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 195 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
| 196 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
| 197 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 198 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 199 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 200 | /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 201 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 202 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 203 | KC_TRNS, KC_TRNS, | ||
| 204 | KC_TRNS, | ||
| 205 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 206 | ), | ||
| 207 | /* | ||
| 208 | * .------------------------------------.------------------------------------. | ||
| 209 | * | | | | | | | | | | | | | | | | ||
| 210 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 211 | * | | | | | | | | | | | | | | | | ||
| 212 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 213 | * | | | | | | |-----!-----! | | | | | | | ||
| 214 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 215 | * | | | | | | | | | | | | | | | | ||
| 216 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 217 | * | | | | | | ! | | | | | | ||
| 218 | * '------------------------' '------------------------' | ||
| 219 | * .-----------. .-----------. | ||
| 220 | * | | | ! | | | ||
| 221 | * .-----+-----+-----! !-----+-----+-----. | ||
| 222 | * ! ! | | ! | ! ! | ||
| 223 | * ! ! !-----! !-----! ! ! | ||
| 224 | * | | | | ! | | | | ||
| 225 | * '-----------------' '-----------------' | ||
| 226 | */ | ||
| 227 | [L5] = LAYOUT_ergodox( | ||
| 228 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 229 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 230 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 231 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 232 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 233 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
| 234 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
| 235 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 236 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 237 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 238 | /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 239 | 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, | ||
| 241 | KC_TRNS, KC_TRNS, | ||
| 242 | KC_TRNS, | ||
| 243 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 244 | ), | ||
| 245 | /* | ||
| 246 | * .------------------------------------.------------------------------------. | ||
| 247 | * | | | | | | | | | | | | | | | | ||
| 248 | * !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 249 | * | | | | | | | | | | | | | | | | ||
| 250 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 251 | * | | | | | | |-----!-----! | | | | | | | ||
| 252 | * !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 253 | * | | | | | | | | | | | | | | | | ||
| 254 | * '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 255 | * | | | | | | ! | | | | | | ||
| 256 | * '------------------------' '------------------------' | ||
| 257 | * .-----------. .-----------. | ||
| 258 | * | | | ! | | | ||
| 259 | * .-----+-----+-----! !-----+-----+-----. | ||
| 260 | * ! ! | | ! | ! ! | ||
| 261 | * ! ! !-----! !-----! ! ! | ||
| 262 | * | | | | ! | | | | ||
| 263 | * '-----------------' '-----------------' | ||
| 264 | */ | ||
| 265 | [L6] = LAYOUT_ergodox( | ||
| 266 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 267 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 268 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 269 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 270 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 271 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, | ||
| 272 | /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, | ||
| 273 | /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 274 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 275 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 276 | /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 277 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 278 | /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 279 | KC_TRNS, KC_TRNS, | ||
| 280 | KC_TRNS, | ||
| 281 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 282 | ), | ||
| 283 | }; | ||
| 284 | |||
| 285 | const uint16_t PROGMEM fn_actions[] = {}; | ||
| 286 | |||
| 287 | #define UC_MODE_WIN 0 | ||
| 288 | #define UC_MODE_LINUX 1 | ||
| 289 | #define UC_MODE_OSX 2 | ||
| 290 | |||
| 291 | // TODO: allow default mode to be configured | ||
| 292 | static uint16_t unicode_mode = UC_MODE_WIN; | ||
| 293 | |||
| 294 | uint16_t hextokeycode(uint8_t hex) { | ||
| 295 | if (hex == 0x0) { | ||
| 296 | return KC_P0; | ||
| 297 | } | ||
| 298 | if (hex < 0xA) { | ||
| 299 | return KC_P1 + (hex - 0x1); | ||
| 300 | } | ||
| 301 | return KC_A + (hex - 0xA); | ||
| 302 | } | ||
| 303 | |||
| 304 | void unicode_action_function(uint16_t hi, uint16_t lo) { | ||
| 305 | switch (unicode_mode) { | ||
| 306 | case UC_MODE_WIN: | ||
| 307 | register_code(KC_LALT); | ||
| 308 | |||
| 309 | register_code(KC_PPLS); | ||
| 310 | unregister_code(KC_PPLS); | ||
| 311 | |||
| 312 | register_code(hextokeycode((hi & 0xF0) >> 4)); | ||
| 313 | unregister_code(hextokeycode((hi & 0xF0) >> 4)); | ||
| 314 | register_code(hextokeycode((hi & 0x0F))); | ||
| 315 | unregister_code(hextokeycode((hi & 0x0F))); | ||
| 316 | register_code(hextokeycode((lo & 0xF0) >> 4)); | ||
| 317 | unregister_code(hextokeycode((lo & 0xF0) >> 4)); | ||
| 318 | register_code(hextokeycode((lo & 0x0F))); | ||
| 319 | unregister_code(hextokeycode((lo & 0x0F))); | ||
| 320 | |||
| 321 | unregister_code(KC_LALT); | ||
| 322 | break; | ||
| 323 | case UC_MODE_LINUX: | ||
| 324 | register_code(KC_LCTL); | ||
| 325 | register_code(KC_LSFT); | ||
| 326 | |||
| 327 | register_code(KC_U); | ||
| 328 | unregister_code(KC_U); | ||
| 329 | |||
| 330 | register_code(hextokeycode((hi & 0xF0) >> 4)); | ||
| 331 | unregister_code(hextokeycode((hi & 0xF0) >> 4)); | ||
| 332 | register_code(hextokeycode((hi & 0x0F))); | ||
| 333 | unregister_code(hextokeycode((hi & 0x0F))); | ||
| 334 | register_code(hextokeycode((lo & 0xF0) >> 4)); | ||
| 335 | unregister_code(hextokeycode((lo & 0xF0) >> 4)); | ||
| 336 | register_code(hextokeycode((lo & 0x0F))); | ||
| 337 | unregister_code(hextokeycode((lo & 0x0F))); | ||
| 338 | |||
| 339 | unregister_code(KC_LCTL); | ||
| 340 | unregister_code(KC_LSFT); | ||
| 341 | break; | ||
| 342 | case UC_MODE_OSX: | ||
| 343 | break; | ||
| 344 | } | ||
| 345 | } | ||
| 346 | |||
| 347 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
| 348 | if (!record->event.pressed) { | ||
| 349 | return MACRO_NONE; | ||
| 350 | } | ||
| 351 | // MACRODOWN only works in this function | ||
| 352 | switch(id) { | ||
| 353 | case UM: | ||
| 354 | unicode_mode = (unicode_mode + 1) % 2; | ||
| 355 | break; | ||
| 356 | |||
| 357 | |||
| 358 | default: | ||
| 359 | break; | ||
| 360 | } | ||
| 361 | return MACRO_NONE; | ||
| 362 | }; | ||
| 363 | |||
| 364 | // Runs just one time when the keyboard initializes. | ||
| 365 | void matrix_init_user(void) { | ||
| 366 | |||
| 367 | }; | ||
| 368 | |||
| 369 | // Runs constantly in the background, in a loop. | ||
| 370 | void matrix_scan_user(void) { | ||
| 371 | uint8_t layer = biton32(layer_state); | ||
| 372 | |||
| 373 | ergodox_board_led_off(); | ||
| 374 | ergodox_right_led_1_off(); | ||
| 375 | ergodox_right_led_2_off(); | ||
| 376 | ergodox_right_led_3_off(); | ||
| 377 | switch (layer) { | ||
| 378 | case L1: | ||
| 379 | ergodox_right_led_1_on(); | ||
| 380 | break; | ||
| 381 | case L2: | ||
| 382 | ergodox_right_led_2_on(); | ||
| 383 | break; | ||
| 384 | case L3: | ||
| 385 | ergodox_right_led_3_on(); | ||
| 386 | break; | ||
| 387 | case L4: | ||
| 388 | ergodox_right_led_1_on(); | ||
| 389 | ergodox_right_led_2_on(); | ||
| 390 | break; | ||
| 391 | case L5: | ||
| 392 | ergodox_right_led_1_on(); | ||
| 393 | ergodox_right_led_3_on(); | ||
| 394 | break; | ||
| 395 | // case L6: | ||
| 396 | // ergodox_right_led_2_on(); | ||
| 397 | // ergodox_right_led_3_on(); | ||
| 398 | // break; | ||
| 399 | // case L7: | ||
| 400 | // ergodox_right_led_1_on(); | ||
| 401 | // ergodox_right_led_2_on(); | ||
| 402 | // ergodox_right_led_3_on(); | ||
| 403 | // break; | ||
| 404 | default: | ||
| 405 | ergodox_board_led_off(); | ||
| 406 | break; | ||
| 407 | } | ||
| 408 | }; | ||
