aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ergodox
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ergodox')
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-base-layout.pngbin79488 -> 97053 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-2-media-and-mouse.pngbin62258 -> 65740 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-navigation.pngbin58886 -> 0 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-3-unicode.pngbin0 -> 73624 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/images/deadcyclo-layer-4-unicode-2.pngbin0 -> 66132 bytes
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/keymap.c84
-rw-r--r--keyboards/ergodox/keymaps/deadcyclo/readme.md9
-rw-r--r--keyboards/ergodox/keymaps/guni/keymap.c2
-rw-r--r--keyboards/ergodox/keymaps/italian/keymap.c223
-rw-r--r--keyboards/ergodox/keymaps/italian/readme.md72
-rw-r--r--keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.c408
-rw-r--r--keyboards/ergodox/keymaps/neo2_on_qwertz_hardware/keymap.md194
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
11enum macros { 12enum 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
262const uint16_t PROGMEM fn_actions[] = { 305const 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[![Layer 3 - Unicode](images/deadcyclo-layer-3-navigation.png)](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289) 54[![Layer 3 - Unicode](images/deadcyclo-layer-3-unicode.png)](http://www.keyboard-layout-editor.com/#/gists/67d9613dcd873c68693d11863d0fd289)
55 55
56The unicode layer provides keys for directly typing unicode (utf-8) 56The unicode layer provides keys for directly typing unicode (utf-8)
57 57
58## Layer 4 - Unicode 2
59
60[![Layer 43 - Unicode](images/deadcyclo-layer-4-unicode-2.png)](http://www.keyboard-layout-editor.com/#/gists/7b2241110ab8311d9668a0798f3baf4a)
61
62The 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
10enum custom_keycodes {
11 PLACEHOLDER = SAFE_RANGE, // can always be here
12 EPRM,
13 VRSN,
14 RGB_SLD
15};
16
17const 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
146const uint16_t PROGMEM fn_actions[] = {
147 [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols)
148};
149
150const 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
168bool 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.
196void matrix_init_user(void) {
197
198};
199
200
201// Runs constantly in the background, in a loop.
202void 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
15const 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
285const 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
292static uint16_t unicode_mode = UC_MODE_WIN;
293
294uint16_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
304void 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
347const 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.
365void matrix_init_user(void) {
366
367};
368
369// Runs constantly in the background, in a loop.
370void 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
4This 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)
7Letters, modifiers and volume
8
9[Layer1](#layer-1)
10Symbols
11
12[Layer2](#layer-2)
13Motion, digits and next/prev Song
14
15[Layer3](#layer-3)
16F1 to F12 and mouse actions
17
18[Layer4](#layer-4)
19not used
20
21[Layer5](#layer-5)
22not used
23
24[Layer6](#layer-6)
25not 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