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