diff options
Diffstat (limited to 'keyboards/ergodox/keymaps')
| -rw-r--r-- | keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png | bin | 79488 -> 97053 bytes | |||
| -rw-r--r-- | keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png | bin | 62258 -> 65740 bytes | |||
| -rw-r--r-- | keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-navigation.png | bin | 58886 -> 0 bytes | |||
| -rw-r--r-- | keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.png | bin | 0 -> 73624 bytes | |||
| -rw-r--r-- | keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.png | bin | 0 -> 66132 bytes | |||
| -rw-r--r-- | keyboards/ergodox/keymaps/deadcyclo/keymap.c | 84 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/deadcyclo/readme.md | 9 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/guni/keymap.c | 2 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/italian/keymap.c | 223 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/italian/readme.md | 72 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c | 408 | ||||
| -rw-r--r-- | keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md | 194 |
12 files changed, 971 insertions, 21 deletions
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png index 2c03af581..273a49778 100644 --- a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png +++ b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.png | |||
| Binary files differ | |||
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png index a267ff23d..5930e38ac 100644 --- a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png +++ b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.png | |||
| Binary files differ | |||
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-navigation.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-navigation.png deleted file mode 100644 index c8c90cf5c..000000000 --- a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-navigation.png +++ /dev/null | |||
| Binary files differ | |||
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.png new file mode 100644 index 000000000..0c6473abb --- /dev/null +++ b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.png | |||
| Binary files differ | |||
diff --git a/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.png b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.png new file mode 100644 index 000000000..4488e1b37 --- /dev/null +++ b/keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.png | |||
| Binary files differ | |||
diff --git a/keyboards/ergodox/keymaps/deadcyclo/keymap.c b/keyboards/ergodox/keymaps/deadcyclo/keymap.c index 5774511cc..243ce94e9 100644 --- a/keyboards/ergodox/keymaps/deadcyclo/keymap.c +++ b/keyboards/ergodox/keymaps/deadcyclo/keymap.c | |||
| @@ -5,8 +5,9 @@ | |||
| 5 | 5 | ||
| 6 | #define BASE 0 // default layer | 6 | #define BASE 0 // default layer |
| 7 | #define SYMB 1 // symbols | 7 | #define SYMB 1 // symbols |
| 8 | #define MDIA 2 // media keys | 8 | #define MDIA 2 // media keys and navigation |
| 9 | #define NAVG 3 // navigation | 9 | #define UNI 3 // unicode 1 |
| 10 | #define UNI2 4 // unicode 2 | ||
| 10 | 11 | ||
| 11 | enum macros { | 12 | enum macros { |
| 12 | RUN | 13 | RUN |
| @@ -94,11 +95,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 94 | * ,--------------------------------------------------. ,--------------------------------------------------. | 95 | * ,--------------------------------------------------. ,--------------------------------------------------. |
| 95 | * | Esc/L3 | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | =/L3 | | 96 | * | Esc/L3 | 1 | 2 | 3 | 4 | 5 | 6 | | 6 | 7 | 8 | 9 | 0 | - | =/L3 | |
| 96 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | 97 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| |
| 97 | * | Tab/L1 | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \/L1 | | 98 | * | Tab/L1 | Q | W | E | R | T | L1 | | L2 | Y | U | I | O | P | \/L1 | |
| 98 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 99 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| |
| 99 | * | LCtrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2| ctrl/'| | 100 | * | LCtrl | A | S | D | F | G |------| |------| H | J | K | L | ; | ctrl/'| |
| 100 | * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| | 101 | * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| |
| 101 | * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | | 102 | * | LShift |Z / L4|X / L2| C | V | B | | | | N | M | , |. / L2|/ / L4| RShift | |
| 102 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | 103 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' |
| 103 | * |Grv/L1| UNI |AltShf| Lalt | Ralt | | Lalt | Ralt | LEAD | UNI | ~/L1 | | 104 | * |Grv/L1| UNI |AltShf| Lalt | Ralt | | Lalt | Ralt | LEAD | UNI | ~/L1 | |
| 104 | * `----------------------------------' `----------------------------------' | 105 | * `----------------------------------' `----------------------------------' |
| @@ -114,25 +115,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 114 | // Otherwise, it needs KC_* | 115 | // Otherwise, it needs KC_* |
| 115 | [BASE] = KEYMAP( // layer 0 : default | 116 | [BASE] = KEYMAP( // layer 0 : default |
| 116 | // left hand | 117 | // left hand |
| 117 | LT(NAVG,KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, | 118 | LT(UNI,KC_ESC), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, |
| 118 | LT(SYMB,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), | 119 | LT(SYMB,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), |
| 119 | KC_LCTL, LT(MDIA, KC_A), KC_S, KC_D, KC_F, KC_G, | 120 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, |
| 120 | KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), | 121 | KC_LSFT, LT(4, KC_Z), LT(MDIA, KC_X), KC_C, KC_V, KC_B, ALL_T(KC_NO), |
| 121 | LT(SYMB,KC_GRV),LCTL(LSFT(KC_U)), LALT(KC_LSFT), KC_RALT,KC_LALT, | 122 | LT(SYMB,KC_GRV),LCTL(LSFT(KC_U)), LALT(KC_LSFT), KC_RALT,KC_LALT, |
| 122 | ALT_T(KC_APP), KC_HOME, | 123 | ALT_T(KC_APP), KC_HOME, |
| 123 | KC_END, | 124 | KC_END, |
| 124 | KC_SPC,KC_TAB,KC_LBRC, | 125 | KC_SPC,KC_TAB,KC_LBRC, |
| 125 | // right hand | 126 | // right hand |
| 126 | KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, LT(NAVG,KC_EQL), | 127 | KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, LT(UNI,KC_EQL), |
| 127 | TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, LT(SYMB, KC_BSLS), | 128 | TG(MDIA), KC_Y, KC_U, KC_I, KC_O, KC_P, LT(SYMB, KC_BSLS), |
| 128 | KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),CTL_T(KC_QUOT), | 129 | KC_H, KC_J, KC_K, KC_L, KC_SCLN,CTL_T(KC_QUOT), |
| 129 | MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, | 130 | MEH_T(KC_NO),KC_N, KC_M, KC_COMM,LT(MDIA, KC_DOT), LT(UNI2, KC_SLSH), KC_RSFT, |
| 130 | KC_LALT, KC_RALT,KC_LEAD,LCTL(LSFT(KC_U)), LT(SYMB,KC_TILD), | 131 | KC_LALT, KC_RALT,KC_LEAD,LCTL(LSFT(KC_U)), LT(SYMB,KC_TILD), |
| 131 | KC_PGUP, KC_INS, | 132 | KC_PGUP, KC_INS, |
| 132 | KC_PGDN, | 133 | KC_PGDN, |
| 133 | KC_RBRC,KC_BSPC, KC_ENT | 134 | KC_RBRC,KC_BSPC, KC_ENT |
| 134 | ), | 135 | ), |
| 135 | /* Keymap 1: Symbol Layer LCTL(LSFT(KC_U)) | 136 | /* Keymap 1: Symbol Layer LCTL(LSFT(KC_U)) |
| 136 | * | 137 | * |
| 137 | * ,--------------------------------------------------. ,--------------------------------------------------. | 138 | * ,--------------------------------------------------. ,--------------------------------------------------. |
| 138 | * | | F1 | F2 | F3 | F4 | F5 | F6 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | 139 | * | | F1 | F2 | F3 | F4 | F5 | F6 | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
| @@ -177,13 +178,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 177 | /* Keymap 2: Media, mouse and navigation | 178 | /* Keymap 2: Media, mouse and navigation |
| 178 | * | 179 | * |
| 179 | * ,--------------------------------------------------. ,--------------------------------------------------. | 180 | * ,--------------------------------------------------. ,--------------------------------------------------. |
| 180 | * | | gg(1)| | | | | | | | | | | | | | | 181 | * | | gg(1)| gg(2)| gg(3)| gg(4)| gg(5)| gg(6)| | gg(6)| gg(7)| gg(8)| gg(9)| gg(0)| | | |
| 181 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | 182 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| |
| 182 | * | | | | MsUp | RUN | | | | | | | Up | | | | | 183 | * | | | | MsUp | RUN | | | | | | | Up | | | | |
| 183 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 184 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| |
| 184 | * | | |MsLeft|MsDown|MsRght| |------| |------| | Left | Down | Right| | Play | | 185 | * | | |MsLeft|MsDown|MsRght| |------| |------| | Left | Down | Right| | Play | |
| 185 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 186 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| |
| 186 | * | | | | | | | | | | | | Prev | Next | | | | 187 | * | | | | | | | | | | | Prev | Next | | | | |
| 187 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | 188 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' |
| 188 | * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | | 189 | * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | |
| 189 | * `----------------------------------' `----------------------------------' | 190 | * `----------------------------------' `----------------------------------' |
| @@ -209,7 +210,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS, | |||
| 209 | F(I3_GO_GROUP_6), F(I3_GO_GROUP_7), F(I3_GO_GROUP_8), F(I3_GO_GROUP_9), F(I3_GO_GROUP_10), KC_TRNS, KC_TRNS, | 210 | F(I3_GO_GROUP_6), F(I3_GO_GROUP_7), F(I3_GO_GROUP_8), F(I3_GO_GROUP_9), F(I3_GO_GROUP_10), KC_TRNS, KC_TRNS, |
| 210 | KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, | 211 | KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, |
| 211 | KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_MPLY, | 212 | KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_MPLY, |
| 212 | KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, | 213 | KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, |
| 213 | KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, | 214 | KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, |
| 214 | KC_TRNS, KC_TRNS, | 215 | KC_TRNS, KC_TRNS, |
| 215 | KC_TRNS, | 216 | KC_TRNS, |
| @@ -238,7 +239,7 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS, | |||
| 238 | * `--------------------' `--------------------' | 239 | * `--------------------' `--------------------' |
| 239 | */ | 240 | */ |
| 240 | // Unicode | 241 | // Unicode |
| 241 | [NAVG] = KEYMAP( | 242 | [UNI] = KEYMAP( |
| 242 | KC_TRNS, UC(0x250c), UC(0x2510), UC(0x2514), UC(0x2518), UC(0x2502), UC(0x2500), | 243 | KC_TRNS, UC(0x250c), UC(0x2510), UC(0x2514), UC(0x2518), UC(0x2502), UC(0x2500), |
| 243 | KC_TRNS, F(EMOJI_SHRUG), F(EMOJI_YAY), F(EMOJI_HUG), F(EMOJI_SMILE), F(EMOJI_SMILE2), KC_TRNS, | 244 | KC_TRNS, F(EMOJI_SHRUG), F(EMOJI_YAY), F(EMOJI_HUG), F(EMOJI_SMILE), F(EMOJI_SMILE2), KC_TRNS, |
| 244 | KC_TRNS, F(EMOJI_HMM1), F(EMOJI_HMM2), F(EMOJI_BEAR1), F(EMOJI_BEAR2), F(EMOJI_FUU), | 245 | KC_TRNS, F(EMOJI_HMM1), F(EMOJI_HMM2), F(EMOJI_BEAR1), F(EMOJI_BEAR2), F(EMOJI_FUU), |
| @@ -257,6 +258,48 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, M(RUN), KC_TRNS, KC_TRNS, | |||
| 257 | KC_TRNS, | 258 | KC_TRNS, |
| 258 | KC_TRNS, KC_TRNS, KC_TRNS | 259 | KC_TRNS, KC_TRNS, KC_TRNS |
| 259 | ), | 260 | ), |
| 261 | |||
| 262 | /* Keymap 4: Unicode 2 | ||
| 263 | * | ||
| 264 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 265 | * | | ¹ | ² | ³ | ⁴ | ⁵ | ⁶ | | ⁶ | ⁷ | ⁸ | ⁹ | ⁰ | ℃ | ™ | | ||
| 266 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 267 | * | | ₁ | ₂ | ₃ | ₄ | ₅ | ₆ | | ₆ | ₇ | ₈ | ₉ | ₀ | ⁄ | | | ||
| 268 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 269 | * | | ⅞ | ⅝ | ⅜ | ⅛ | ⅚ |------| |------| ⅓ | ⅒ | ⅑ | ⅐ | ¾ | | | ||
| 270 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 271 | * | | | | ⅗ | ⅖ | ⅕ | ⅔ | | ¼ | ⅙ | ⅘ | ½ | | | | | ||
| 272 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 273 | * | | | | | | | | | | | | | ||
| 274 | * `----------------------------------' `----------------------------------' | ||
| 275 | * ,-------------. ,-------------. | ||
| 276 | * | | | | | | | ||
| 277 | * ,------|------|------| |------+------+------. | ||
| 278 | * | | | | | | | | | ||
| 279 | * | | |------| |------| | | | ||
| 280 | * | | | | | | | | | ||
| 281 | * `--------------------' `--------------------' | ||
| 282 | */ | ||
| 283 | // Unicode 2 | ||
| 284 | [UNI2] = KEYMAP( | ||
| 285 | KC_TRNS, UC(0x00b9), UC(0x00b2), UC(0x00b3), UC(0x2074), UC(0x2075), UC(0x2076), | ||
| 286 | KC_TRNS, UC(0x2081), UC(0x2082), UC(0x2083), UC(0x2084), UC(0x2085), UC(0x2086), | ||
| 287 | KC_TRNS, UC(0x215e), UC(0x215d), UC(0x215c), UC(0x215b), UC(0x215a), | ||
| 288 | KC_TRNS, KC_TRNS, KC_TRNS, UC(0x2157), UC(0x2156), UC(0x2155), UC(0x2154), | ||
| 289 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 290 | KC_TRNS, KC_TRNS, | ||
| 291 | KC_TRNS, | ||
| 292 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 293 | // right hand | ||
| 294 | UC(0x2076), UC(0x2077), UC(0x2078), UC(0x2079), UC(0x2070), UC(0x2103), UC(0x2122), | ||
| 295 | UC(0x2086), UC(0x2087), UC(0x2088), UC(0x2089), UC(0x2080), UC(0x2044), KC_TRNS, | ||
| 296 | UC(0x2153), UC(0x2152), UC(0x2151), UC(0x2150), UC(0x00be), KC_TRNS, | ||
| 297 | UC(0x00bc), UC(0x2159), UC(0x2158), UC(0x00bd), KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 298 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 299 | KC_TRNS, KC_TRNS, | ||
| 300 | KC_TRNS, | ||
| 301 | KC_TRNS, KC_TRNS, KC_TRNS | ||
| 302 | ), | ||
| 260 | }; | 303 | }; |
| 261 | 304 | ||
| 262 | const uint16_t PROGMEM fn_actions[] = { | 305 | const uint16_t PROGMEM fn_actions[] = { |
| @@ -506,8 +549,11 @@ void matrix_scan_user(void) { | |||
| 506 | #endif | 549 | #endif |
| 507 | break; | 550 | break; |
| 508 | case 4: | 551 | case 4: |
| 509 | ergodox_right_led_1_on(); // TODO: Make a fourth layer | 552 | ergodox_right_led_1_on(); |
| 510 | ergodox_right_led_3_on(); | 553 | ergodox_right_led_3_on(); |
| 554 | #ifdef RGBLIGHT_ENABLE | ||
| 555 | rgblight_setrgb(0xff,0x00,0xff); | ||
| 556 | #endif | ||
| 511 | break; | 557 | break; |
| 512 | default: | 558 | default: |
| 513 | // none | 559 | // none |
diff --git a/keyboards/ergodox/keymaps/deadcyclo/readme.md b/keyboards/ergodox/keymaps/deadcyclo/readme.md index fa41f0ec1..c839f99c9 100644 --- a/keyboards/ergodox/keymaps/deadcyclo/readme.md +++ b/keyboards/ergodox/keymaps/deadcyclo/readme.md | |||
| @@ -51,10 +51,16 @@ provides standard media control keys, and default arrow keys. | |||
| 51 | 51 | ||
| 52 | ## Layer 3 - Unicode | 52 | ## Layer 3 - Unicode |
| 53 | 53 | ||
| 54 | [](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289) | 54 | [](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289) |
| 55 | 55 | ||
| 56 | The unicode layer provides keys for directly typing unicode (utf-8) | 56 | The unicode layer provides keys for directly typing unicode (utf-8) |
| 57 | 57 | ||
| 58 | ## Layer 4 - Unicode 2 | ||
| 59 | |||
| 60 | [](http://www.keyboard-layout-editor.com/#/gists/7b2241110ab8311d9668a0798f3baf4a) | ||
| 61 | |||
| 62 | The unicode 2 layer provides keys for directly typing unicode (utf-8) | ||
| 63 | |||
| 58 | # Changelog | 64 | # Changelog |
| 59 | 65 | ||
| 60 | - 02.01.2017 Added delete key on second layer | 66 | - 02.01.2017 Added delete key on second layer |
| @@ -63,6 +69,7 @@ The unicode layer provides keys for directly typing unicode (utf-8) | |||
| 63 | - 24.01.2017 Added unicode keys. Added shrug hug and yay. Moved Navigation to layer 2 | 69 | - 24.01.2017 Added unicode keys. Added shrug hug and yay. Moved Navigation to layer 2 |
| 64 | - 25.01.2017 Added lots of new emojis and some unicode keys | 70 | - 25.01.2017 Added lots of new emojis and some unicode keys |
| 65 | - 27.01.2017 Added new unicode keys and shortcut for ibus unicode composer key (CTRL+SHIFT+U) | 71 | - 27.01.2017 Added new unicode keys and shortcut for ibus unicode composer key (CTRL+SHIFT+U) |
| 72 | - 11.03.2017 Added additional unicode layer. Moved some layer switch keys to more sane locations | ||
| 66 | 73 | ||
| 67 | # TODO | 74 | # TODO |
| 68 | 75 | ||
diff --git a/keyboards/ergodox/keymaps/guni/keymap.c b/keyboards/ergodox/keymaps/guni/keymap.c index f33829b8a..9d9191f62 100644 --- a/keyboards/ergodox/keymaps/guni/keymap.c +++ b/keyboards/ergodox/keymaps/guni/keymap.c | |||
| @@ -170,7 +170,7 @@ void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) | |||
| 170 | if (id == TEENSY_KEY) { | 170 | if (id == TEENSY_KEY) { |
| 171 | clear_keyboard(); | 171 | clear_keyboard(); |
| 172 | print("\n\nJump to bootloader... "); | 172 | print("\n\nJump to bootloader... "); |
| 173 | _delay_ms(250); | 173 | wait_ms(250); |
| 174 | bootloader_jump(); // should not return | 174 | bootloader_jump(); // should not return |
| 175 | print("not supported.\n"); | 175 | print("not supported.\n"); |
| 176 | } | 176 | } |
diff --git a/keyboards/ergodox/keymaps/italian/keymap.c b/keyboards/ergodox/keymaps/italian/keymap.c new file mode 100644 index 000000000..e4c7a569c --- /dev/null +++ b/keyboards/ergodox/keymaps/italian/keymap.c | |||
| @@ -0,0 +1,223 @@ | |||
| 1 | #include "ergodox.h" | ||
| 2 | #include "debug.h" | ||
| 3 | #include "action_layer.h" | ||
| 4 | #include "version.h" | ||
| 5 | |||
| 6 | #define BASE 0 // default layer | ||
| 7 | #define SYMB 1 // symbols | ||
| 8 | #define MDIA 2 // media keys | ||
| 9 | |||
| 10 | enum custom_keycodes { | ||
| 11 | PLACEHOLDER = SAFE_RANGE, // can always be here | ||
| 12 | EPRM, | ||
| 13 | VRSN, | ||
| 14 | RGB_SLD | ||
| 15 | }; | ||
| 16 | |||
| 17 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 18 | /* Keymap 0: Basic layer | ||
| 19 | * | ||
| 20 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 21 | * | \ | 1 | 2 | 3 | 4 | 5 | ESC | | T2 | 6 | 7 | 8 | 9 | 0 | ' | | ||
| 22 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 23 | * | Tab | Q | W | E | R | T | TT1 | | TT1 | Y | U | I | O | P | è | | ||
| 24 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 25 | * | Caps | A | S | D | F | G |------| |------| H | J | K | L | ò | à | | ||
| 26 | * |--------+------+------+------+------+------| Alt | | Alt |------+------+------+------+------+--------| | ||
| 27 | * | LShift | Z | X | C | V | B | | | | N | M | , | . | ù |-/RShift| | ||
| 28 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 29 | * |</Win | + | - | * |//Ctr | |ì/RAlt| Left | Down | Up | Right | ~L1 | | ||
| 30 | * `----------------------------------' `----------------------------------' | ||
| 31 | * ,-------------. ,-------------. | ||
| 32 | * | Ins | LGui | | Win | Ctrl | | ||
| 33 | * ,------|------|------| |------+--------+------. | ||
| 34 | * | | | Home | | PgUp | | | | ||
| 35 | * |Backsp| Del |------| |------| Enter |Space | | ||
| 36 | * |ace | | End | | PgDn | | | | ||
| 37 | * `--------------------' `----------------------' | ||
| 38 | */ | ||
| 39 | // If it accepts an argument (i.e, is a function), it doesn't need KC_. | ||
| 40 | // Otherwise, it needs KC_* | ||
| 41 | [BASE] = KEYMAP( // layer 0 : default | ||
| 42 | // left hand | ||
| 43 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, | ||
| 44 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TT(SYMB), | ||
| 45 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, | ||
| 46 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, | ||
| 47 | MT(MOD_LGUI,KC_NONUS_BSLASH),KC_PPLS, KC_PMNS,KC_PAST,MT(MOD_LCTL,KC_PSLS), | ||
| 48 | KC_INS, KC_LGUI, | ||
| 49 | KC_HOME, | ||
| 50 | KC_BSPC,KC_DEL, KC_END, | ||
| 51 | // right hand | ||
| 52 | TG(MDIA), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, | ||
| 53 | TT(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | ||
| 54 | KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
| 55 | KC_LALT, KC_N, KC_M, KC_COMM,KC_DOT, KC_BSLASH, MT(MOD_RSFT,KC_SLSH), | ||
| 56 | MT(MOD_RALT,KC_EQL), KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT, | ||
| 57 | KC_LGUI, KC_RCTL, | ||
| 58 | KC_PGUP, | ||
| 59 | KC_PGDN, KC_ENT, KC_SPC | ||
| 60 | ), | ||
| 61 | /* Keymap 1: Symbol Layer | ||
| 62 | * | ||
| 63 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 64 | * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | | ||
| 65 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 66 | * | | ! | @ | { | } | | | | | | | 7 | 8 | 9 | | F12 | | ||
| 67 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 68 | * | | # | $ | [ | ] | & |------| |------| | 4 | 5 | 6 | | | | ||
| 69 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 70 | * | | % | ^ | ( | ) | | | | | | 1 | 2 | 3 | | | | ||
| 71 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 72 | * | | | | | | | . | | | | | | ||
| 73 | * `----------------------------------' `----------------------------------' | ||
| 74 | * ,-------------. ,-------------. | ||
| 75 | * | | | | | | | ||
| 76 | * ,------|------|------| |------+------+------. | ||
| 77 | * | | | | | | | | | ||
| 78 | * | | |------| |------| | 0 | | ||
| 79 | * | | | | | | | | | ||
| 80 | * `--------------------' `--------------------' | ||
| 81 | */ | ||
| 82 | // SYMBOLS | ||
| 83 | [SYMB] = KEYMAP( | ||
| 84 | // left hand | ||
| 85 | M(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, | ||
| 86 | KC_TRNS, KC_EXLM, RALT(KC_SCLN), RALT(KC_LCBR), RALT(KC_RCBR), KC_TILD, KC_TRNS, | ||
| 87 | KC_TRNS, RALT(KC_QUOT), KC_DLR, RALT(KC_LBRC), RALT(KC_RBRC), KC_CIRC, | ||
| 88 | KC_TRNS, KC_PERC, LSFT(KC_EQL), LSFT(KC_8), LSFT(KC_9), KC_TRNS, KC_TRNS, | ||
| 89 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 90 | KC_TRNS, KC_TRNS, | ||
| 91 | KC_TRNS, | ||
| 92 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 93 | // right hand | ||
| 94 | KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
| 95 | KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, | ||
| 96 | KC_TRNS, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, | ||
| 97 | KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, | ||
| 98 | KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 99 | KC_TRNS, KC_TRNS, | ||
| 100 | KC_TRNS, | ||
| 101 | KC_TRNS, KC_TRNS, KC_0 | ||
| 102 | ), | ||
| 103 | /* Keymap 2: Media and mouse keys | ||
| 104 | * | ||
| 105 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 106 | * | | | | | | | | | | | | | | | | | ||
| 107 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 108 | * | | | | MsUp | | | | | | Lclk | Rclk | | | | | | ||
| 109 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 110 | * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | | ||
| 111 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 112 | * | | | | | | | | | | | | Prev | Next | | | | ||
| 113 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 114 | * | | | | | | |VolUp |VolDn | Mute | | | | ||
| 115 | * `----------------------------------' `----------------------------------' | ||
| 116 | * ,-------------. ,-------------. | ||
| 117 | * | | | | | | | ||
| 118 | * ,------|------|------| |------+------+------. | ||
| 119 | * | | | | | | |Brwser| | ||
| 120 | * | | |------| |------| |Back | | ||
| 121 | * | | | | | | | | | ||
| 122 | * `--------------------' `--------------------' | ||
| 123 | */ | ||
| 124 | // MEDIA AND MOUSE | ||
| 125 | [MDIA] = KEYMAP( | ||
| 126 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 127 | KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 128 | KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, | ||
| 129 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 130 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 131 | KC_TRNS, KC_TRNS, | ||
| 132 | KC_TRNS, | ||
| 133 | KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 134 | // right hand | ||
| 135 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 136 | KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 137 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, | ||
| 138 | KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, | ||
| 139 | KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, | ||
| 140 | KC_TRNS, KC_TRNS, | ||
| 141 | KC_TRNS, | ||
| 142 | KC_TRNS, KC_TRNS, KC_WBAK | ||
| 143 | ), | ||
| 144 | }; | ||
| 145 | |||
| 146 | const uint16_t PROGMEM fn_actions[] = { | ||
| 147 | [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) | ||
| 148 | }; | ||
| 149 | |||
| 150 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
| 151 | { | ||
| 152 | // MACRODOWN only works in this function | ||
| 153 | switch(id) { | ||
| 154 | case 0: | ||
| 155 | if (record->event.pressed) { | ||
| 156 | SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | ||
| 157 | } | ||
| 158 | break; | ||
| 159 | case 1: | ||
| 160 | if (record->event.pressed) { // For resetting EEPROM | ||
| 161 | eeconfig_init(); | ||
| 162 | } | ||
| 163 | break; | ||
| 164 | } | ||
| 165 | return MACRO_NONE; | ||
| 166 | }; | ||
| 167 | |||
| 168 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 169 | switch (keycode) { | ||
| 170 | // dynamically generate these. | ||
| 171 | case EPRM: | ||
| 172 | if (record->event.pressed) { | ||
| 173 | eeconfig_init(); | ||
| 174 | } | ||
| 175 | return false; | ||
| 176 | break; | ||
| 177 | case VRSN: | ||
| 178 | if (record->event.pressed) { | ||
| 179 | SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | ||
| 180 | } | ||
| 181 | return false; | ||
| 182 | break; | ||
| 183 | case RGB_SLD: | ||
| 184 | if (record->event.pressed) { | ||
| 185 | #ifdef RGBLIGHT_ENABLE | ||
| 186 | rgblight_mode(1); | ||
| 187 | #endif | ||
| 188 | } | ||
| 189 | return false; | ||
| 190 | break; | ||
| 191 | } | ||
| 192 | return true; | ||
| 193 | } | ||
| 194 | |||
| 195 | // Runs just one time when the keyboard initializes. | ||
| 196 | void matrix_init_user(void) { | ||
| 197 | |||
| 198 | }; | ||
| 199 | |||
| 200 | |||
| 201 | // Runs constantly in the background, in a loop. | ||
| 202 | void matrix_scan_user(void) { | ||
| 203 | |||
| 204 | uint8_t layer = biton32(layer_state); | ||
| 205 | |||
| 206 | ergodox_board_led_off(); | ||
| 207 | ergodox_right_led_1_off(); | ||
| 208 | ergodox_right_led_2_off(); | ||
| 209 | ergodox_right_led_3_off(); | ||
| 210 | switch (layer) { | ||
| 211 | // TODO: Make this relevant to the ErgoDox EZ. | ||
| 212 | case 1: | ||
| 213 | ergodox_right_led_1_on(); | ||
| 214 | break; | ||
| 215 | case 2: | ||
| 216 | ergodox_right_led_2_on(); | ||
| 217 | break; | ||
| 218 | default: | ||
| 219 | // none | ||
| 220 | break; | ||
| 221 | } | ||
| 222 | |||
| 223 | }; | ||
diff --git a/keyboards/ergodox/keymaps/italian/readme.md b/keyboards/ergodox/keymaps/italian/readme.md new file mode 100644 index 000000000..215c24a5a --- /dev/null +++ b/keyboards/ergodox/keymaps/italian/readme.md | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | # ErgoDox Italian layout | ||
| 2 | |||
| 3 | ## Layer 0 | ||
| 4 | ``` | ||
| 5 | |||
| 6 | ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 7 | | \ | 1 | 2 | 3 | 4 | 5 | ESC | | T2 | 6 | 7 | 8 | 9 | 0 | ' | | ||
| 8 | |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 9 | | Tab | Q | W | E | R | T | TT1 | | TT1 | Y | U | I | O | P | è | | ||
| 10 | |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 11 | | Caps | A | S | D | F | G |------| |------| H | J | K | L | ò | à | | ||
| 12 | |--------+------+------+------+------+------| Alt | | Alt |------+------+------+------+------+--------| | ||
| 13 | | LShift | Z | X | C | V | B | | | | N | M | , | . | ù |-/RShift| | ||
| 14 | `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 15 | |</Win | + | - | * |//Ctr | |ì/RAlt| Left | Down | Up | Right | ~L1 | | ||
| 16 | `----------------------------------' `----------------------------------' | ||
| 17 | ,-------------. ,-------------. | ||
| 18 | | Ins | LGui | | Win | Ctrl | | ||
| 19 | ,------|------|------| |------+--------+------. | ||
| 20 | | | | Home | | PgUp | | | | ||
| 21 | |Backsp| Del |------| |------| Enter |Space | | ||
| 22 | |ace | | End | | PgDn | | | | ||
| 23 | `--------------------' `----------------------' | ||
| 24 | ``` | ||
| 25 | |||
| 26 | ## Layer 1 | ||
| 27 | ``` | ||
| 28 | |||
| 29 | ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 30 | |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | | ||
| 31 | |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 32 | | | ! | @ | { | } | | | | | | | 7 | 8 | 9 | | F12 | | ||
| 33 | |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 34 | | | # | $ | [ | ] | & |------| |------| | 4 | 5 | 6 | | | | ||
| 35 | |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 36 | | | % | ^ | ( | ) | | | | | | 1 | 2 | 3 | | | | ||
| 37 | `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 38 | | | | | | | | . | | | | | | ||
| 39 | `----------------------------------' `----------------------------------' | ||
| 40 | ,-------------. ,-------------. | ||
| 41 | | | | | | | | ||
| 42 | ,------|------|------| |------+------+------. | ||
| 43 | | | | | | | | | | ||
| 44 | | | |------| |------| | 0 | | ||
| 45 | | | | | | | | | | ||
| 46 | `--------------------' `--------------------' | ||
| 47 | ``` | ||
| 48 | |||
| 49 | ## Layer 2 | ||
| 50 | ``` | ||
| 51 | |||
| 52 | ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 53 | | | | | | | | | | | | | | | | | | ||
| 54 | |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 55 | | | | | MsUp | | | | | | Lclk | Rclk | | | | | | ||
| 56 | |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 57 | | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | | ||
| 58 | |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 59 | | | | | | | | | | | | | Prev | Next | | | | ||
| 60 | `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 61 | | | | | | | |VolUp |VolDn | Mute | | | | ||
| 62 | `----------------------------------' `----------------------------------' | ||
| 63 | ,-------------. ,-------------. | ||
| 64 | | | | | | | | ||
| 65 | ,------|------|------| |------+------+------. | ||
| 66 | | | | | | | |Brwser| | ||
| 67 | | | |------| |------| |Back | | ||
| 68 | | | | | | | | | | ||
| 69 | `--------------------' `--------------------' | ||
| 70 | ``` | ||
| 71 | |||
| 72 | |||
diff --git a/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c b/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c new file mode 100644 index 000000000..ab2464c42 --- /dev/null +++ b/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c | |||
| @@ -0,0 +1,408 @@ | |||
| 1 | #include "ergodox.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] = KEYMAP( | ||
| 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] = KEYMAP( | ||
| 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] = KEYMAP( | ||
| 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] = KEYMAP( | ||
| 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] = KEYMAP( | ||
| 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] = KEYMAP( | ||
| 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] = KEYMAP( | ||
| 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 | }; | ||
diff --git a/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md b/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md new file mode 100644 index 000000000..d9fcda966 --- /dev/null +++ b/keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md | |||
| @@ -0,0 +1,194 @@ | |||
| 1 | # Neo2 for ErgoDox on QWERTZ | ||
| 2 | # | ||
| 3 | # Description | ||
| 4 | This layout is ment to be used on PCs with DE-de with an additional guest keyboard. E.g. on your PC at work you can use your ergodox with neo but a second keybord is plugged in so your coworkers can enter a few signs if necessary. I live in Germany, so this is my usecase. | ||
| 5 | # Layers | ||
| 6 | [Layer0](#layer-0) | ||
| 7 | Letters, modifiers and volume | ||
| 8 | |||
| 9 | [Layer1](#layer-1) | ||
| 10 | Symbols | ||
| 11 | |||
| 12 | [Layer2](#layer-2) | ||
| 13 | Motion, digits and next/prev Song | ||
| 14 | |||
| 15 | [Layer3](#layer-3) | ||
| 16 | F1 to F12 and mouse actions | ||
| 17 | |||
| 18 | [Layer4](#layer-4) | ||
| 19 | not used | ||
| 20 | |||
| 21 | [Layer5](#layer-5) | ||
| 22 | not used | ||
| 23 | |||
| 24 | [Layer6](#layer-6) | ||
| 25 | not used | ||
| 26 | |||
| 27 | |||
| 28 | ## Layer 0 | ||
| 29 | |||
| 30 | .------------------------------------.------------------------------------. | ||
| 31 | |ESC | 1 | 2 | 3 | 4 | 5 | ´ | ` | 6 | 7 | 8 | 9 | 0 | ^ | | ||
| 32 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 33 | |TAB | X | V | L | C | W |Print| | K | H | G | F | Q | ß | | ||
| 34 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 35 | |MO(1)| U | I | A | E | O |-----!-----! S | N | R | T | D | Y | | ||
| 36 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 37 | |LSFT | ü | ö | ä | P | Z |SPACE| | B | M | , | . | J |RSFT | | ||
| 38 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 39 | |LCTL|LGUI|LALT|MO(3)|MO(2)| !MO(2)|MO(3)|APP |RALT|RCTL| | ||
| 40 | '------------------------' '------------------------' | ||
| 41 | .-----------. .-----------. | ||
| 42 | |VOL- |VOL+ | !MUTE |PLAY | | ||
| 43 | .-----+-----+-----! !-----+-----+-----. | ||
| 44 | ! ! | | ! | ! ! | ||
| 45 | ! ! |-----| !-----| ! ! | ||
| 46 | ! CTL ! ! ALT ! ! CTL ! ! ALT ! | ||
| 47 | |ENTER|MO(1)| TAB | !ESC |MO(1)|SPACE| | ||
| 48 | '-----------------' '-----------------' | ||
| 49 | |||
| 50 | * Left side ESC, TAB, [SymbolLayer], Shift, Ctr, Gui(Windows key), and Alt like normal QWERTZ with neo2. | ||
| 51 | * Space on right side of left half for mous activity so you don't have to leave the mouse for Space. | ||
| 52 | * Top row of thumb keys is hard to reach for me, so I put media control on there. | ||
| 53 | * Thumb keys make use of modifier/tap. E.g. if you tap the Enter key it will be Enter. If you keep it pressed down it will be Ctr. The hold action is written on top of the tap action. | ||
| 54 | * The small middle thumb keys are not used, es well as the 1.5 sized ones on the left side of the right half. | ||
| 55 | |||
| 56 | |||
| 57 | ## Layer 1 | ||
| 58 | |||
| 59 | .------------------------------------.------------------------------------. | ||
| 60 | | | | | | | | | | | | | | | | | ||
| 61 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 62 | | | € | _ | [ | ] | | | | ! | < | > | = | & | | | ||
| 63 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 64 | | | \ | / | { | } | * |-----!-----! ? | ( | ) | - | : | @ | | ||
| 65 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 66 | | | # | $ | | | ~ | | | | + | % | " | ' | ; | | | ||
| 67 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 68 | | | | | | | ! | | | | | | ||
| 69 | '------------------------' '------------------------' | ||
| 70 | .-----------. .-----------. | ||
| 71 | | | | ! | | | ||
| 72 | .-----+-----+-----! !-----+-----+-----. | ||
| 73 | ! ! | | ! | ! ! | ||
| 74 | ! ! !-----! !-----! ! ! | ||
| 75 | | | | | ! | | | | ||
| 76 | '-----------------' '-----------------' | ||
| 77 | |||
| 78 | |||
| 79 | ## Layer 2 | ||
| 80 | |||
| 81 | .------------------------------------.------------------------------------. | ||
| 82 | | | | | | | | | | | | | | | | | ||
| 83 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 84 | | |PGUP|BSPC| UP |DEL |PGDN| | | | 7 | 8 | 9 | | | | ||
| 85 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 86 | | |HOME|LEFT|DOWN|RGHT|END |-----!-----! | 4 | 5 | 6 | | | | ||
| 87 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 88 | | | | |PREV|NEXT| | | | | 1 | 2 | 3 | | | | ||
| 89 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 90 | | | | | | | ! | | | | | | ||
| 91 | '------------------------' '------------------------' | ||
| 92 | .-----------. .-----------. | ||
| 93 | | | | ! | | | ||
| 94 | .-----+-----+-----! !-----+-----+-----. | ||
| 95 | ! ! | | ! | ! ! | ||
| 96 | ! ! !-----! !-----! ! ! | ||
| 97 | | | | | ! | | 0 | | ||
| 98 | '-----------------' '-----------------' | ||
| 99 | |||
| 100 | |||
| 101 | |||
| 102 | ## Layer 3 | ||
| 103 | |||
| 104 | .------------------------------------.------------------------------------. | ||
| 105 | | | F1 | F2 | F3 | F4 | F5 | F6 | | | | | | | | | ||
| 106 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 107 | | | F7 | F8 | F9 | F10| F11| F12 | | |M_WU|M_CU|M_WD| | | | ||
| 108 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 109 | |M_B5 |M_B4|M_B3|M_B2|M_B1| |-----!-----! |M_CL|M_CD|M_CR| | | | ||
| 110 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 111 | | | |M_A2|M_A1|M_A0| | | | | | | | | | | ||
| 112 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 113 | | | | | | | ! | | | | | | ||
| 114 | '------------------------' '------------------------' | ||
| 115 | .-----------. .-----------. | ||
| 116 | | | | ! | | | ||
| 117 | .-----+-----+-----! !-----+-----+-----. | ||
| 118 | ! ! | | ! | ! ! | ||
| 119 | ! ! !-----! !-----! ! ! | ||
| 120 | | | | | ! | | | | ||
| 121 | '-----------------' '-----------------' | ||
| 122 | * M_A Mouse acceleration | ||
| 123 | * M_B Mouse button | ||
| 124 | * M_C Mouse cursor | ||
| 125 | * M_W Mouse wheel | ||
| 126 | |||
| 127 | ## Layer 4 | ||
| 128 | |||
| 129 | |||
| 130 | |||
| 131 | .------------------------------------.------------------------------------. | ||
| 132 | | | | | | | | | | | | | | | | | ||
| 133 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 134 | | | | | | | | | | | | | | | | | ||
| 135 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 136 | | | | | | | |-----!-----! | | | | | | | ||
| 137 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 138 | | | | | | | | | | | | | | | | | ||
| 139 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 140 | | | | | | | ! | | | | | | ||
| 141 | '------------------------' '------------------------' | ||
| 142 | .-----------. .-----------. | ||
| 143 | | | | ! | | | ||
| 144 | .-----+-----+-----! !-----+-----+-----. | ||
| 145 | ! ! | | ! | ! ! | ||
| 146 | ! ! !-----! !-----! ! ! | ||
| 147 | | | | | ! | | | | ||
| 148 | '-----------------' '-----------------' | ||
| 149 | |||
| 150 | |||
| 151 | ## Layer 5 | ||
| 152 | |||
| 153 | |||
| 154 | .------------------------------------.------------------------------------. | ||
| 155 | | | | | | | | | | | | | | | | | ||
| 156 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 157 | | | | | | | | | | | | | | | | | ||
| 158 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 159 | | | | | | | |-----!-----! | | | | | | | ||
| 160 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 161 | | | | | | | | | | | | | | | | | ||
| 162 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 163 | | | | | | | ! | | | | | | ||
| 164 | '------------------------' '------------------------' | ||
| 165 | .-----------. .-----------. | ||
| 166 | | | | ! | | | ||
| 167 | .-----+-----+-----! !-----+-----+-----. | ||
| 168 | ! ! | | ! | ! ! | ||
| 169 | ! ! !-----! !-----! ! ! | ||
| 170 | | | | | ! | | | | ||
| 171 | '-----------------' '-----------------' | ||
| 172 | |||
| 173 | |||
| 174 | ## Layer 6 | ||
| 175 | |||
| 176 | .------------------------------------.------------------------------------. | ||
| 177 | | | | | | | | | | | | | | | | | ||
| 178 | !-----+----+----+----+----+----------!-----+----+----+----+----+----+-----! | ||
| 179 | | | | | | | | | | | | | | | | | ||
| 180 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 181 | | | | | | | |-----!-----! | | | | | | | ||
| 182 | !-----+----+----+----x----x----! ! !----x----x----+----+----+-----! | ||
| 183 | | | | | | | | | | | | | | | | | ||
| 184 | '-----+----+----+----+----+----------'----------+----+----+----+----+-----' | ||
| 185 | | | | | | | ! | | | | | | ||
| 186 | '------------------------' '------------------------' | ||
| 187 | .-----------. .-----------. | ||
| 188 | | | | ! | | | ||
| 189 | .-----+-----+-----! !-----+-----+-----. | ||
| 190 | ! ! | | ! | ! ! | ||
| 191 | ! ! !-----! !-----! ! ! | ||
| 192 | | | | | ! | | | | ||
| 193 | '-----------------' '-----------------' | ||
| 194 | |||
