1 #ifndef NQN_BASIC_LAYOUT_H
2 #define NQN_BASIC_LAYOUT_H
5 This is the basic NQN layout
7 It consists of a block of 5x3, 5x4, 6x3, or 6x4 for each hand. This allows us
8 to use these blocks for a variety of keyboards like the planck, preonic and
9 even splits like the ergodox.
11 You can see that we use some quirky preprocessor defines to achive what we
12 desire. In the future I would like to see qmk taking a more generic approach
15 The naming convention for these blocks is
18 The LAYER is a number following the neo2 manner starting at 1 for the base
19 layer, 2 is shift, 3 is for special chars etc.
21 SIDE is, well either the left or right side/half of a keyboard.
23 The ROW is starting from the top, numbering beginning at 1.
27 #include "nqn-common.h"
33 * ,----------------------------------. ,----------------------------------.
34 * 01 | x | v | l | c | w | | k | h | g | f | q |
35 * |------+------+------+------+------| |------+------+------+------+------|
36 * 02 | u | i | a | e | o | | s | n | r | t | d |
37 * |------+------+------+------+------| |------+------+------+------+------|
38 * 03 | y | < | # | p | z | | b | m | , | . | j |
39 * `----------------------------------' `----------------------------------'
41 #define L01_LEFT_01 KC_X, KC_V, KC_L, KC_C, KC_W
42 #define L01_LEFT_02 KC_U, KC_I, KC_A, KC_E, KC_O
43 #define L01_LEFT_03 N_Y, N_LT, N_HS, KC_P, N_Z
44 #define L01_RIGHT_02 KC_S, KC_N, KC_R, KC_T, KC_D
45 #define L01_RIGHT_01 KC_K, KC_H, KC_G, KC_F, KC_Q
46 #define L01_RIGHT_03 KC_B, KC_M, KC_COMM, KC_DOT, KC_J
52 * ,----------------------------------. ,----------------------------------.
53 * 01 | … | _ | [ | ] | ^ | | ! | < | > | = | & |
54 * |------+------+------+------+------| |------+------+------+------+------|
55 * 02 | \ | / | { | } | * | | ? | ( | ) | - | @ |
56 * |------+------+------+------+------| |------+------+------+------+------|
57 * 03 | # | $ | | | ~ | ` | | + | % | " | ' | ° |
58 * `----------------------------------' `----------------------------------'
60 #define L03_LEFT_01 N_DOTS, N_USC, N_LSQBR, N_RSQBR, N_CIRC
61 #define L03_LEFT_02 N_BSLS, N_SLSH, N_LCUBR, N_RCUBR, N_ASTR
62 #define L03_LEFT_03 N_HASH, N_DLR, N_PIPE, N_TILD, N_GRAVE
63 #define L03_RIGHT_01 N_EXKL, N_LT, N_GT, N_EQ, N_AMP
64 #define L03_RIGHT_02 N_QUES, N_LPARN, N_RPARN, N_MINS, N_AT
65 #define L03_RIGHT_03 N_PLUS, N_PERC, N_QUOT, N_SING, N_DEGRE
71 * ,----------------------------------. ,----------------------------------.
72 * 01 | PAGEU| BACKS| UP | DELET| PAGED| | / | 7 | 8 | 9 | - |
73 * |------+------+------+------+------| |------+------+------+------+------|
74 * 02 | HOME | LEFT | DOWN | RIGHT| END | | * | 4 | 5 | 6 | + |
75 * |------+------+------+------+------| |------+------+------+------+------|
76 * 03 | ESC | TAB | INSRT| ENTER| UNDO | | ENTER| 1 | 2 | 3 | , |
77 * `----------------------------------' `----------------------------------'
79 #define L04_LEFT_01 KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN
80 #define L04_LEFT_02 KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_END
81 #define L04_LEFT_03 KC_ESC, KC_TAB, KC_INS, KC_ENTER, N_UNDO
82 #define L04_RIGHT_01 KC_KP_SLASH, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS
83 #define L04_RIGHT_02 KC_KP_ASTERISK, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS
84 #define L04_RIGHT_03 KC_KP_ENTER, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_DOT
89 * ,----------------------------------. ,----------------------------------.
90 * 01 | | | | | | | | | | | |
91 * |------+------+------+------+------| |------+------+------+------+------|
92 * 02 | ü | | ä | € | ö | | ß | | | | |
93 * |------+------+------+------+------| |------+------+------+------+------|
94 * 03 | | | | | | | | µ | | | |
95 * `----------------------------------' `----------------------------------'
97 #define L05_LEFT_01 _______, _______, _______, _______, _______
98 #define L05_LEFT_02 N_UE, _______, N_AE, N_EURO, N_OE
99 #define L05_LEFT_03 _______, _______, _______, _______, _______
100 #define L05_RIGHT_01 _______, _______, _______, _______, _______
101 #define L05_RIGHT_02 N_SS, _______, _______, _______, _______
102 #define L05_RIGHT_03 _______, N_MU, _______, _______, _______
108 * ,----------------------------------. ,----------------------------------.
109 * 01 | F1 | F2 | F3 | F4 | | | MAIL | MUSIC| FILES| CALC | PASTE|
110 * |------+------+------+------+------| |------+------+------+------+------|
111 * 02 | F5 | F6 | F7 | F8 | | | PREV |PLAY/P| NEXT | STOP | COPY |
112 * |------+------+------+------+------| |------+------+------+------+------|
113 * 03 | F9 | F10 | F11 | F12 | | | PRINT| SCROL| PAUSE| NUMLK| CUT |
114 * `----------------------------------' `----------------------------------'
116 #define L06_LEFT_01 KC_F1, KC_F2, KC_F3, KC_F4, _______
117 #define L06_LEFT_02 KC_F5, KC_F6, KC_F7, KC_F8, _______
118 #define L06_LEFT_03 KC_F9, KC_F10, KC_F11, KC_F12, _______
119 #define L06_RIGHT_01 KC_MAIL, KC_MSEL, KC_MY_COMPUTER, KC_CALCULATOR, N_PASTE
120 #define L06_RIGHT_02 KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, N_COPY
121 #define L06_RIGHT_03 KC_PSCR, KC_SLCK, KC_PAUS, KC_NLCK, N_CUT