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