]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/niu_mini/keymaps/yttyx/keymap.c
Update KBD67 readme so that it mentions the KBD65 PCB (#5143)
[qmk_firmware.git] / keyboards / niu_mini / keymaps / yttyx / keymap.c
1
2 #include QMK_KEYBOARD_H
3
4 enum layers {
5   BA,           // Base (Balance Twelve mirror variant)
6   P1,           // Punctuation (1)
7   P2,           // Punctuation (2)
8   P3,           // Punctuation (2)
9   NC,           // Numerals / Cursor control
10   FV            // Function keys / Cursor control (Vim)
11 };
12
13 // Abbreviations - base
14 #define KX_P1_BSPC      LT(P1, KC_BSPC)
15 #define KX_P2_SPC       LT(P2, KC_SPC)
16
17 #define KX_SFT_Z        MT(MOD_LSFT, KC_Z)
18 #define KX_CTL_J        MT(MOD_LCTL, KC_J)
19 #define KX_ALT_F        MT(MOD_LALT, KC_F)
20
21 #define KX_ALT_DOT      MT(MOD_LALT, KC_DOT)
22 #define KX_CTL_SCLN     MT(MOD_LCTL, KC_SCLN)
23 #define KX_SFT_X        MT(MOD_LSFT, KC_X)
24
25 #define KX_AT           LSFT(KC_QUOT)
26 #define KX_DQUOT        LSFT(KC_2)
27 #define KX_PIPE         LSFT(KC_NUBS)
28 #define KX_TILDA        LSFT(KC_NUHS)
29
30
31 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32   /*
33     .--------.-------.-------.-------.--------.                           .-------.-------.-------.-------.------.
34     | P      | L     | C     | D     | W      |                           | U     | O     | Y     | K     | Q    |
35     |--------+-------+-------+-------+--------|                           |-------+-------+-------+-------+------|
36     | N      | R     | S     | T     | M      |                           | A     | E     | I     | H     | V    |
37     |--------+-------+-------+-------+--------|                           |-------+-------+-------+-------+------|
38     | Z Sft  | J Ctl | F Alt | G     | B      |                           | ,     | . Alt | ; Ctl | X Sft | Sup  |
39     '--------'-------'-------+-------+--------+-----.               .-----+-------+-------+-------'-------'------'
40                              | BS P1 | Spc P2 | P3  |               |     | Sft   |       |
41                              '-------'--------'-----'               '-----'-------'-------'
42   */                                                               
43   [BA] = LAYOUT(                                                   
44     KC_P,     KC_L,     KC_C,     KC_D,       KC_W,      XXXXXXX,   XXXXXXX, KC_U,    KC_O,       KC_Y,        KC_K,     KC_Q,
45     KC_N,     KC_R,     KC_S,     KC_T,       KC_M,      XXXXXXX,   XXXXXXX, KC_A,    KC_E,       KC_I,        KC_H,     KC_V,
46     KX_SFT_Z, KX_CTL_J, KX_ALT_F, KC_G,       KC_B,      XXXXXXX,   XXXXXXX, KC_COMM, KX_ALT_DOT, KX_CTL_SCLN, KX_SFT_X, KC_LGUI,
47     XXXXXXX,  XXXXXXX,  XXXXXXX,  KX_P1_BSPC, KX_P2_SPC, MO(P3),    XXXXXXX, KC_RSFT, XXXXXXX,    XXXXXXX,     XXXXXXX,  XXXXXXX
48   ),
49
50   /* P1: Punctuation (1)
51     .--------.-------.-------.-------.-------.                              .------.-------.-------.-------.------.
52     | Esc    |       |       |       |       |                              | |    | /     | ^     | £     |  ~   |
53     |--------+-------+-------+-------+-------|                              |------+-------+-------+-------+------|
54     | Tab    |       |       |       |       |                              | &    | \     | `     | $     | Ent  |
55     |--------+-------+-------+-------+-------|                              |------+-------+-------+-------+------|
56     | Sft    | Ctl   | Alt   | Del   |       |                              | %    | Alt   | Ctl   | Sft   | Sup  |
57     '--------'-------'-------+-------+-------+-----.                  .-----+------+-------+-------'-------'------'
58                              | P1    |       |     |                  |     | Sft  |       |
59                              '-------'-------'-----'                  '-----'------'-------'
60   */
61   [P1] = LAYOUT(       
62     KC_ESC,  XXXXXXX,    XXXXXXX,    XXXXXXX,    XXXXXXX,    XXXXXXX, XXXXXXX, KX_PIPE, KC_SLSH, KC_CIRC, KC_HASH, KX_TILDA,  
63     KC_TAB,  XXXXXXX,    XXXXXXX,    XXXXXXX,    XXXXXXX,    XXXXXXX, XXXXXXX, KC_AMPR, KC_NUBS, KC_GRV,  KC_DLR,  KC_ENT,
64     KC_LSFT, KC_LCTL,    KC_LALT,    KC_DEL,     XXXXXXX,    XXXXXXX, XXXXXXX, KC_PERC, KC_LALT, KC_LCTL, KC_LSFT, _______,
65     XXXXXXX, XXXXXXX,    XXXXXXX,    _______,    XXXXXXX,    XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
66   ),
67
68   /* P2: Punctuation (2)
69     .-------.-------.-------.-------.-------.                               .-------.-------.-------.-------.------.
70     | Esc   |       | NC    | FV    |       |                               | (     | )     | "     | ?     |      |
71     |-------+-------+-------+-------+-------|                               |-------+-------+-------+-------+------|
72     | Tab   | Ctl-X | Ctl-C | Ctl-V | Ctl-Z |                               | {     | }     | '     | !     | Ent  |
73     |-------+-------+-------+-------+-------|                               |-------+-------+-------+-------+------|
74     | Sft   | Ctl   | Alt   | Del   | Ent   |                               | #     | Alt   | Ctl   | Sft   | Sup  |
75     '-------'-------'-------+-------+-------+-----.                   .-----+-------+-------+-------'-------'------'
76                             | BS    | P2    |     |                   |     | Sft   |       |
77                             '-------'-------'-----'                   '-----'-------'-------'
78   */
79   [P2] = LAYOUT(
80     KC_ESC,  XXXXXXX,    TO(NC),     TO(FV),     XXXXXXX,    XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, KX_DQUOT, KC_QUES, XXXXXXX,
81     KC_TAB,  LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_Z), XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_QUOT,  KC_EXLM, KC_ENT,
82     KC_LSFT, KC_LCTL,    KC_LALT,    KC_DEL,     KC_ENT,     XXXXXXX, XXXXXXX, KC_NUHS, KC_LALT, KC_LCTL,  KC_LSFT, _______,
83     XXXXXXX, XXXXXXX,    XXXXXXX,    KC_BSPC,    _______,    XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX,  XXXXXXX, XXXXXXX
84   ),
85
86   /* P3: Punctuation (3)
87     .-------.-------.-------.-------.-------.                             .------.-------.-------.-------.------.
88     | Esc   |       | Break | Pscr  | ScLk  |                             | <    | >     | +     | _     | =    |
89     |-------+-------+-------+-------+-------|                             |------+-------+-------+-------+------|
90     | Tab   |       |       | Caps  |       |                             | [    | ]     | *     | -     | Ent  |
91     |-------+-------+-------+-------+-------|                             |------+-------+-------+-------+------|
92     | Sft   | Ctl   | Alt   | Del   |       |                             | @    | Alt   | Ctl   | Sft   | Sup  |
93     '-------'-------'-------+-------+-------+-----.                 .-----+------+-------+-------'-------'------'
94                             | BS    |       | P3  |                 |     | Sft  |       |
95                             '-------'-------'-----'                 '-----'------'-------'
96   */
97   [P3] = LAYOUT(
98     KC_ESC,  XXXXXXX, KC_BRK,  KC_PSCR, KC_SLCK, XXXXXXX,           XXXXXXX, KC_LABK, KC_RABK, KC_PLUS, KC_UNDS, KC_EQL,
99     KC_TAB,  XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX,           XXXXXXX, KC_LBRC, KC_RBRC, KC_ASTR, KC_MINS, KC_ENT,
100     KC_LSFT, KC_LCTL, KC_LALT, KC_DEL,  XXXXXXX, XXXXXXX,           XXXXXXX, KX_AT,   KC_LALT, KC_LCTL, KC_LSFT, _______,
101     XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, XXXXXXX, _______,           XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
102   ),
103
104   /* NC: Numerals / Cursor control
105     .-------.-------.-------.------.-------.                              .------.-------.-------.------.------.
106     | 1     | 2     | 3     | 4    | 5     |                              | Home | Up    | End   | PgUp |      |
107     |-------+-------+-------+------+-------|                              |------+-------+-------+------+------|
108     | 6     | 7     | 8     | 9    | 0     |                              | Left | Down  | Right | PgDn |      |
109     |-------+-------+-------+------+-------|                              |------+-------+-------+------+------|
110     | Sft   | Ctl   | Alt   | Del  | .     |                              | Ins  | Alt   | Ctl   | Sft  | Sup  |
111     '-------'-------'-------+------+-------+-----.                  .-----+------+-------+-------'------'------'
112                             | BS   | BA    |     |                  |     | Sft  |       |
113                             '------'-------'-----'                  '-----'------'-------'
114   */
115   [NC] = LAYOUT(
116     KC_1,    KC_2,    KC_3,    KC_4,    KC_5,   XXXXXXX,            XXXXXXX, KC_HOME, KC_UP,   KC_END,  KC_PGUP, XXXXXXX,
117     KC_6,    KC_7,    KC_8,    KC_9,    KC_0,   XXXXXXX,            XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX,
118     KC_LSFT, KC_LCTL, KC_LALT, KC_DEL,  KC_DOT, XXXXXXX,            XXXXXXX, KC_INS,  KC_LALT, KC_LCTL, KC_LSFT, _______,
119     XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, TO(BA), XXXXXXX,            XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
120   ),
121
122   /* FV: Function keys / Cursor control (Vim)
123     .-------.------.-------.-----.-------.                                .------.-------.-----.-------.------.
124     | F1    | F2   | F3    | F4  | F5    |                                | 0    | K     | $   | Ctl-B |      |
125     |-------+------+-------+-----+-------|                                |------+-------+-----+-------+------|
126     | F6    | F7   | F8    | F9  | F10   |                                | H    | J     | L   | Ctl-F |      |
127     |-------+------+-------+-----+-------|                                |------+-------+-----+-------+------|
128     | Sft   | Ctl  | Alt   | F11 | F12   |                                |      | Alt   | Ctl | Sft   | Sup  |
129     '-------'------'-------+-----+-------+-----.                    .-----+------+-------+-----'-------'------'
130                            | BS  | BA    |     |                    |     | Sft  |       |
131                            '-----'-------'-----'                    '-----'------'-------'
132   */
133   [FV] = LAYOUT(
134     KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,  XXXXXXX,            XXXXXXX, KC_0,    KC_K,    KC_DLR,   LCTL(KC_B), XXXXXXX,
135     KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10, XXXXXXX,            XXXXXXX, KC_H,    KC_J,    KC_L,     LCTL(KC_F), XXXXXXX,
136     KC_LSFT, KC_LCTL, KC_LALT, KC_F11,  KC_F12, XXXXXXX,            XXXXXXX, XXXXXXX, KC_LALT, KC_LCTL,  KC_LSFT,    _______,
137     XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, TO(BA), XXXXXXX,            XXXXXXX, _______, XXXXXXX, XXXXXXX,  XXXXXXX,    XXXXXXX
138   )
139
140 };
141