aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/atreus/keymaps/xyverz/keymap.c223
-rw-r--r--keyboards/atreus/keymaps/xyverz/readme.md107
2 files changed, 286 insertions, 44 deletions
diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c
index 66fdebb50..ed943eb66 100644
--- a/keyboards/atreus/keymaps/xyverz/keymap.c
+++ b/keyboards/atreus/keymaps/xyverz/keymap.c
@@ -12,49 +12,156 @@ extern keymap_config_t keymap_config;
12// The underscores don't mean anything - you can have a layer called STUFF or any other name. 12// The underscores don't mean anything - you can have a layer called STUFF or any other name.
13// Layer names don't all need to be of the same length, obviously, and you can also skip them 13// Layer names don't all need to be of the same length, obviously, and you can also skip them
14// entirely and just use numbers. 14// entirely and just use numbers.
15#define _DV 0 15#define _DVORAK 0
16#define _QW 1 16#define _QWERTY 1
17#define _CM 2 17#define _COLEMAK 2
18#define _L1 3 18#define _DVORMAC 3
19#define _L2 4 19#define _LOWER 4
20#define _RAISE 5
21#define _ADJUST 16
20 22
21// Macro name shortcuts 23enum planck_keycodes {
22#define DVORAK M(_DV) 24 DVORAK = SAFE_RANGE,
23#define QWERTY M(_QW) 25 QWERTY,
24#define COLEMAK M(_CM) 26 COLEMAK,
27 DVORMAC,
28 LOWER,
29 RAISE,
30 BACKLIT
31};
32
33// Adding macros to make the keymaps below much easier to read.
34#define SFTSCLN SFT_T(KC_SCLN)
35#define SFTSLSH SFT_T(KC_SLSH)
36#define SFTZED SFT_T(KC_Z)
37#define ALTENT ALT_T(KC_ENT)
38#define ESCTRL CTL_T(KC_ESC)
39#define TABALT ALT_T(KC_TAB)
25 40
41// Fillers to make layering more clear
42#define _______ KC_TRNS
43#define XXXXXXX KC_NO
26 44
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 45const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28 [_DV] = { /* Dvorak */ 46/* Dvorak Layer
29 {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_NO, KC_F, KC_G, KC_C, KC_R, KC_L }, 47 ,----------------------------------. ,----------------------------------.
30 {KC_A, KC_O, KC_E, KC_U, KC_I, KC_NO, KC_D, KC_H, KC_T, KC_N, KC_S }, 48 | ' | , | . | P | Y | | F | G | C | R | L |
31 {SFT_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, CTL_T(KC_DEL), KC_B, KC_M, KC_W, KC_V, SFT_T(KC_Z) }, 49 |------+------+------+------+------| |------+------+------+------+------|
32 {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_SLSH, KC_EQL} 50 | A | O | E | U | I | | D | H | T | N | S |
51 |------+------+------+------+------|------.,------|------+------+------+------+------|
52 |SFT/ ;| Q | J | K | X | CTRL ||Alt / | B | M | W | V |SFT/ Z|
53 |------+------+------+------+------| ||Enter |------+------+------+------+------|
54 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ |
55 `----------------------------------' `----------------------------------' */
56 [_DVORAK] = {
57 {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L },
58 {KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S },
59 {SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_LCTL, KC_B, KC_M, KC_W, KC_V, SFTZED },
60 {ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS}
61 },
62
63/* QWERTY Layer
64 ,----------------------------------. ,----------------------------------.
65 | Q | W | E | R | T | | Y | U | I | O | P |
66 |------+------+------+------+------| |------+------+------+------+------|
67 | A | S | D | F | G | | H | J | K | L | ; |
68 |------+------+------+------+------|------.,------|------+------+------+------+------|
69 |SFT/ Z| X | C | V | B | CTRL ||Alt / | N | M | , | . |SFT/ /|
70 |------+------+------+------+------| ||Enter |------+------+------+------+------|
71 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ |
72 `----------------------------------' `----------------------------------' */
73 [_QWERTY] = {
74 {KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P },
75 {KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN},
76 {SFTZED, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_N, KC_M, KC_COMM, KC_DOT, SFTSLSH},
77 {ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, ALTENT, KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS}
78 },
79
80/* Colemak Layer
81 ,----------------------------------. ,----------------------------------.
82 | Q | W | F | P | G | | J | L | U | Y | L |
83 |------+------+------+------+------| |------+------+------+------+------|
84 | A | R | S | T | D | | H | N | E | I | S |
85 |------+------+------+------+------|------.,------|------+------+------+------+------|
86 |SFT/ Z| X | C | V | B | CTRL ||Alt / | K | M | , | . |SFT/ /|
87 |------+------+------+------+------| ||Enter |------+------+------+------+------|
88 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ |
89 `----------------------------------' `----------------------------------'*/
90 [_COLEMAK] = {
91 {KC_Q, KC_W, KC_F, KC_P, KC_G, XXXXXXX, KC_J, KC_L, KC_U, KC_Y, KC_SCLN},
92 {KC_A, KC_R, KC_S, KC_T, KC_D, XXXXXXX, KC_H, KC_N, KC_E, KC_I, KC_O },
93 {SFTZED, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_K, KC_M, KC_COMM, KC_DOT, SFTSLSH},
94 {ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, ALTENT, KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS}
33 }, 95 },
34 [_QW] = { /* Qwerty */ 96
35 {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P }, 97/* Dvorak Layer with Command key on left thumb instead of Control
36 {KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, 98 ,----------------------------------. ,----------------------------------.
37 {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) }, 99 | ' | , | . | P | Y | | F | G | C | R | L |
38 {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_EQL} 100 |------+------+------+------+------| |------+------+------+------+------|
101 | A | O | E | U | I | | D | H | T | N | S |
102 |------+------+------+------+------|------.,------|------+------+------+------+------|
103 |SFT/ ;| Q | J | K | X | CMD ||Alt / | B | M | W | V |SFT/ Z|
104 |------+------+------+------+------| ||Enter |------+------+------+------+------|
105 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ |
106 `----------------------------------' `----------------------------------' */
107 [_DVORMAC] = {
108 {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L },
109 {KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S },
110 {SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_LGUI, KC_B, KC_M, KC_W, KC_V, SFTZED },
111 {ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS}
39 }, 112 },
40 [_CM] = { /* Colemak */ 113
41 {KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, 114/* LOWER Layer
42 {KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O }, 115 ,----------------------------------. ,----------------------------------.
43 {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_K, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) }, 116 | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
44 {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_EQL} 117 |------+------+------+------+------| |------+------+------+------+------|
118 | CAPS | | UP | | Home | | PgDn | | + | { | } |
119 |------+------+------+------+------|------.,------|------+------+------+------+------|
120 | | Left | Down | Right| End | || | PgUp | Mute | Vol- | Vol+ | |
121 |------+------+------+------+------| || |------+------+------+------+------|
122 | ~ | | | | Del |------'`------| Ins | | | | |
123 `----------------------------------' `----------------------------------'*/
124 [_LOWER] = {
125 {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN},
126 {KC_CAPS, _______, KC_UP, _______, KC_HOME, XXXXXXX, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR},
127 {_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______},
128 {KC_TILD, _______, _______, _______, KC_DEL, _______, KC_INS, _______, _______, _______, _______}
45 }, 129 },
46 [_L1] = { /* LAYER 1 */ 130
47 {KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 }, 131/* RAISE Layer
48 {KC_TAB, KC_INS, KC_UP, KC_DEL, KC_HOME, KC_NO, KC_PGUP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS}, 132 ,----------------------------------. ,----------------------------------.
49 {KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_LCTL, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, KC_BSLS}, 133 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
50 {KC_TRNS, KC_GRV, KC_LGUI, KC_TRNS, KC_DEL, KC_LALT, KC_SPC, KC_TRNS, KC_LBRC, KC_RBRC, KC_ENT } 134 |------+------+------+------+------| |------+------+------+------+------|
135 | CAPS | | UP | | Home | | PgDn | | = | [ | ] |
136 |------+------+------+------+------|------.,------|------+------+------+------+------|
137 | | Left | Down | Right| End | || | PgUp | Prev | Play | Next | |
138 |------+------+------+------+------| || |------+------+------+------+------|
139 | ` | | | | Del |------'`------| Ins | | | | |
140 `----------------------------------' `----------------------------------'*/
141 [_RAISE] = {
142 {KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0 },
143 {KC_CAPS, _______, KC_UP, _______, KC_HOME, XXXXXXX, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC},
144 {_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, _______},
145 {KC_GRV, _______, _______, _______, KC_DEL, _______, KC_INS, _______, _______, _______, _______}
51 }, 146 },
52 [_L2] = { /* LAYER 2 */ 147
53 {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, 148/* ADJUST Layer
54 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_PIPE}, 149 ,----------------------------------. ,----------------------------------.
55 {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12 }, 150 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
56 {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET} 151 |------+------+------+------+------| |------+------+------+------+------|
152 | F11 | | | | | | | PrSc | ScLk | Paus | F12 |
153 |------+------+------+------+------|------.,------|------+------+------+------+------|
154 | |QWERTY|COLEMK|DVORAK|DVORMC| || | | | | | |
155 |------+------+------+------+------| || |------+------+------+------+------|
156 | | | | | |------'`------| | | | | RESET|
157 `----------------------------------' `----------------------------------'*/
158 [_ADJUST] = {
159 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 },
160 {KC_F11, _______, _______, _______, _______, XXXXXXX, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12 },
161 {_______, QWERTY, COLEMAK, DVORAK, DVORMAC, _______, _______, _______, _______, _______, _______},
162 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET }
57 } 163 }
164
58}; 165};
59 166
60const uint16_t PROGMEM fn_actions[] = { 167const uint16_t PROGMEM fn_actions[] = {
@@ -66,24 +173,52 @@ void persistant_default_layer_set(uint16_t default_layer) {
66 default_layer_set(default_layer); 173 default_layer_set(default_layer);
67} 174}
68 175
69const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 176bool process_record_user(uint16_t keycode, keyrecord_t *record) {
70{ 177 switch (keycode) {
71 switch(id) { 178 case QWERTY:
72 case _DV: 179 if (record->event.pressed) {
180 persistant_default_layer_set(1UL<<_QWERTY);
181 }
182 return false;
183 break;
184 case COLEMAK:
185 if (record->event.pressed) {
186 persistant_default_layer_set(1UL<<_COLEMAK);
187 }
188 return false;
189 break;
190 case DVORAK:
191 if (record->event.pressed) {
192 persistant_default_layer_set(1UL<<_DVORAK);
193 }
194 return false;
195 break;
196 case DVORMAC:
73 if (record->event.pressed) { 197 if (record->event.pressed) {
74 persistant_default_layer_set(1UL<<_DV); 198 persistant_default_layer_set(1UL<<_DVORMAC);
75 } 199 }
200 return false;
76 break; 201 break;
77 case _QW: 202 case LOWER:
78 if (record->event.pressed) { 203 if (record->event.pressed) {
79 persistant_default_layer_set(1UL<<_QW); 204 layer_on(_LOWER);
205 update_tri_layer(_LOWER, _RAISE, _ADJUST);
206 } else {
207 layer_off(_LOWER);
208 update_tri_layer(_LOWER, _RAISE, _ADJUST);
80 } 209 }
210 return false;
81 break; 211 break;
82 case _CM: 212 case RAISE:
83 if (record->event.pressed) { 213 if (record->event.pressed) {
84 persistant_default_layer_set(1UL<<_CM); 214 layer_on(_RAISE);
215 update_tri_layer(_LOWER, _RAISE, _ADJUST);
216 } else {
217 layer_off(_RAISE);
218 update_tri_layer(_LOWER, _RAISE, _ADJUST);
85 } 219 }
220 return false;
86 break; 221 break;
87 } 222 }
88 return MACRO_NONE; 223 return true;
89}; 224};
diff --git a/keyboards/atreus/keymaps/xyverz/readme.md b/keyboards/atreus/keymaps/xyverz/readme.md
new file mode 100644
index 000000000..ec7d836c1
--- /dev/null
+++ b/keyboards/atreus/keymaps/xyverz/readme.md
@@ -0,0 +1,107 @@
1# Xyverz's Atreus Keymap
2
3## About this keymap:
4
5This is the second iteration of my Atreus keymap. The first one was as close to the planck as I could get at the
6time, but still very much like the original Atreus keymap. I've managed to get things working better now and have
7implemented (more like copied) the RAISE/LOWER/ADJUST layers. This is a work in progress, but I think I'm closer
8to a final go with this.
9
10I'm using MOD_TAP quite a bit in this keymap. On all layers, R4 pinky keys use mod-tap and are SHIFT when held
11and their normal keys when tapped. In addition, ESC and TAB are also set as Ctrl and ALT respectively when held,
12and Enter/ALT on the right thumb key for all layers.
13
14I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
15
16Recently added: Documentation, Formatting, and another Dvorak layer that has Command on the left thumb, instead of
17Control.
18
19## Still to do:
20
21 * Enjoy this revision; figure out new things later.
22
23### Layer 0: Dvorak layer
24
25 ,----------------------------------. ,----------------------------------.
26 | ' | , | . | P | Y | | F | G | C | R | L |
27 |------+------+------+------+------| |------+------+------+------+------|
28 | A | O | E | U | I | | D | H | T | N | S |
29 |------+------+------+------+------|------.,------|------+------+------+------+------|
30 |Shft ;| Q | J | K | X | CTRL ||Alt / | B | M | W | V |Shft Z|
31 |------+------+------+------+------| ||Enter |------+------+------+------+------|
32 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ |
33 `----------------------------------' `----------------------------------'
34
35### Layer 1: QWERTY layer
36
37 ,----------------------------------. ,----------------------------------.
38 | Q | W | E | R | T | | Y | U | I | O | P |
39 |------+------+------+------+------| |------+------+------+------+------|
40 | A | S | D | F | G | | H | J | K | L | ; |
41 |------+------+------+------+------|------.,------|------+------+------+------+------|
42 |Shft Z| X | C | V | B | CTRL ||Alt / | N | M | , | . |Shft /|
43 |------+------+------+------+------| ||Enter |------+------+------+------+------|
44 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ |
45 `----------------------------------' `----------------------------------'
46
47### Keymap 2: Colemak layer
48
49 ,----------------------------------. ,----------------------------------.
50 | Q | W | F | P | G | | J | L | U | Y | L |
51 |------+------+------+------+------| |------+------+------+------+------|
52 | A | R | S | T | D | | H | N | E | I | S |
53 |------+------+------+------+------|------.,------|------+------+------+------+------|
54 |Shft Z| X | C | V | B | CTRL ||Alt / | K | M | , | . |Shft /|
55 |------+------+------+------+------| ||Enter |------+------+------+------+------|
56 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ |
57 `----------------------------------' `----------------------------------'
58
59### Keymap 3: Dvorak for Mac layout
60
61 ,----------------------------------. ,----------------------------------.
62 | ' | , | . | P | Y | | F | G | C | R | L |
63 |------+------+------+------+------| |------+------+------+------+------|
64 | A | O | E | U | I | | D | H | T | N | S |
65 |------+------+------+------+------|------.,------|------+------+------+------+------|
66 |SFT/ ;| Q | J | K | X | CMD ||Alt / | B | M | W | V |SFT/ Z|
67 |------+------+------+------+------| ||Enter |------+------+------+------+------|
68 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ |
69 `----------------------------------' `----------------------------------'
70
71### Keymap 4: LOWER layer
72
73 ,----------------------------------. ,----------------------------------.
74 | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
75 |------+------+------+------+------| |------+------+------+------+------|
76 | CAPS | | UP | | Home | | PgDn | | + | { | } |
77 |------+------+------+------+------|------.,------|------+------+------+------+------|
78 | | Left | Down | Right| End | || | PgUp | Mute | Vol- | Vol+ | |
79 |------+------+------+------+------| || |------+------+------+------+------|
80 | ~ | | | | Del |------'`------| Ins | | | | |
81 `----------------------------------' `----------------------------------'
82
83
84### Keymap 5: RAISE layer
85
86 ,----------------------------------. ,----------------------------------.
87 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
88 |------+------+------+------+------| |------+------+------+------+------|
89 | CAPS | | UP | | Home | | PgDn | | = | [ | ] |
90 |------+------+------+------+------|------.,------|------+------+------+------+------|
91 | | Left | Down | Right| End | || | PgUp | Prev | Play | Next | |
92 |------+------+------+------+------| || |------+------+------+------+------|
93 | ` | | | | Del |------'`------| Ins | | | | |
94 `----------------------------------' `----------------------------------'
95
96### Keymap 6: ADJUST layer
97
98 ,----------------------------------. ,----------------------------------.
99 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
100 |------+------+------+------+------| |------+------+------+------+------|
101 | F11 | | | | | | | PScr | SLck | Paus | F12 |
102 |------+------+------+------+------|------.,------|------+------+------+------+------|
103 | |QWERTY|COLEMK|DVORAK|DVORMC| || | | | | | |
104 |------+------+------+------+------| || |------+------+------+------+------|
105 | | | | | |------'`------| | | | | RESET|
106 `----------------------------------' `----------------------------------'
107