2020 February 29 Breaking Changes Update (#8064)
[jackhill/qmk/firmware.git] / keyboards / planck / keymaps / not-quite-neo / keymap.c
1 /*
2 NQN is not-quite-neo
3 A layout based on the
4 */
5
6
7 #include QMK_KEYBOARD_H
8 #include "nqn-keys-on-quertz-de-latin1.h"
9 #include "nqn-basic-layout.h"
10
11
12 // Automatic number generation of important keywords
13 enum my_keycodes{
14 // Layer numbers follow the neo2 terminology, i.e. base layer = layer 1
15 L01 = 0,
16 /* L02, SHIFT is not (yet) implemented as a fully customizable layer */
17 L03,
18 L04,
19 L05,
20 /* L06, UNSPECIFIED not (yet) needed */
21 LFN
22 };
23
24
25 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 /* L01 -> default: BASE LAYER
27 * ,-----------------------------------------------------------------------------------.
28 * | ESC | | | ENTER|
29 * |------+ | +------|
30 * | L03 | L01_LEFT | L01_RIGHT | L03 |
31 * |------+ | +------|
32 * | SHIFT| | | SHIFT|
33 * |------+------+------+------+------+------+------+------+------+------+------+------|
34 * | CTLR | GUI | ALT | L05 | L04 | SPACE| SPACE| L04 | L05 | ALTGR| LFN | CTLR |
35 * `-----------------------------------------------------------------------------------'
36 */
37 [L01] = LAYOUT_planck_grid(
38 KC_ESC, L01_LEFT_01, L01_RIGHT_01, KC_ENTER,
39 MO(L03), L01_LEFT_02, L01_RIGHT_02, MO(L03),
40 KC_LSHIFT, L01_LEFT_03, L01_RIGHT_03, KC_RSFT,
41 KC_LCTRL,KC_LGUI, KC_LALT, MO(L05), MO(L04), KC_SPC, KC_SPC, MO(L04), MO(L05), KC_RALT, MO(LFN), KC_RCTRL
42 ),
43
44
45 /*
46 L02 -> MO(L02): SHIFT (as a layer not used, not defined, not reachable)
47 */
48
49
50 /* L03 -> MO(L03): PROGRAMMING
51 * ,-----------------------------------------------------------------------------------.
52 * | | | | |
53 * |------+ | +------|
54 * | | L03_LEFT | L03_RIGHT | |
55 * |------+ | +------|
56 * | | | | |
57 * |------+------+------+------+------+------+------+------+------+------+------+------|
58 * | | | | | | | | | | | | |
59 * `-----------------------------------------------------------------------------------'
60 */
61 [L03] = LAYOUT_planck_grid(
62 _______, L03_LEFT_01, L03_RIGHT_01, _______,
63 _______, L03_LEFT_02, L03_RIGHT_02, _______,
64 _______, L03_LEFT_03, L03_RIGHT_03, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
66 ),
67
68
69 /* L04 -> MO(L04): NAVIGATION AND NUMBERS
70 * ,-----------------------------------------------------------------------------------.
71 * | | | | |
72 * |------+ | +------|
73 * | | L04_LEFT | L04_RIGHT | |
74 * |------+ | +------|
75 * | | | | |
76 * |------+------+------+------+------+------+------+------+------+------+------+------|
77 * | | | | | | | 0 | | | | | |
78 * `-----------------------------------------------------------------------------------'
79 */
80 [L04] = LAYOUT_planck_grid(
81 _______, L04_LEFT_01, L04_RIGHT_01, _______,
82 _______, L04_LEFT_02, L04_RIGHT_02, _______,
83 _______, L04_LEFT_03, L04_RIGHT_03, _______,
84 _______, _______, _______, _______, _______, _______, KC_0, _______, _______, _______, _______, _______
85 ),
86
87
88 /* L05 -> MO(L05): ALTERNATE
89 * ,-----------------------------------------------------------------------------------.
90 * | | | | |
91 * |------+ | +------|
92 * | | L05_LEFT | L05_RIGHT | |
93 * |------+ | +------|
94 * | | | | |
95 * |------+------+------+------+------+------+------+------+------+------+------+------|
96 * | | | | | | | | | | | | |
97 * `-----------------------------------------------------------------------------------'
98 */
99 [L05] = LAYOUT_planck_grid(
100 _______, L05_LEFT_01, L05_RIGHT_01, _______,
101 _______, L05_LEFT_02, L05_RIGHT_02, _______,
102 _______, L05_LEFT_03, L05_RIGHT_03, _______,
103 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
104 ),
105
106
107 /*
108 L06 -> <TBD>: UNSPECIFIED
109 */
110
111
112 /* LFN -> MO(FN): FUNCTION
113 * ,-----------------------------------------------------------------------------------.
114 * | RESET| | | BACKS|
115 * |------+ | +------|
116 * | | L06_LEFT | L06_RIGHT |INSERT|
117 * |------+ | +------|
118 * | | | |DELETE|
119 * |------+------+------+------+------+------+------+------+------+------+------+------|
120 * |VOICE-|VOICE+|MUS ON|MUS OF| LIGHT| | | VOL+ | VOL- | MUTE | | |
121 * `-----------------------------------------------------------------------------------'
122 */
123 [LFN] = LAYOUT_planck_grid(
124 RESET, L06_LEFT_01, L06_RIGHT_01, KC_BSPC,
125 _______, L06_LEFT_02, L06_RIGHT_02, KC_INS,
126 _______, L06_LEFT_03, L06_RIGHT_03, KC_DEL,
127 MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, _______, _______
128 )
129 };