summaryrefslogtreecommitdiffstats
path: root/keyboards/ergodox/keymaps/coderkun_neo2
diff options
context:
space:
mode:
authorRyan Ascheman <rascheman@groupon.com>2016-10-18 21:42:02 +0200
committerRyan Ascheman <rascheman@groupon.com>2016-10-18 21:42:02 +0200
commit55b8b8477cc6aee82dfe6792eea4e589cac433d5 (patch)
treece5bfbd1b0ee59dbffdc2044bcf90c89614392ed /keyboards/ergodox/keymaps/coderkun_neo2
parentd1c70328f8d8ded6ce1e5422b468fc41ef315e7d (diff)
parent04df74f6360464661bcc1e6794e9fd3549084390 (diff)
downloadqmk_firmware-55b8b8477cc6aee82dfe6792eea4e589cac433d5.tar.gz
qmk_firmware-55b8b8477cc6aee82dfe6792eea4e589cac433d5.tar.xz
Merge remote-tracking branch 'upstream/master'
* upstream/master: (1239 commits) Update ez.c removes planck/rev3 temporarily Move hand_swap_config to ez.c, removes error for infinity Update Makefile ergodox: Update algernon's keymap to v1.9 Added VS Code dir to .gitignore Support the Pegasus Hoof controller. [Jack & Erez] Simplifies and documents TO add readme use wait_ms instead of _delay_ms add messenger init keymap Add example keymap Adding whiskey_tango_foxtrot_capslock ergodox keymap Unicode map framework. Allow unicode up to 0xFFFFF using separate mapping table CIE 1931 dim curve Apply the dim curve to the RGB output Update the Cluecard readme files Tune snake and knight intervals for Cluecard Tunable RGB light intervals ...
Diffstat (limited to 'keyboards/ergodox/keymaps/coderkun_neo2')
-rw-r--r--keyboards/ergodox/keymaps/coderkun_neo2/Makefile3
-rw-r--r--keyboards/ergodox/keymaps/coderkun_neo2/keymap.c317
-rw-r--r--keyboards/ergodox/keymaps/coderkun_neo2/readme.md31
3 files changed, 351 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/coderkun_neo2/Makefile b/keyboards/ergodox/keymaps/coderkun_neo2/Makefile
new file mode 100644
index 000000000..b0fe90ab1
--- /dev/null
+++ b/keyboards/ergodox/keymaps/coderkun_neo2/Makefile
@@ -0,0 +1,3 @@
+SLEEP_LED_ENABLE = no
+UNICODE_ENABLE = yes
+COMMAND_ENABLE = no
diff --git a/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c b/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c
new file mode 100644
index 000000000..b62b14449
--- /dev/null
+++ b/keyboards/ergodox/keymaps/coderkun_neo2/keymap.c
@@ -0,0 +1,317 @@
+#include "ergodox.h"
+#include "action_layer.h"
+#include "led.h"
+#include "keymap_extras/keymap_neo2.h"
+
+// Layer names
+#define BASE 0 // default layer
+#define PMQ 1 // poor man’s QWERTZ
+#define PMN 2 // poor man’s Neo
+#define FMU 3 // FMU layer
+#define NHL 4 // Neo’s software layer 4 rebuilt in Hardware
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Layer 0: default
+ * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐
+ * │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │
+ * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤
+ * │ Y │ X │ V │ L │ C │ W │ HOM │ │ END │ K │ H │ G │ F │ Q │ ß │
+ * ├───────┼─────┼─────┼─────╆─────╅─────┤ E │ │ ├─────╆─────╅─────┼─────┼─────┼───────┤
+ * │ Mod3 │ U │ I │ A │ E │ O ├─────┤ ├─────┤ S │ N │ R │ T │ D │ Mod3 │
+ * ├───────┼─────┼─────┼─────╄─────╃─────┤ TL2 │ │ TL3 ├─────╄─────╃─────┼─────┼─────┼───────┤
+ * │ LSHFT │ Ü │ Ö │ Ä │ P │ Z │ │ │ │ B │ M │ , │ . │ J │ Shift │
+ * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘
+ * │ CTL │ ALT │ MO1 │ Win │ Mod4│ │ Mod4│ Win │ MO1 │ Alt │ CTL │
+ * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘
+ * │ ← │ ↑ │ │ ↓ │ → │
+ * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐
+ * │ │ │ ─ │ │ ─ │ │ │
+ * │ SPC │ RTN ├─────┤ ├─────┤ RTN │ SPC │
+ * │ │ │ HYP │ │ MEH │ │ │
+ * └─────┴─────┴─────┘ └─────┴─────┴─────┘
+ */
+[BASE] = KEYMAP(
+ // left hand
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, NEO_GRV,
+ NEO_Y, NEO_X, NEO_V, NEO_L, NEO_C, NEO_W, KC_HOME,
+ NEO_L1_L, NEO_U, NEO_I, NEO_A, NEO_E, NEO_O,
+ KC_LSFT, NEO_UE, NEO_OE, NEO_AE, NEO_P, NEO_Z, TG(PMQ),
+ KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,NEO_L2_L,
+ KC_LEFT, KC_UP,
+ KC_MINS,
+ KC_SPC, KC_ENT, ALL_T(KC_NO),
+ // right hand
+ NEO_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_END, NEO_K, NEO_H, NEO_G, NEO_F, NEO_Q, NEO_SS,
+ NEO_S, NEO_N, NEO_R, NEO_T, NEO_D, NEO_L1_R,
+ TG(PMN), NEO_B, NEO_M, KC_COMM,KC_DOT, NEO_J, KC_RSFT,
+ NEO_L2_R,KC_RGUI,MO(FMU),KC_RALT,KC_RCTL,
+ KC_DOWN, KC_RGHT,
+ KC_MINS,
+ MEH_T(KC_NO),KC_ENT,KC_SPC
+ ),
+
+/* Layer 1: poor man’s QWERTZ
+ * based on kaimi’s layout
+ * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐
+ * │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │
+ * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤
+ * │ C │ P │ T │ F │ K │ L │ HOM │ │ END │ B │ A │ S │ G │ V │ Y │
+ * ├───────┼─────┼─────┼─────╆─────╅─────┤ E │ │ ├─────╆─────╅─────┼─────┼─────┼───────┤
+ * │ Mod3 │ D │ H │ Ö │ O │ I ├─────┤ ├─────┤ U │ - │ Z │ E │ X │ Mod3 │
+ * ├───────┼─────┼─────┼─────╄─────╃─────┤(TL2)│ │(TL3)├─────╄─────╃─────┼─────┼─────┼───────┤
+ * │ LSHFT │ Ä │ Q │ R │ W │ N │ │ │ │ J │ M │ , │ . │ ẞ │ Shift │
+ * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘
+ * │ CTL │ ALT │ MO1 │ Win │ MO4 │ │ M04 │ Win │ MO1 │ Alt │ CTL │
+ * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘
+ * │ ← │ ↑ │ │ ↓ │ → │
+ * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐
+ * │ │ │ ─ │ │ ─ │ │ │
+ * │ SPC │ RTN ├─────┤ ├─────┤ RTN │ SPC │
+ * │ │ │ HYP │ │ MEH │ │ │
+ * └─────┴─────┴─────┘ └─────┴─────┴─────┘
+ */
+[PMQ] = KEYMAP(
+ // left hand
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
+ DE_C, DE_P, DE_T, DE_F, DE_K, DE_L, KC_HOME,
+ NEO_L1_L, DE_D, DE_H, DE_OE, DE_O, DE_I,
+ KC_LSFT, DE_AE, DE_Q, DE_R, DE_W, DE_N, KC_TRNS,
+ KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,MO(NHL),
+ KC_LEFT, KC_UP,
+ KC_MINS,
+ KC_SPC, KC_ENT, ALL_T(KC_NO),
+ // right hand
+ DE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_END, DE_B, DE_A, DE_S, DE_G, DE_V, DE_Y,
+ DE_U, DE_MINS,DE_Z, DE_E, DE_X, NEO_L1_R,
+ KC_TRNS, DE_J, DE_M, DE_COMM,DE_DOT, DE_SS, KC_RSFT,
+ MO(NHL),KC_RGUI,MO(FMU),KC_RALT,KC_RCTL,
+ KC_DOWN, KC_RGHT,
+ KC_MINS,
+ MEH_T(KC_NO),KC_ENT,KC_SPC
+ ),
+
+/* Layer 2: poor man’s Neo
+ * based on kaimi’s layout
+ * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐
+ * │ TAB │ 1 │ 2 │ 3 │ 4 │ 5 │ ` │ │ ´ │ 6 │ 7 │ 8 │ 9 │ 0 │ BKSPC │
+ * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤
+ * │ Y │ X │ V │ L │ C │ W │ HOM │ │ END │ K │ H │ G │ F │ Q │ ß │
+ * ├───────┼─────┼─────┼─────╆─────╅─────┤ E │ │ ├─────╆─────╅─────┼─────┼─────┼───────┤
+ * │ Mod3 │ U │ I │ A │ E │ O ├─────┤ ├─────┤ S │ N │ R │ T │ D │ Mod3 │
+ * ├───────┼─────┼─────┼─────╄─────╃─────┤(TL2)│ │(TL3)├─────╄─────╃─────┼─────┼─────┼───────┤
+ * │ LSHFT │ Ü │ Ö │ Ä │ P │ Z │ │ │ │ B │ M │ , │ . │ J │ Shift │
+ * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘
+ * │ CTL │ ALT │ MO1 │ Win │ MO4 │ │ M04 │ Win │ MO1 │ Alt │ CTL │
+ * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘
+ * │ ← │ ↑ │ │ ↓ │ → │
+ * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐
+ * │ │ │ ─ │ │ ─ │ │ │
+ * │ SPC │ RTN ├─────┤ ├─────┤ RTN │ SPC │
+ * │ │ │ HYP │ │ MEH │ │ │
+ * └─────┴─────┴─────┘ └─────┴─────┴─────┘
+ */
+[PMN] = KEYMAP(
+ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
+ DE_Y, DE_X, DE_V, DE_L, DE_C, DE_W, KC_HOME,
+ KC_NO, DE_U, DE_I, DE_A, DE_E, DE_O,
+ KC_LSFT, DE_UE, DE_OE, DE_AE, DE_P, DE_Z, KC_TRNS,
+ KC_LCTL, KC_LALT,MO(FMU),KC_LGUI,MO(NHL),
+ KC_LEFT, KC_UP,
+ KC_MINS,
+ KC_SPC, KC_ENT, ALL_T(KC_NO),
+ // right hand
+ DE_ACUT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_END, DE_K, DE_H, DE_G, DE_F, DE_Q, DE_SS,
+ DE_S, DE_N, DE_R, DE_T, DE_D, KC_NO,
+ KC_TRNS, DE_B, DE_M, KC_COMM,KC_DOT, DE_J, KC_RSFT,
+ MO(NHL),KC_RGUI,MO(FMU),KC_RALT,KC_RCTL,
+ KC_DOWN, KC_RGHT,
+ KC_MINS,
+ MEH_T(KC_NO),KC_ENT,KC_SPC
+ ),
+
+/* Layer 3: F-keys, Mouse and Unicode
+ * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤
+ * │ │ ┌ │ ┬ │ ┐ │ ─ │ │ │ │ │ │ │ F9 │ F10 │ F11 │ F12 │ │
+ * ├───────┼─────┼─────┼─────╆─────╅─────┤ │ │ ├─────╆─────╅─────┼─────┼─────┼───────┤
+ * │ │ ├ │ ┼ │ ┤ │ ✓ │ ✕ ├─────┤ ├─────┤ │ F5 │ F6 │ F7 │ F8 │ │
+ * ├───────┼─────┼─────┼─────╄─────╃─────┤(TL2)│ │(TL3)├─────╄─────╃─────┼─────┼─────┼───────┤
+ * │ │ └ │ ┴ │ ┘ │ ↔ │ ⇔ │ │ │ │ │ F1 │ F2 │ F3 │ F4 │ │
+ * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘
+ * │ │ │(MO1)│ │(MO4)│ │(MO4)│ │(MO1)│ │ │
+ * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘
+ * │ Ms← │ Ms↑ │ │ Ms↓ │ Ms→ │
+ * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐
+ * │ │ │ MLC │ │ MRC │ │ │
+ * │ │ ├─────┤ ├─────┤ │ │
+ * │ │ │ │ │ │ │ │
+ * └─────┴─────┴─────┘ └─────┴─────┴─────┘
+ */
+[FMU] = KEYMAP(
+ // left hand
+ KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS, UC(0x250C),UC(0x252C),UC(0x2510),UC(0x2500),UC(0x2502),KC_TRNS,
+ KC_TRNS, UC(0x251C),UC(0x253C),UC(0x2524),UC(0x2713),UC(0x2715),
+ KC_TRNS, UC(0x2514),UC(0x2534),UC(0x2518),UC(0x2194),UC(0x21D4),KC_TRNS,
+ KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_MS_L, KC_MS_U,
+ KC_BTN1,
+ KC_TRNS,KC_TRNS, KC_TRNS,
+ // right hand
+ KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_TRNS, KC_TRNS,KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ KC_TRNS,KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS,
+ KC_TRNS, KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
+ KC_MS_D, KC_MS_R,
+ KC_BTN2,
+ KC_TRNS, KC_TRNS,KC_TRNS
+ ),
+
+/* Layer 4: Neo’s software layer 4 rebuilt in Hardware
+ * based on kaimi’s layout
+ * ┌───────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┼───────┤
+ * │ │ PgUp│ BSpc│ ↑ │ Del │ PgDn│ │ │ │ │ 7 │ 8 │ 9 │ + │ − │
+ * ├───────┼─────┼─────┼─────╆─────╅─────┤ │ │ ├─────╆─────╅─────┼─────┼─────┼───────┤
+ * │ │ Home│ ← │ ↓ │ → │ End ├─────┤ ├─────┤ │ 4 │ 5 │ 6 │ , │ . │
+ * ├───────┼─────┼─────┼─────╄─────╃─────┤(TL2)│ │(TL3)├─────╄─────╃─────┼─────┼─────┼───────┤
+ * │ │ Esc │ Tab │ Ins │ Ret │ Undo│ │ │ │ │ 1 │ 2 │ 3 │ │ │
+ * └─┬─────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼─────┬─┘
+ * │ │ │(MO1)│ │(MO4)│ │(MO4)│ │(MO1)│ │ │
+ * └─────┴─────┴─────┴─────┴─────┘ ┌─────┬─────┐ ┌─────┬─────┐ └─────┴─────┴─────┴─────┴─────┘
+ * │ │ │ │ │ │
+ * ┌─────┼─────┼─────┤ ├─────┼─────┼─────┐
+ * │ │ │ │ │ │ │ │
+ * │ │ ├─────┤ ├─────┤ │ │
+ * │ │ │ │ │ │ │ │
+ * └─────┴─────┴─────┘ └─────┴─────┴─────┘
+ */
+[NHL] = KEYMAP(
+ // left hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_PGUP,KC_BSPC,KC_UP, KC_DELT,KC_PGDN,KC_NO,
+ KC_NO, KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_END,
+ KC_NO, KC_ESC, KC_TAB, KC_INS, KC_ENT, KC_UNDO,KC_TRNS,
+ KC_NO, KC_NO, KC_TRNS,KC_NO, KC_TRNS,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_NO, KC_NO,
+ // right hand
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_7, KC_8, KC_9, DE_PLUS,DE_MINS,
+ KC_NO, KC_4, KC_5, KC_6, KC_COMM,KC_DOT,
+ KC_TRNS, KC_NO, KC_1, KC_2, KC_3, KC_NO, KC_NO,
+ KC_TRNS,KC_NO, KC_TRNS,KC_NO, KC_NO,
+ KC_NO, KC_NO,
+ KC_NO,
+ KC_NO, KC_NO, KC_NO
+ ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+ [BASE] = ACTION_FUNCTION(BASE),
+ [PMQ] = ACTION_FUNCTION(PMQ),
+ [PMN] = ACTION_FUNCTION(PMN),
+ [FMU] = ACTION_LAYER_TAP_TOGGLE(FMU),
+ [NHL] = ACTION_LAYER_TAP_TOGGLE(NHL)
+};
+
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+ // MACRODOWN only works in this function
+ switch(id) {
+ case 0:
+ if (record->event.pressed) {
+ register_code(KC_RSFT);
+ }
+ else {
+ unregister_code(KC_RSFT);
+ }
+ break;
+ }
+
+ return MACRO_NONE;
+};
+
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+ set_unicode_input_mode(UC_LNX);
+};
+
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void)
+{
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case FMU:
+ ergodox_right_led_1_on();
+ break;
+ case PMQ:
+ ergodox_right_led_2_on();
+ break;
+ case PMN:
+ ergodox_right_led_3_on();
+ break;
+ default:
+ if(host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) {
+ ergodox_led_all_set(LED_BRIGHTNESS_HI);
+ ergodox_right_led_1_on();
+ }
+ else {
+ ergodox_board_led_off();
+ }
+ break;
+ }
+
+};
+
+
+// Override Unicode start method to use NEO_U instead of KC_U
+void unicode_input_start (void) {
+ register_code(KC_LCTL);
+ register_code(KC_LSFT);
+ register_code(NEO_U);
+ unregister_code(NEO_U);
+ unregister_code(KC_LSFT);
+ unregister_code(KC_LCTL);
+};
+
+// Override method to use NEO_A instead of KC_A
+uint16_t hex_to_keycode(uint8_t hex)
+{
+ if (hex == 0x0) {
+ return KC_0;
+ } else if (hex < 0xA) {
+ return KC_1 + (hex - 0x1);
+ } else {
+ switch(hex) {
+ case 0xA:
+ return NEO_A;
+ case 0xB:
+ return NEO_B;
+ case 0xC:
+ return NEO_C;
+ case 0xD:
+ return NEO_D;
+ case 0xE:
+ return NEO_E;
+ case 0xF:
+ return NEO_F;
+ }
+ }
+}
diff --git a/keyboards/ergodox/keymaps/coderkun_neo2/readme.md b/keyboards/ergodox/keymaps/coderkun_neo2/readme.md
new file mode 100644
index 000000000..2a4d3a535
--- /dev/null
+++ b/keyboards/ergodox/keymaps/coderkun_neo2/readme.md
@@ -0,0 +1,31 @@
+# coderkun’s Neo2 layout for the ErgoDox EZ
+
+The idea of this layout is to use it for [Neo2](http://www.neo-layout.org) but also provide layers to use QWERTZ with activated Neo driver and to use (basic) Neo when no driver is available (standard QWERTZ driver is active) (e. g. on other computers, in virtual machines) and to make heavily use of thumb keys.
+
+The main goal of the default layer is to provide a complete symmetric layout with each modifier equally placed for both hands (mirror, of course).
+
+It also features a layer for additional keys like F-keys (F1 – F12), some mouse keys and (hopefully in the near future) some useful Unicode symbols.
+
+
+## Layers
+
+0. Default layer for Neo2
+1. Poor man’s QWERTZ
+2. Poor man’s Neo
+3. F-keys, mouse keys und Unicode symbols
+4. Neo’s software layers 4 rebuilt in hardware
+
+
+## Build
+
+1. Enable Unicode in Makefile
+
+ ```
+ UNICODE_ENABLE = yes
+ ```
+2. Build as usual
+
+ ```
+ make clean
+ make KEYMAP=coderkun_neo2
+ ```