diff options
-rw-r--r-- | keyboards/planck/keymaps/neo2planck/config.h | 8 | ||||
-rw-r--r-- | keyboards/planck/keymaps/neo2planck/keymap.c | 120 | ||||
-rw-r--r-- | keyboards/planck/keymaps/neo2planck/readme.md | 64 | ||||
-rw-r--r-- | keyboards/planck/keymaps/neo2planck/rules.mk | 23 |
4 files changed, 215 insertions, 0 deletions
diff --git a/keyboards/planck/keymaps/neo2planck/config.h b/keyboards/planck/keymaps/neo2planck/config.h new file mode 100644 index 000000000..3e9e692d3 --- /dev/null +++ b/keyboards/planck/keymaps/neo2planck/config.h | |||
@@ -0,0 +1,8 @@ | |||
1 | #ifndef CONFIG_USER_H | ||
2 | #define CONFIG_USER_H | ||
3 | |||
4 | #include "../../config.h" | ||
5 | |||
6 | #define PREVENT_STUCK_MODIFIERS | ||
7 | |||
8 | #endif \ No newline at end of file | ||
diff --git a/keyboards/planck/keymaps/neo2planck/keymap.c b/keyboards/planck/keymaps/neo2planck/keymap.c new file mode 100644 index 000000000..d51b123ff --- /dev/null +++ b/keyboards/planck/keymaps/neo2planck/keymap.c | |||
@@ -0,0 +1,120 @@ | |||
1 | #include "planck.h" | ||
2 | #ifdef BACKLIGHT_ENABLE | ||
3 | #include "backlight.h" | ||
4 | #endif | ||
5 | #include "keymap_german.h" | ||
6 | |||
7 | // for intellisense, has to be commented for building | ||
8 | /* | ||
9 | #include "..\..\..\..\quantum\keymap_extras\keymap_german.h" | ||
10 | #include "..\..\..\..\tmk_core\common\keycode.h" | ||
11 | */ | ||
12 | |||
13 | |||
14 | #define _______ KC_TRNS | ||
15 | #define XXXXXXX KC_NO | ||
16 | |||
17 | /* | ||
18 | This layout tries to emulate Neo2, and is intended to be used with a German QWERTZ softwarelayout. | ||
19 | It has "üäöß" as it is optimized for a mix of German & English. | ||
20 | The special character layer and the navigation & number block layer are designed to keep the fingers near the home row. | ||
21 | */ | ||
22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
23 | |||
24 | /* | ||
25 | ,-----------------------------------------------------------------------------------. | ||
26 | | Esc | X | V | L | C | W | K | H | G | F | Q | Bksp | | ||
27 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
28 | | Ent | U | I | A | E | O | S | N | R | T | D | Y | | ||
29 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
30 | | Shift| Ü | Ö | Ä | P | Z | B | M | , | . | J |Shift | | ||
31 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
32 | | Ctrl | GUI | Alt | M2 | M1 | Space | M1 | M2 | Alt |MRight| Ctrl | | ||
33 | `-----------------------------------------------------------------------------------' | ||
34 | */ | ||
35 | |||
36 | [0] = { | ||
37 | { KC_ESC, DE_X, DE_V, DE_L, DE_C, DE_W, DE_K, DE_H, DE_G, DE_F, DE_Q, KC_BSPC }, | ||
38 | { KC_ENT, DE_U, DE_I, DE_A, DE_E, DE_O, DE_S, DE_N, DE_R, DE_T, DE_D, DE_Y }, | ||
39 | { KC_LSFT, DE_UE, DE_OE, DE_AE, DE_P, DE_Z, DE_B, DE_M, DE_COMM, DE_DOT, DE_J, KC_LSFT }, | ||
40 | { KC_LCTL , KC_RGUI, KC_LALT, MO(2), MO(1), KC_SPC, KC_SPC, MO(1), MO(2), KC_RALT, KC_BTN2, KC_RCTL } | ||
41 | }, | ||
42 | |||
43 | /* M1 | ||
44 | ,-----------------------------------------------------------------------------------. | ||
45 | | Esc | | _ | [ | ] | ^ | ! | < | > | = | & | ß | | ||
46 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
47 | | Tab | \ | / | { | } | * | ? | ( | ) | - | : | @ | | ||
48 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
49 | | Shift| # | $ | | | ~ | ` | + | % | " | ' | ; |Shift | | ||
50 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
51 | | Ctrl | GUI | Alt | M2 | M1 | Space | M1 | M2 | Alt | Esc | Ctrl | | ||
52 | `-----------------------------------------------------------------------------------' | ||
53 | */ | ||
54 | [1] = { | ||
55 | { _______, _______, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LESS, DE_MORE, DE_EQL, DE_AMPR, DE_SS }, | ||
56 | { KC_TAB, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QST, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, DE_AT }, | ||
57 | { _______, DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_ACUT, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, _______ }, | ||
58 | { _______, _______, _______, MO(3), _______, _______, _______, _______, MO(3), _______, _______, _______ } | ||
59 | }, | ||
60 | |||
61 | /* M2 Navigation & Number Blocks | ||
62 | * very easy to get used to & intuituve placement | ||
63 | * ,-----------------------------------------------------------------------------------. | ||
64 | * | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | Ins | | ||
65 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
66 | * | Tab | Home | Lft | Down | Right| End | | 4 | 5 | 6 | . | Enter| | ||
67 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
68 | * | Shift| | Tab | | Enter| | 0 | 1 | 2 | 3 | , |Shift | | ||
69 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
70 | * | Ctrl | GUI | Alt | M2 | M1 | Space | M1 | M2 | Alt | Esc | Ctrl | | ||
71 | * `-----------------------------------------------------------------------------------' | ||
72 | */ | ||
73 | [2] = { | ||
74 | { XXXXXXX, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, XXXXXXX, DE_7, DE_8, DE_9, XXXXXXX, KC_INS }, | ||
75 | { KC_TAB, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, DE_4, DE_5, DE_6, DE_DOT, KC_ENT }, | ||
76 | { _______, XXXXXXX, KC_TAB, XXXXXXX, KC_ENT, XXXXXXX, DE_0, DE_1, DE_2, DE_3, DE_COMM, _______ }, | ||
77 | { _______, _______, _______, _______, MO(3), _______, _______, MO(3), _______, _______, _______, _______ } | ||
78 | }, | ||
79 | |||
80 | /* M3 Function & Media Keys | ||
81 | * ,-----------------------------------------------------------------------------------. | ||
82 | * | | | Print|Scroll|Pause | | | F7 | F8 | F9 | F12 | | | ||
83 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
84 | * | Tab | | Mute | Vol- | Vol+ | | ³ | F4 | F5 | F6 | F11 | Enter| | ||
85 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
86 | * | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift | | ||
87 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
88 | * | Ctrl | GUI | Alt | M2 | M1 | Space | M1 | M2 | Alt | Esc | Ctrl | | ||
89 | * `-----------------------------------------------------------------------------------' | ||
90 | */ | ||
91 | [3] = { | ||
92 | { XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F12, XXXXXXX }, | ||
93 | { KC_TAB, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_ENT }, | ||
94 | { _______, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, _______ }, | ||
95 | { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } | ||
96 | }, | ||
97 | }; | ||
98 | |||
99 | const uint16_t PROGMEM fn_actions[] = { | ||
100 | |||
101 | }; | ||
102 | |||
103 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
104 | { | ||
105 | // MACRODOWN only works in this function | ||
106 | switch (id) { | ||
107 | case 0: | ||
108 | if (record->event.pressed) { | ||
109 | register_code(KC_RSFT); | ||
110 | #ifdef BACKLIGHT_ENABLE | ||
111 | backlight_step(); | ||
112 | #endif | ||
113 | } | ||
114 | else { | ||
115 | unregister_code(KC_RSFT); | ||
116 | } | ||
117 | break; | ||
118 | } | ||
119 | return MACRO_NONE; | ||
120 | }; | ||
diff --git a/keyboards/planck/keymaps/neo2planck/readme.md b/keyboards/planck/keymaps/neo2planck/readme.md new file mode 100644 index 000000000..2f1c32057 --- /dev/null +++ b/keyboards/planck/keymaps/neo2planck/readme.md | |||
@@ -0,0 +1,64 @@ | |||
1 | Neo2Planck | ||
2 | ===================================== | ||
3 | |||
4 | This layout tries to emulate Neo2, and is intended to be used with a German QWERTZ softwarelayout. | ||
5 | It has "üäöß" as it is optimized for a mix of German & English. | ||
6 | The special character layer and the navigation & number block layer are designed to keep the fingers near the home row. | ||
7 | |||
8 | This layout has some adaptations, due to the limited keys available: | ||
9 | * function-keys moved to the bottom row | ||
10 | * press M1 + M2 to get to layer 3 | ||
11 | |||
12 | Neo2 wiki page: http://wiki.neo-layout.org/ | ||
13 | |||
14 | ## Neo2 Base Layer | ||
15 | ``` | ||
16 | ,-----------------------------------------------------------------------------------. | ||
17 | | Esc | X | V | L | C | W | K | H | G | F | Q | Bksp | | ||
18 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
19 | | Ent | U | I | A | E | O | S | N | R | T | D | Y | | ||
20 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
21 | | Shift| Ü | Ö | Ä | P | Z | B | M | , | . | J |Shift | | ||
22 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
23 | | Ctrl | GUI | Alt | M2 | M1 | Space | M1 | M2 | Alt |MRight| Ctrl | | ||
24 | `-----------------------------------------------------------------------------------' | ||
25 | ``` | ||
26 | |||
27 | # M1 Special Characters | ||
28 | ``` | ||
29 | ,-----------------------------------------------------------------------------------. | ||
30 | | Esc | | _ | [ | ] | ^ | ! | < | > | = | & | ß | | ||
31 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
32 | | Tab | \ | / | { | } | * | ? | ( | ) | - | : | @ | | ||
33 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
34 | | Shift| # | $ | | | ~ | ` | + | % | " | ' | ; |Shift | | ||
35 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
36 | | Ctrl | GUI | Alt | M2 | M1 | Space | M1 | M2 | Alt | Esc | Ctrl | | ||
37 | `-----------------------------------------------------------------------------------' | ||
38 | ``` | ||
39 | |||
40 | ## M2 Navigation & Number Blocks | ||
41 | ``` | ||
42 | ,-----------------------------------------------------------------------------------. | ||
43 | | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | Ins | | ||
44 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
45 | | Tab | Home | Lft | Down | Right| End | | 4 | 5 | 6 | . | Enter| | ||
46 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
47 | | Shift| | Tab | | Enter| | 0 | 1 | 2 | 3 | , |Shift | | ||
48 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
49 | | Ctrl | GUI | Alt | M2 | M1 | Space | M1 | M2 | Alt | Esc | Ctrl | | ||
50 | `-----------------------------------------------------------------------------------' | ||
51 | ``` | ||
52 | |||
53 | ## M3 F-Keys and Media-Keys | ||
54 | ``` | ||
55 | ,-----------------------------------------------------------------------------------. | ||
56 | | | | Print|Scroll|Pause | | | F7 | F8 | F9 | F12 | | | ||
57 | |------+------+------+------+------+-------------+------+------+------+------+------| | ||
58 | | Tab | | Mute | Vol- | Vol+ | | ³ | F4 | F5 | F6 | F11 | Enter| | ||
59 | |------+------+------+------+------+------|------+------+------+------+------+------| | ||
60 | | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift | | ||
61 | |------+------+------+------+------+------+------+------+------+------+------+------| | ||
62 | | Ctrl | GUI | Alt | M2 | M1 | Space | M1 | M2 | Alt | Esc | Ctrl | | ||
63 | `-----------------------------------------------------------------------------------' | ||
64 | ``` | ||
diff --git a/keyboards/planck/keymaps/neo2planck/rules.mk b/keyboards/planck/keymaps/neo2planck/rules.mk new file mode 100644 index 000000000..2122dd349 --- /dev/null +++ b/keyboards/planck/keymaps/neo2planck/rules.mk | |||
@@ -0,0 +1,23 @@ | |||
1 | # Build Options | ||
2 | # change to "no" to disable the options, or define them in the Makefile in | ||
3 | # the appropriate keymap folder that will get included automatically | ||
4 | # | ||
5 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
6 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
7 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
8 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
9 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
10 | NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
11 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
12 | MIDI_ENABLE = no # MIDI controls | ||
13 | AUDIO_ENABLE = no # Audio output on port C6 | ||
14 | UNICODE_ENABLE = no # Unicode | ||
15 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
16 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. | ||
17 | |||
18 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
19 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
20 | |||
21 | ifndef QUANTUM_DIR | ||
22 | include ../../../../Makefile | ||
23 | endif | ||