aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryellowmoneybank <16255242+yellowmoneybank@users.noreply.github.com>2017-11-20 18:22:16 +0100
committerJack Humbert <jack.humb@gmail.com>2017-11-20 12:22:16 -0500
commitc6cdd5422fb64e8854db9cbd3ba2ca2f3b7418e8 (patch)
tree07e81461bee1a45545dc85b22726f2e632ee2d81
parentd6ca4e555ac52a446b1657ac3f3027655fe5ab5b (diff)
downloadqmk_firmware-c6cdd5422fb64e8854db9cbd3ba2ca2f3b7418e8.tar.gz
qmk_firmware-c6cdd5422fb64e8854db9cbd3ba2ca2f3b7418e8.zip
Neo2Planck (#2032)
* Documentation * Enabled Mouse-Keys in Makefile * Layer 1 finished * Small Bugfixes * Updated documentation
-rw-r--r--keyboards/planck/keymaps/neo2planck/config.h8
-rw-r--r--keyboards/planck/keymaps/neo2planck/keymap.c120
-rw-r--r--keyboards/planck/keymaps/neo2planck/readme.md64
-rw-r--r--keyboards/planck/keymaps/neo2planck/rules.mk23
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/*
18This layout tries to emulate Neo2, and is intended to be used with a German QWERTZ softwarelayout.
19It has "üäöß" as it is optimized for a mix of German & English.
20The special character layer and the navigation & number block layer are designed to keep the fingers near the home row.
21*/
22const 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
99const uint16_t PROGMEM fn_actions[] = {
100
101};
102
103const 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 @@
1Neo2Planck
2=====================================
3
4This layout tries to emulate Neo2, and is intended to be used with a German QWERTZ softwarelayout.
5It has "üäöß" as it is optimized for a mix of German & English.
6The special character layer and the navigation & number block layer are designed to keep the fingers near the home row.
7
8This 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
12Neo2 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#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = no # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_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
19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
20
21ifndef QUANTUM_DIR
22 include ../../../../Makefile
23endif