]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/planck/keymaps/not-quite-neo/keymap.c
8ea7679e34f56dc4fb289c6d37ec6208faf2ecb6
[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 "planck.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] = {
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] = {
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] = {
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] = {
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] = {
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 };