aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/atreus/keymaps/xyverz/keymap.c190
-rw-r--r--keyboards/atreus/keymaps/xyverz/readme.md89
2 files changed, 235 insertions, 44 deletions
diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c
index 66fdebb50..4471b9caf 100644
--- a/keyboards/atreus/keymaps/xyverz/keymap.c
+++ b/keyboards/atreus/keymaps/xyverz/keymap.c
@@ -12,49 +12,129 @@ 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 _LOWER 3
19#define _L2 4 19#define _RAISE 4
20#define _ADJUST 16
20 21
21// Macro name shortcuts 22enum planck_keycodes {
22#define DVORAK M(_DV) 23 DVORAK = SAFE_RANGE,
23#define QWERTY M(_QW) 24 QWERTY,
24#define COLEMAK M(_CM) 25 COLEMAK,
26 LOWER,
27 RAISE,
28 BACKLIT
29};
25 30
31// Fillers to make layering more clear
32#define _______ KC_TRNS
33#define XXXXXXX KC_NO
26 34
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28 [_DV] = { /* Dvorak */ 36/* 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 }, 37 ,----------------------------------. ,----------------------------------.
30 {KC_A, KC_O, KC_E, KC_U, KC_I, KC_NO, KC_D, KC_H, KC_T, KC_N, KC_S }, 38 | ' | , | . | 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) }, 39 |------+------+------+------+------| |------+------+------+------+------|
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} 40 | A | O | E | U | I | | D | H | T | N | S |
41 |------+------+------+------+------|------.,------|------+------+------+------+------|
42 |SFT/ ;| Q | J | K | X | CTRL ||Alt / | B | M | W | V |SFT/ Z|
43 |------+------+------+------+------| ||Enter |------+------+------+------+------|
44 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ |
45 `----------------------------------' `----------------------------------' */
46 [_DVORAK] = {
47 {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L },
48 {KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S },
49 {SFT_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, KC_LCTL, KC_B, KC_M, KC_W, KC_V, SFT_T(KC_Z)},
50 {KC_ESC, KC_TAB, KC_LGUI, LOWER, KC_BSPC, ALT_T(KC_ENT), KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS }
33 }, 51 },
34 [_QW] = { /* Qwerty */ 52
35 {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P }, 53/* QWERTY Layer
36 {KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, 54 ,----------------------------------. ,----------------------------------.
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) }, 55 | Q | W | E | R | T | | Y | U | I | O | P |
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} 56 |------+------+------+------+------| |------+------+------+------+------|
57 | A | S | D | F | G | | H | J | K | L | ; |
58 |------+------+------+------+------|------.,------|------+------+------+------+------|
59 |SFT/ Z| X | C | V | B | CTRL ||Alt / | N | M | , | . |SFT/ /|
60 |------+------+------+------+------| ||Enter |------+------+------+------+------|
61 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ |
62 `----------------------------------' `----------------------------------' */
63 [_QWERTY] = {
64 {KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P },
65 {KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN},
66 {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH)},
67 {KC_ESC, KC_TAB, KC_LGUI, LOWER, KC_BSPC, ALT_T(KC_ENT), KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS }
39 }, 68 },
40 [_CM] = { /* Colemak */ 69
41 {KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, 70/* Colemak Layer
42 {KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O }, 71 ,----------------------------------. ,----------------------------------.
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) }, 72 | Q | W | F | P | G | | J | L | U | Y | L |
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} 73 |------+------+------+------+------| |------+------+------+------+------|
74 | A | R | S | T | D | | H | N | E | I | S |
75 |------+------+------+------+------|------.,------|------+------+------+------+------|
76 |SFT/ Z| X | C | V | B | CTRL ||Alt / | K | M | , | . |SFT/ /|
77 |------+------+------+------+------| ||Enter |------+------+------+------+------|
78 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | RGUI |
79 `----------------------------------' `----------------------------------'*/
80 [_COLEMAK] = {
81 {KC_Q, KC_W, KC_F, KC_P, KC_G, XXXXXXX, KC_J, KC_L, KC_U, KC_Y, KC_SCLN},
82 {KC_A, KC_R, KC_S, KC_T, KC_D, XXXXXXX, KC_H, KC_N, KC_E, KC_I, KC_O },
83 {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_K, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH)},
84 {KC_ESC, KC_TAB, KC_LGUI, LOWER, KC_BSPC, ALT_T(KC_ENT), KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS }
45 }, 85 },
46 [_L1] = { /* LAYER 1 */ 86
47 {KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 }, 87/* LOWER Layer
48 {KC_TAB, KC_INS, KC_UP, KC_DEL, KC_HOME, KC_NO, KC_PGUP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS}, 88 ,----------------------------------. ,----------------------------------.
49 {KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_LCTL, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, KC_BSLS}, 89 | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
50 {KC_TRNS, KC_GRV, KC_LGUI, KC_TRNS, KC_DEL, KC_LALT, KC_SPC, KC_TRNS, KC_LBRC, KC_RBRC, KC_ENT } 90 |------+------+------+------+------| |------+------+------+------+------|
91 | CAPS | | UP | | Home | | PgDn | | + | { | } |
92 |------+------+------+------+------|------.,------|------+------+------+------+------|
93 | | Left | Down | Right| End | || | PgUp | Mute | Vol- | Vol+ | |
94 |------+------+------+------+------| || |------+------+------+------+------|
95 | ~ | | | | Del |------'`------| Ins | | | | |
96 `----------------------------------' `----------------------------------'*/
97 [_LOWER] = {
98 {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN},
99 {KC_CAPS, _______, KC_UP, _______, KC_HOME, XXXXXXX, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR},
100 {_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______},
101 {KC_TILD, _______, _______, _______, KC_DEL, _______, KC_INS, _______, _______, _______, _______}
51 }, 102 },
52 [_L2] = { /* LAYER 2 */ 103
53 {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, 104/* RAISE Layer
54 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_PIPE}, 105 ,----------------------------------. ,----------------------------------.
55 {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12 }, 106 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
56 {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET} 107 |------+------+------+------+------| |------+------+------+------+------|
108 | CAPS | | UP | | Home | | PgDn | | = | [ | ] |
109 |------+------+------+------+------|------.,------|------+------+------+------+------|
110 | | Left | Down | Right| End | || | PgUp | Prev | Play | Next | |
111 |------+------+------+------+------| || |------+------+------+------+------|
112 | ` | | | | Del |------'`------| Ins | | | | |
113 `----------------------------------' `----------------------------------'*/
114 [_RAISE] = {
115 {KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0 },
116 {KC_CAPS, _______, KC_UP, _______, KC_HOME, XXXXXXX, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC},
117 {_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, _______},
118 {KC_GRV, _______, _______, _______, KC_DEL, _______, KC_INS, _______, _______, _______, _______}
119 },
120
121/* ADJUST Layer
122 ,----------------------------------. ,----------------------------------.
123 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
124 |------+------+------+------+------| |------+------+------+------+------|
125 | F11 | | | | | | | | | | F12 |
126 |------+------+------+------+------|------.,------|------+------+------+------+------|
127 | |QWERTY|COLEMK|DVORAK| | || | | | | | |
128 |------+------+------+------+------| || |------+------+------+------+------|
129 | | | | | |------'`------| | | | | RESET|
130 `----------------------------------' `----------------------------------'*/
131 [_ADJUST] = {
132 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 },
133 {KC_F11, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, KC_F12 },
134 {_______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, _______, _______, _______},
135 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET }
57 } 136 }
137
58}; 138};
59 139
60const uint16_t PROGMEM fn_actions[] = { 140const uint16_t PROGMEM fn_actions[] = {
@@ -66,24 +146,46 @@ void persistant_default_layer_set(uint16_t default_layer) {
66 default_layer_set(default_layer); 146 default_layer_set(default_layer);
67} 147}
68 148
69const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 149bool process_record_user(uint16_t keycode, keyrecord_t *record) {
70{ 150 switch (keycode) {
71 switch(id) { 151 case QWERTY:
72 case _DV: 152 if (record->event.pressed) {
153 persistant_default_layer_set(1UL<<_QWERTY);
154 }
155 return false;
156 break;
157 case COLEMAK:
158 if (record->event.pressed) {
159 persistant_default_layer_set(1UL<<_COLEMAK);
160 }
161 return false;
162 break;
163 case DVORAK:
73 if (record->event.pressed) { 164 if (record->event.pressed) {
74 persistant_default_layer_set(1UL<<_DV); 165 persistant_default_layer_set(1UL<<_DVORAK);
75 } 166 }
167 return false;
76 break; 168 break;
77 case _QW: 169 case LOWER:
78 if (record->event.pressed) { 170 if (record->event.pressed) {
79 persistant_default_layer_set(1UL<<_QW); 171 layer_on(_LOWER);
172 update_tri_layer(_LOWER, _RAISE, _ADJUST);
173 } else {
174 layer_off(_LOWER);
175 update_tri_layer(_LOWER, _RAISE, _ADJUST);
80 } 176 }
177 return false;
81 break; 178 break;
82 case _CM: 179 case RAISE:
83 if (record->event.pressed) { 180 if (record->event.pressed) {
84 persistant_default_layer_set(1UL<<_CM); 181 layer_on(_RAISE);
182 update_tri_layer(_LOWER, _RAISE, _ADJUST);
183 } else {
184 layer_off(_RAISE);
185 update_tri_layer(_LOWER, _RAISE, _ADJUST);
85 } 186 }
187 return false;
86 break; 188 break;
87 } 189 }
88 return MACRO_NONE; 190 return true;
89}; 191};
diff --git a/keyboards/atreus/keymaps/xyverz/readme.md b/keyboards/atreus/keymaps/xyverz/readme.md
new file mode 100644
index 000000000..29c0422bb
--- /dev/null
+++ b/keyboards/atreus/keymaps/xyverz/readme.md
@@ -0,0 +1,89 @@
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've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
11
12## Still to do:
13
14 * Tidy the keymap up so that it's readable.
15 * Learn how to make alias macros for mod_tap keys.
16
17### Layer 0: Dvorak layer
18
19 ,----------------------------------. ,----------------------------------.
20 | ' | , | . | P | Y | | F | G | C | R | L |
21 |------+------+------+------+------| |------+------+------+------+------|
22 | A | O | E | U | I | | D | H | T | N | S |
23 |------+------+------+------+------|------.,------|------+------+------+------+------|
24 |Shft ;| Q | J | K | X | CTRL ||Alt / | B | M | W | V |Shft Z|
25 |------+------+------+------+------| ||Enter |------+------+------+------+------|
26 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ |
27 `----------------------------------' `----------------------------------'
28
29### Layer 1: QWERTY layer
30
31 ,----------------------------------. ,----------------------------------.
32 | Q | W | E | R | T | | Y | U | I | O | P |
33 |------+------+------+------+------| |------+------+------+------+------|
34 | A | S | D | F | G | | H | J | K | L | ; |
35 |------+------+------+------+------|------.,------|------+------+------+------+------|
36 |Shft Z| X | C | V | B | CTRL ||Alt / | N | M | , | . |Shft /|
37 |------+------+------+------+------| ||Enter |------+------+------+------+------|
38 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ |
39 `----------------------------------' `----------------------------------'
40
41### Keymap 2: Colemak layer
42
43 ,----------------------------------. ,----------------------------------.
44 | Q | W | F | P | G | | J | L | U | Y | L |
45 |------+------+------+------+------| |------+------+------+------+------|
46 | A | R | S | T | D | | H | N | E | I | S |
47 |------+------+------+------+------|------.,------|------+------+------+------+------|
48 |Shft Z| X | C | V | B | CTRL ||Alt / | K | M | , | . |Shft /|
49 |------+------+------+------+------| ||Enter |------+------+------+------+------|
50 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | RGUI |
51 `----------------------------------' `----------------------------------'
52
53### layer 3 : LOWER layer
54
55 ,----------------------------------. ,----------------------------------.
56 | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
57 |------+------+------+------+------| |------+------+------+------+------|
58 | CAPS | | UP | | Home | | PgDn | | + | { | } |
59 |------+------+------+------+------|------.,------|------+------+------+------+------|
60 | | Left | Down | Right| End | || | PgUp | Mute | Vol- | Vol+ | |
61 |------+------+------+------+------| || |------+------+------+------+------|
62 | ~ | | | | Del |------'`------| Ins | | | | |
63 `----------------------------------' `----------------------------------'
64
65
66### Keymap 4: RAISE layer
67
68 ,----------------------------------. ,----------------------------------.
69 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
70 |------+------+------+------+------| |------+------+------+------+------|
71 | CAPS | | UP | | Home | | PgDn | | = | [ | ] |
72 |------+------+------+------+------|------.,------|------+------+------+------+------|
73 | | Left | Down | Right| End | || | PgUp | Prev | Play | Next | |
74 |------+------+------+------+------| || |------+------+------+------+------|
75 | ` | | | | Del |------'`------| Ins | | | | |
76 `----------------------------------' `----------------------------------'
77
78### Keymap 5: ADJUST layer
79
80 ,----------------------------------. ,----------------------------------.
81 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
82 |------+------+------+------+------| |------+------+------+------+------|
83 | F11 | | | | | | | | | | F12 |
84 |------+------+------+------+------|------.,------|------+------+------+------+------|
85 | |QWERTY|COLEMK|DVORAK| | || | | | | | |
86 |------+------+------+------+------| || |------+------+------+------+------|
87 | | | | | |------'`------| | | | | RESET|
88 `----------------------------------' `----------------------------------'
89