aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/atreus/keymaps/xyverz/keymap.c68
-rw-r--r--keyboards/atreus/keymaps/xyverz/readme.md12
-rw-r--r--keyboards/atreus62/keymaps/xyverz/keymap.c151
-rw-r--r--keyboards/atreus62/keymaps/xyverz/readme.md41
-rw-r--r--keyboards/clueboard/66/keymaps/xyverz/config.h3
-rw-r--r--keyboards/clueboard/66/keymaps/xyverz/rules.mk46
-rw-r--r--keyboards/eco/keymaps/xyverz/keymap.c115
-rw-r--r--keyboards/keebio/fourier/keymaps/xyverz/keymap.c84
-rw-r--r--keyboards/keebio/iris/keymaps/xyverz/keymap.c113
-rw-r--r--keyboards/kinesis/keymaps/xyverz/keymap.c144
-rw-r--r--keyboards/kinesis/keymaps/xyverz/readme.md45
-rw-r--r--keyboards/minidox/keymaps/xyverz/keymap.c167
-rw-r--r--keyboards/orthodox/keymaps/xyverz/config.h9
-rw-r--r--keyboards/orthodox/keymaps/xyverz/keymap.c146
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/config.h (renamed from keyboards/keebio/fourier/keymaps/xyverz/config.h)13
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/keymap.c330
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/readme.md132
-rw-r--r--keyboards/rgbkb/sol/keymaps/xyverz/rules.mk51
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c84
-rw-r--r--layouts/community/60_ansi/xyverz/keymap.c (renamed from keyboards/gh60/revc/keymaps/xyverz/keymap.c)67
-rw-r--r--layouts/community/66_ansi/xyverz/config.h5
-rw-r--r--layouts/community/66_ansi/xyverz/keymap.c (renamed from keyboards/clueboard/66/keymaps/xyverz/keymap.c)63
-rw-r--r--layouts/community/66_ansi/xyverz/rules.mk1
-rw-r--r--layouts/community/ortho_4x12/xyverz/keymap.c135
-rw-r--r--layouts/community/ortho_4x12/xyverz/readme.md1
-rw-r--r--layouts/community/ortho_5x12/xyverz/keymap.c141
-rw-r--r--layouts/community/tkl_ansi/xyverz/keymap.c (renamed from keyboards/phantom/keymaps/xyverz/keymap.c)73
-rw-r--r--layouts/community/tkl_ansi/xyverz/readme.md1
28 files changed, 1057 insertions, 1184 deletions
diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c
index fe1ca295d..7653206ae 100644
--- a/keyboards/atreus/keymaps/xyverz/keymap.c
+++ b/keyboards/atreus/keymaps/xyverz/keymap.c
@@ -3,8 +3,6 @@
3// Preonic keyboards by Jack Humbert. 3// Preonic keyboards by Jack Humbert.
4 4
5#include QMK_KEYBOARD_H 5#include QMK_KEYBOARD_H
6#include "action_layer.h"
7#include "eeconfig.h"
8 6
9extern keymap_config_t keymap_config; 7extern keymap_config_t keymap_config;
10 8
@@ -12,13 +10,16 @@ extern keymap_config_t keymap_config;
12// The underscores don't mean anything - you can have a layer called STUFF or any other name. 10// 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 11// 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. 12// entirely and just use numbers.
15#define _DVORAK 0 13
16#define _QWERTY 1 14enum layer_names {
17#define _COLEMAK 2 15 _DVORAK,
18#define _DVORMAC 3 16 _QWERTY,
19#define _LOWER 4 17 _COLEMAK,
20#define _RAISE 5 18 _DVORMAC,
21#define _ADJUST 16 19 _LOWER,
20 _RAISE,
21 _ADJUST
22};
22 23
23enum planck_keycodes { 24enum planck_keycodes {
24 DVORAK = SAFE_RANGE, 25 DVORAK = SAFE_RANGE,
@@ -27,7 +28,7 @@ enum planck_keycodes {
27 DVORMAC, 28 DVORMAC,
28 LOWER, 29 LOWER,
29 RAISE, 30 RAISE,
30 BACKLIT 31 ADJUST
31}; 32};
32 33
33// Adding macros to make the keymaps below much easier to read. 34// Adding macros to make the keymaps below much easier to read.
@@ -37,6 +38,9 @@ enum planck_keycodes {
37#define ALTENT ALT_T(KC_ENT) 38#define ALTENT ALT_T(KC_ENT)
38#define ESCTRL CTL_T(KC_ESC) 39#define ESCTRL CTL_T(KC_ESC)
39#define TABALT ALT_T(KC_TAB) 40#define TABALT ALT_T(KC_TAB)
41#define ADJUST MO(_ADJUST)
42#define LOWER MO(_LOWER)
43#define RAISE MO(_RAISE)
40 44
41const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 45const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
42 /* Dvorak Layer 46 /* Dvorak Layer
@@ -159,57 +163,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
159 ), 163 ),
160}; 164};
161 165
162void persistent_default_layer_set(uint16_t default_layer) { 166layer_state_t layer_state_set_user(layer_state_t state) {
163 eeconfig_update_default_layer(default_layer); 167 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
164 default_layer_set(default_layer);
165} 168}
166
167bool process_record_user(uint16_t keycode, keyrecord_t *record) { 169bool process_record_user(uint16_t keycode, keyrecord_t *record) {
168 switch (keycode) { 170 switch (keycode) {
169 case QWERTY: 171 case DVORAK:
170 if (record->event.pressed) { 172 if (record->event.pressed) {
171 persistent_default_layer_set(1UL<<_QWERTY); 173 set_single_persistent_default_layer(_DVORAK);
172 } 174 }
173 return false; 175 return false;
174 break;
175 case COLEMAK: 176 case COLEMAK:
176 if (record->event.pressed) { 177 if (record->event.pressed) {
177 persistent_default_layer_set(1UL<<_COLEMAK); 178 set_single_persistent_default_layer(_COLEMAK);
178 } 179 }
179 return false; 180 return false;
180 break; 181 case QWERTY:
181 case DVORAK:
182 if (record->event.pressed) { 182 if (record->event.pressed) {
183 persistent_default_layer_set(1UL<<_DVORAK); 183 set_single_persistent_default_layer(_QWERTY);
184 } 184 }
185 return false; 185 return false;
186 break;
187 case DVORMAC: 186 case DVORMAC:
188 if (record->event.pressed) { 187 if (record->event.pressed) {
189 persistent_default_layer_set(1UL<<_DVORMAC); 188 set_single_persistent_default_layer(_DVORMAC);
190 } 189 }
191 return false; 190 return false;
192 break;
193 case LOWER:
194 if (record->event.pressed) {
195 layer_on(_LOWER);
196 update_tri_layer(_LOWER, _RAISE, _ADJUST);
197 } else {
198 layer_off(_LOWER);
199 update_tri_layer(_LOWER, _RAISE, _ADJUST);
200 }
201 return false;
202 break;
203 case RAISE:
204 if (record->event.pressed) {
205 layer_on(_RAISE);
206 update_tri_layer(_LOWER, _RAISE, _ADJUST);
207 } else {
208 layer_off(_RAISE);
209 update_tri_layer(_LOWER, _RAISE, _ADJUST);
210 }
211 return false;
212 break;
213 } 191 }
214 return true; 192 return true;
215}; 193} \ No newline at end of file
diff --git a/keyboards/atreus/keymaps/xyverz/readme.md b/keyboards/atreus/keymaps/xyverz/readme.md
index ec7d836c1..aa44f01da 100644
--- a/keyboards/atreus/keymaps/xyverz/readme.md
+++ b/keyboards/atreus/keymaps/xyverz/readme.md
@@ -9,7 +9,7 @@ to a final go with this.
9 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 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, 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. 12and Enter/ALT on the right thumb key for all alpha layers.
13 13
14I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts. 14I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
15 15
@@ -44,7 +44,7 @@ Control.
44 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ | 44 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ |
45 `----------------------------------' `----------------------------------' 45 `----------------------------------' `----------------------------------'
46 46
47### Keymap 2: Colemak layer 47### Layer 2: Colemak layer
48 48
49 ,----------------------------------. ,----------------------------------. 49 ,----------------------------------. ,----------------------------------.
50 | Q | W | F | P | G | | J | L | U | Y | L | 50 | Q | W | F | P | G | | J | L | U | Y | L |
@@ -56,7 +56,7 @@ Control.
56 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ | 56 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ |
57 `----------------------------------' `----------------------------------' 57 `----------------------------------' `----------------------------------'
58 58
59### Keymap 3: Dvorak for Mac layout 59### Layer 3: Dvorak for Mac layer
60 60
61 ,----------------------------------. ,----------------------------------. 61 ,----------------------------------. ,----------------------------------.
62 | ' | , | . | P | Y | | F | G | C | R | L | 62 | ' | , | . | P | Y | | F | G | C | R | L |
@@ -68,7 +68,7 @@ Control.
68 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ | 68 | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ |
69 `----------------------------------' `----------------------------------' 69 `----------------------------------' `----------------------------------'
70 70
71### Keymap 4: LOWER layer 71### Layer 4: LOWER layer
72 72
73 ,----------------------------------. ,----------------------------------. 73 ,----------------------------------. ,----------------------------------.
74 | ! | @ | # | $ | % | | ^ | & | * | ( | ) | 74 | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
@@ -81,7 +81,7 @@ Control.
81 `----------------------------------' `----------------------------------' 81 `----------------------------------' `----------------------------------'
82 82
83 83
84### Keymap 5: RAISE layer 84### Layer 5: RAISE layer
85 85
86 ,----------------------------------. ,----------------------------------. 86 ,----------------------------------. ,----------------------------------.
87 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | 87 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
@@ -93,7 +93,7 @@ Control.
93 | ` | | | | Del |------'`------| Ins | | | | | 93 | ` | | | | Del |------'`------| Ins | | | | |
94 `----------------------------------' `----------------------------------' 94 `----------------------------------' `----------------------------------'
95 95
96### Keymap 6: ADJUST layer 96### Layer 6: ADJUST layer
97 97
98 ,----------------------------------. ,----------------------------------. 98 ,----------------------------------. ,----------------------------------.
99 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | 99 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
diff --git a/keyboards/atreus62/keymaps/xyverz/keymap.c b/keyboards/atreus62/keymaps/xyverz/keymap.c
index a7c33ce9e..52b018850 100644
--- a/keyboards/atreus62/keymaps/xyverz/keymap.c
+++ b/keyboards/atreus62/keymaps/xyverz/keymap.c
@@ -14,19 +14,21 @@
14CHANGELOG: 14CHANGELOG:
15 15
16 0.1 - Initial commit. Based off of Profet's default keymap. 16 0.1 - Initial commit. Based off of Profet's default keymap.
17 0.2 - Converted to a more Planck/Preonic keymap style file with 17 0.2 - Converted to a more Planck/Preonic keymap style file with
18 persistent layers enabled. Renamed layers to reflect OLKB maps. 18 persistent layers enabled. Renamed layers to reflect OLKB maps.
19 Added a TODO list. 19 Added a TODO list.
20 0.3 - Moved location of media & volume keys. Added Print Screen, 20 0.3 - Moved location of media & volume keys. Added Print Screen,
21 Scroll Lock and Pause keys. Added a WOW gaming layer that 21 Scroll Lock and Pause keys. Added a WOW gaming layer that
22 changes the location of Ctrl & Alt to the thumb keys. Added 22 changes the location of Ctrl & Alt to the thumb keys. Added
23 readme. 23 readme.
24 0.4 - After more useage, I realized that the ESC key was in the way 24 0.4 - After more useage, I realized that the ESC key was in the way
25 of my muscle memory (gee, thanks, Planck!) so I moved it to 25 of my muscle memory (gee, thanks, Planck!) so I moved it to
26 the normal Caps Lock position, and moved Caps Lock to the same 26 the normal Caps Lock position, and moved Caps Lock to the same
27 position on the RAISE and LOWER layers. Added code to turn off 27 position on the RAISE and LOWER layers. Added code to turn off
28 the Pro Micro LEDs after flashing. 28 the Pro Micro LEDs after flashing.
29 0.5 - Converted keymap to LAYOUT standard. 29 0.5 - Converted keymap to LAYOUT standard.
30 0.6 - Swapped ESC and GRV in all layers.
31 0.7 - Brought code up to current standards.
30 32
31TODO: 33TODO:
32 34
@@ -39,66 +41,59 @@ TODO:
39// this is the style you want to emulate. 41// this is the style you want to emulate.
40// This is the canonical layout file for the Quantum project. If you want to add another keyboard, 42// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
41#include QMK_KEYBOARD_H 43#include QMK_KEYBOARD_H
42#include "action_layer.h" 44
43#include "eeconfig.h" 45enum layer_names { _DVORAK, _QWERTY, _COLEMAK, _WOW, _DESTINY, _LOWER, _RAISE, _ADJUST };
44 46
45// Each layer gets a name for readability, which is then used in the keymap matrix below. 47enum atreus52_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK, WOW, DESTINY, LOWER, RAISE, ADJUST };
46// The underscores don't mean anything - you can have a layer called STUFF or any other name.
47// Layer names don't all need to be of the same length, obviously, and you can also skip them
48// entirely and just use numbers.
49#define _DVORAK 0
50#define _QWERTY 1
51#define _COLEMAK 2
52#define _WOW 3
53#define _LOWER 4
54#define _RAISE 5
55#define _ADJUST 16
56
57enum atreus52_keycodes {
58 DVORAK = SAFE_RANGE,
59 QWERTY,
60 COLEMAK,
61 WOW,
62 LOWER,
63 RAISE
64};
65 48
66// Aliases to make the keymap clearer. 49// Aliases to make the keymap clearer.
67#define CTL_ENT CTL_T(KC_ENT) 50#define CTL_ENT CTL_T(KC_ENT)
51#define LOWER MO(_LOWER)
52#define RAISE MO(_RAISE)
53#define ADJUST MO(_ADJUST)
68 54
55// clang-format off
69const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 56const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
70 [_DVORAK] = LAYOUT ( /* dvorak */ 57 [_DVORAK] = LAYOUT ( /* dvorak */
71 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, 58 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
72 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, 59 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
73 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, 60 KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
74 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, 61 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
75 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL 62 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL
76 ), 63 ),
77 64
78 [_QWERTY] = LAYOUT ( /* qwerty */ 65 [_QWERTY] = LAYOUT ( /* qwerty */
79 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 66 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
80 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, 67 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
81 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 68 KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
82 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, 69 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
83 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL 70 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL
84 ), 71 ),
85 72
86 [_COLEMAK] = LAYOUT ( /* colemak */ 73 [_COLEMAK] = LAYOUT ( /* colemak */
87 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 74 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
88 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, 75 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
89 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, 76 KC_GRV, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
90 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, 77 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
91 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL 78 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL
92 ), 79 ),
93 80
94 [_WOW] = LAYOUT ( /* Dvorak with minor modifications for playing World of Warcraft */ 81 [_WOW] = LAYOUT ( /* Dvorak with minor modifications for playing World of Warcraft */
95 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, 82 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
96 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, 83 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
97 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, 84 KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
98 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, 85 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
99 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LALT, CTL_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT 86 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LALT, CTL_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT
100 ), 87 ),
101 88
89 [_DESTINY] = LAYOUT ( /* Dvorak with minor modifications for playing Destiny 2 and other FPS Looters */
90 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
91 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
92 KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
93 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
94 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT
95 ),
96
102 [_LOWER] = LAYOUT ( 97 [_LOWER] = LAYOUT (
103 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, 98 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
104 KC_TILD, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, 99 KC_TILD, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE,
@@ -114,76 +109,48 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
114 _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ 109 _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______
115 ), 110 ),
116 [_ADJUST] = LAYOUT ( 111 [_ADJUST] = LAYOUT (
117 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 112 _______, _______, _______, KC_F13, KC_F14, KC_F15, _______, _______, _______, _______, _______, _______,
118 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 113 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
119 _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, WOW, 114 _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, DESTINY, WOW,
120 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 115 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
121 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 116 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
122 ), 117 ),
123
124}; 118};
119//clang-format on
125 120
126void matrix_init_user(void) { 121void matrix_init_user(void) {
127#ifdef BOOTLOADER_CATERINA 122#ifdef BOOTLOADER_CATERINA
128 // This will disable the red LEDs on the ProMicros 123 // This will disable the red LEDs on the ProMicros
129 DDRD &= ~(1<<5); 124 setPinInput(D5);
130 PORTD &= ~(1<<5); 125 writePinLow(D5);
131 DDRB &= ~(1<<0); 126 setPinInput(B0);
132 PORTB &= ~(1<<0); 127 writePinLow(B0);
133#endif 128#endif
134}; 129};
135 130
136void persistent_default_layer_set(uint16_t default_layer) { 131layer_state_t layer_state_set_user(layer_state_t state) {
137 eeconfig_update_default_layer(default_layer); 132 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
138 default_layer_set(default_layer); 133};
139}
140 134
141bool process_record_user(uint16_t keycode, keyrecord_t *record) { 135bool process_record_user(uint16_t keycode, keyrecord_t *record) {
142 switch (keycode) { 136 if (record->event.pressed) {
143 case QWERTY: 137 switch (keycode) {
144 if (record->event.pressed) { 138 case DVORAK:
145 persistent_default_layer_set(1UL<<_QWERTY); 139 set_single_persistent_default_layer(_DVORAK);
146 } 140 return false;
147 return false; 141 case QWERTY:
148 break; 142 set_single_persistent_default_layer(_QWERTY);
149 case COLEMAK: 143 return false;
150 if (record->event.pressed) { 144 case COLEMAK:
151 persistent_default_layer_set(1UL<<_COLEMAK); 145 set_single_persistent_default_layer(_COLEMAK);
152 } 146 return false;
153 return false; 147 case WOW:
154 break; 148 set_single_persistent_default_layer(_WOW);
155 case DVORAK: 149 return false;
156 if (record->event.pressed) { 150 case DESTINY:
157 persistent_default_layer_set(1UL<<_DVORAK); 151 set_single_persistent_default_layer(_DESTINY);
158 } 152 return false;
159 return false; 153 }
160 break; 154 }
161 case WOW: 155 return true;
162 if (record->event.pressed) {
163 persistent_default_layer_set(1UL<<_WOW);
164 }
165 return false;
166 break;
167 case LOWER:
168 if (record->event.pressed) {
169 layer_on(_LOWER);
170 update_tri_layer(_LOWER, _RAISE, _ADJUST);
171 } else {
172 layer_off(_LOWER);
173 update_tri_layer(_LOWER, _RAISE, _ADJUST);
174 }
175 return false;
176 break;
177 case RAISE:
178 if (record->event.pressed) {
179 layer_on(_RAISE);
180 update_tri_layer(_LOWER, _RAISE, _ADJUST);
181 } else {
182 layer_off(_RAISE);
183 update_tri_layer(_LOWER, _RAISE, _ADJUST);
184 }
185 return false;
186 break;
187 }
188 return true;
189}; 156};
diff --git a/keyboards/atreus62/keymaps/xyverz/readme.md b/keyboards/atreus62/keymaps/xyverz/readme.md
index cf00b65e3..f91a87da4 100644
--- a/keyboards/atreus62/keymaps/xyverz/readme.md
+++ b/keyboards/atreus62/keymaps/xyverz/readme.md
@@ -23,6 +23,13 @@ The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards h
23 * Moved location of Escape key to Caps Lock position. Moved Caps Lock to same position on Raise/Lower Layers. 23 * Moved location of Escape key to Caps Lock position. Moved Caps Lock to same position on Raise/Lower Layers.
24 * Put Tilde/Grave in the upper-left corner 24 * Put Tilde/Grave in the upper-left corner
25 * Added code to turn off the red LEDs on the Pro Micro after flashing. They were annoying me. 25 * Added code to turn off the red LEDs on the Pro Micro after flashing. They were annoying me.
26### 0.5
27 * Converted keymap to LAYOUT standard.
28### 0.6
29 * Swapped ESC and GRV in all layers.
30### 0.7
31 * Brought code up to new standards (as of 27 June 2019).
32 * Updated this readme file.
26 33
27### TODO: 34### TODO:
28 35
@@ -34,11 +41,11 @@ The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards h
34### Layer 0: Dvorak layer 41### Layer 0: Dvorak layer
35 42
36 ,-----------------------------------------. ,-----------------------------------------. 43 ,-----------------------------------------. ,-----------------------------------------.
37 | Grv | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ | 44 | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ |
38 |------+------+------+------+------+------| |------+------+------+------+------+------| 45 |------+------+------+------+------+------| |------+------+------+------+------+------|
39 | Tab | ' | , | . | P | Y | | F | G | C | R | L | / | 46 | Tab | ' | , | . | P | Y | | F | G | C | R | L | / |
40 |------+------+------+------+------+------| |------+------+------+------+------+------| 47 |------+------+------+------+------+------| |------+------+------+------+------+------|
41 | Esc | A | O | E | U | I | | D | H | T | N | S | - | 48 | Grv | A | O | E | U | I | | D | H | T | N | S | - |
42 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| 49 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
43 | Shft | ; | Q | J | K | X | Gui ||Enter | B | M | W | V | Z | Shft | 50 | Shft | ; | Q | J | K | X | Gui ||Enter | B | M | W | V | Z | Shft |
44 |------+------+------+------+------+------| || |------+------+------+------+------+------| 51 |------+------+------+------+------+------| || |------+------+------+------+------+------|
@@ -48,11 +55,11 @@ The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards h
48### Layer 1: QWERTY layer 55### Layer 1: QWERTY layer
49 56
50 ,-----------------------------------------. ,-----------------------------------------. 57 ,-----------------------------------------. ,-----------------------------------------.
51 | Grv | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | 58 | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
52 |------+------+------+------+------+------| |------+------+------+------+------+------| 59 |------+------+------+------+------+------| |------+------+------+------+------+------|
53 | Tab | Q | W | E | R | T | | Y | U | I | O | P | Del | 60 | Tab | Q | W | E | R | T | | Y | U | I | O | P | Del |
54 |------+------+------+------+------+------| |------+------+------+------+------+------| 61 |------+------+------+------+------+------| |------+------+------+------+------+------|
55 | Esc | A | S | D | F | G | | D | H | T | N | S | ' | 62 | Grv | A | S | D | F | G | | D | H | T | N | S | ' |
56 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| 63 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
57 | Shft | Z | X | C | V | B | Gui ||Enter | N | M | , | . | / | Shft | 64 | Shft | Z | X | C | V | B | Gui ||Enter | N | M | , | . | / | Shft |
58 |------+------+------+------+------+------| || |------+------+------+------+------+------| 65 |------+------+------+------+------+------| || |------+------+------+------+------+------|
@@ -62,11 +69,11 @@ The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards h
62### Keymap 2: Colemak layer 69### Keymap 2: Colemak layer
63 70
64 ,-----------------------------------------. ,-----------------------------------------. 71 ,-----------------------------------------. ,-----------------------------------------.
65 | Grv | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | 72 | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
66 |------+------+------+------+------+------| |------+------+------+------+------+------| 73 |------+------+------+------+------+------| |------+------+------+------+------+------|
67 | Tab | Q | W | F | P | G | | J | U | U | Y | ; | Del | 74 | Tab | Q | W | F | P | G | | J | U | U | Y | ; | Del |
68 |------+------+------+------+------+------| |------+------+------+------+------+------| 75 |------+------+------+------+------+------| |------+------+------+------+------+------|
69 | Esc | A | R | S | T | D | | H | N | E | I | O | ' | 76 | Grv | A | R | S | T | D | | H | N | E | I | O | ' |
70 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| 77 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
71 | Shft | Z | X | C | V | B | Gui ||Enter | K | M | , | . | / | Shft | 78 | Shft | Z | X | C | V | B | Gui ||Enter | K | M | , | . | / | Shft |
72 |------+------+------+------+------+------| || |------+------+------+------+------+------| 79 |------+------+------+------+------+------| || |------+------+------+------+------+------|
@@ -80,14 +87,28 @@ The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards h
80 |------+------+------+------+------+------| |------+------+------+------+------+------| 87 |------+------+------+------+------+------| |------+------+------+------+------+------|
81 | Tab | ' | , | . | P | Y | | F | G | C | R | L | / | 88 | Tab | ' | , | . | P | Y | | F | G | C | R | L | / |
82 |------+------+------+------+------+------| |------+------+------+------+------+------| 89 |------+------+------+------+------+------| |------+------+------+------+------+------|
83 | Caps | A | O | E | U | I | | D | H | T | N | S | - | 90 | Grv | A | O | E | U | I | | D | H | T | N | S | - |
84 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------| 91 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
85 | Shft | ; | Q | J | K | X | Alt ||Ctrl/ | B | M | W | V | Z | Shft | 92 | Shft | ; | Q | J | K | X | Alt ||Ctrl/ | B | M | W | V | Z | Shft |
86 |------+------+------+------+------+------| ||Enter |------+------+------+------+------+------| 93 |------+------+------+------+------+------| ||Enter |------+------+------+------+------+------|
87 | Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | 94 | Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl |
88 `-----------------------------------------' `-----------------------------------------' 95 `-----------------------------------------' `-----------------------------------------'
89 96
90### Keymap 4: LOWER layer 97### Layer 4: Destiny layer
98
99 ,-----------------------------------------. ,-----------------------------------------.
100 | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ |
101 |------+------+------+------+------+------| |------+------+------+------+------+------|
102 | Tab | ' | , | . | P | Y | | F | G | C | R | L | / |
103 |------+------+------+------+------+------| |------+------+------+------+------+------|
104 | Grv | A | O | E | U | I | | D | H | T | N | S | - |
105 |------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
106 | Shft | ; | Q | J | K | X | Del ||Enter | B | M | W | V | Z | Shft |
107 |------+------+------+------+------+------| || |------+------+------+------+------+------|
108 | Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl |
109 `-----------------------------------------' `-----------------------------------------'
110
111### Keymap 5: LOWER layer
91 112
92 ,-----------------------------------------. ,-----------------------------------------. 113 ,-----------------------------------------. ,-----------------------------------------.
93 | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | 114 | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 |
@@ -102,7 +123,7 @@ The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards h
102 `-----------------------------------------' `-----------------------------------------' 123 `-----------------------------------------' `-----------------------------------------'
103 124
104 125
105### Keymap 5: RAISE layer 126### Keymap 6: RAISE layer
106 127
107 ,-----------------------------------------. ,-----------------------------------------. 128 ,-----------------------------------------. ,-----------------------------------------.
108 | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | 129 | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 |
@@ -116,7 +137,7 @@ The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards h
116 | | | Home | End | | Del |------'`------| Ins | | PgUp | PgDn | | | 137 | | | Home | End | | Del |------'`------| Ins | | PgUp | PgDn | | |
117 `-----------------------------------------' `-----------------------------------------' 138 `-----------------------------------------' `-----------------------------------------'
118 139
119### Keymap 6: ADJUST layer 140### Keymap 7: ADJUST layer
120 141
121 ,-----------------------------------------. ,-----------------------------------------. 142 ,-----------------------------------------. ,-----------------------------------------.
122 | | | | | | | | | | | | | | 143 | | | | | | | | | | | | | |
diff --git a/keyboards/clueboard/66/keymaps/xyverz/config.h b/keyboards/clueboard/66/keymaps/xyverz/config.h
deleted file mode 100644
index 979cbf576..000000000
--- a/keyboards/clueboard/66/keymaps/xyverz/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
1#pragma once
2
3#define TAPPING_TERM 600 // ms
diff --git a/keyboards/clueboard/66/keymaps/xyverz/rules.mk b/keyboards/clueboard/66/keymaps/xyverz/rules.mk
deleted file mode 100644
index 6fa110a7b..000000000
--- a/keyboards/clueboard/66/keymaps/xyverz/rules.mk
+++ /dev/null
@@ -1,46 +0,0 @@
1#----------------------------------------------------------------------------
2# On command line:
3#
4# make all = Make software.
5#
6# make clean = Clean out built project files.
7#
8# make coff = Convert ELF to AVR COFF.
9#
10# make extcoff = Convert ELF to AVR Extended COFF.
11#
12# make program = Download the hex file to the device.
13# Please customize your programmer settings(PROGRAM_CMD)
14#
15# make teensy = Download the hex file to the device, using teensy_loader_cli.
16# (must have teensy_loader_cli installed).
17#
18# make dfu = Download the hex file to the device, using dfu-programmer (must
19# have dfu-programmer installed).
20#
21# make flip = Download the hex file to the device, using Atmel FLIP (must
22# have Atmel FLIP installed).
23#
24# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
25# (must have dfu-programmer installed).
26#
27# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
28# (must have Atmel FLIP installed).
29#
30# make debug = Start either simulavr or avarice as specified for debugging,
31# with avr-gdb or avr-insight as the front end for debugging.
32#
33# make filename.s = Just compile filename.c into the assembler code only.
34#
35# make filename.i = Create a preprocessed source file for use in submitting
36# bug reports to the GCC project.
37#
38# To rebuild project do "make clean" then "make all".
39#----------------------------------------------------------------------------
40
41# Build Options
42# change to "no" to disable the options, or define them in the makefile.mk in
43# the appropriate keymap folder that will get included automatically
44#
45RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
46
diff --git a/keyboards/eco/keymaps/xyverz/keymap.c b/keyboards/eco/keymaps/xyverz/keymap.c
index 395a014ac..5a1974336 100644
--- a/keyboards/eco/keymaps/xyverz/keymap.c
+++ b/keyboards/eco/keymaps/xyverz/keymap.c
@@ -1,36 +1,13 @@
1// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
2// this is the style you want to emulate.
3
4// Default ECO Layout
5// KLE here : http://www.keyboard-layout-editor.com/#/gists/0733eca6b4cb88ff9d7de746803f4039
6
7#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
8 2
9extern keymap_config_t keymap_config; 3enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
10
11// Each layer gets a name for readability, which is then used in the keymap matrix below.
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
14// entirely and just use numbers.
15#define _QWERTY 0
16#define _COLEMAK 1
17#define _DVORAK 2
18#define _LOWER 3
19#define _RAISE 4
20#define _ADJUST 16
21
22enum planck_keycodes {
23 QWERTY = SAFE_RANGE,
24 COLEMAK,
25 DVORAK,
26 LOWER,
27 RAISE,
28 BACKLIT
29};
30 4
31// Aliases to make reading the keymap easier 5enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, ADJUST };
32#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped.
33 6
7// Aliases to keep the keymap tidy
8#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped.
9
10// clang-format off
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35 12
36 /* Qwerty 13 /* Qwerty
@@ -143,53 +120,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
143 ), 120 ),
144 121
145}; 122};
123// clang-format on
124
125#ifdef AUDIO_ENABLE
126float tone_qwerty[][2] = SONG(QWERTY_SOUND);
127float tone_dvorak[][2] = SONG(DVORAK_SOUND);
128float tone_colemak[][2] = SONG(COLEMAK_SOUND);
129#endif
130
131void matrix_init_user(void) {
132#ifdef BOOTLOADER_CATERINA
133 // This will disable the red LEDs on the ProMicros
134 setPinInput(D5);
135 writePinLow(D5);
136 setPinInput(B0);
137 writePinLow(B0);
138#endif
139};
146 140
147void persistent_default_layer_set(uint16_t default_layer) { 141layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
148 eeconfig_update_default_layer(default_layer);
149 default_layer_set(default_layer);
150}
151 142
152bool process_record_user(uint16_t keycode, keyrecord_t *record) { 143bool process_record_user(uint16_t keycode, keyrecord_t *record) {
153 switch (keycode) { 144 if (record->event.pressed) {
154 case QWERTY: 145 switch (keycode) {
155 if (record->event.pressed) { 146 case QWERTY:
156 persistent_default_layer_set(1UL<<_QWERTY); 147 set_single_persistent_default_layer(_QWERTY);
157 } 148 return false;
158 return false; 149 case COLEMAK:
159 break; 150 set_single_persistent_default_layer(_COLEMAK);
160 case COLEMAK: 151 return false;
161 if (record->event.pressed) { 152 case DVORAK:
162 persistent_default_layer_set(1UL<<_COLEMAK); 153 set_single_persistent_default_layer(_DVORAK);
163 } 154 return false;
164 return false; 155 }
165 break; 156 }
166 case DVORAK: 157 return true;
167 if (record->event.pressed) { 158} \ No newline at end of file
168 persistent_default_layer_set(1UL<<_DVORAK);
169 }
170 return false;
171 break;
172 case LOWER:
173 if (record->event.pressed) {
174 layer_on(_LOWER);
175 update_tri_layer(_LOWER, _RAISE, _ADJUST);
176 } else {
177 layer_off(_LOWER);
178 update_tri_layer(_LOWER, _RAISE, _ADJUST);
179 }
180 return false;
181 break;
182 case RAISE:
183 if (record->event.pressed) {
184 layer_on(_RAISE);
185 update_tri_layer(_LOWER, _RAISE, _ADJUST);
186 } else {
187 layer_off(_RAISE);
188 update_tri_layer(_LOWER, _RAISE, _ADJUST);
189 }
190 return false;
191 break;
192 }
193 return true;
194}
195
diff --git a/keyboards/keebio/fourier/keymaps/xyverz/keymap.c b/keyboards/keebio/fourier/keymaps/xyverz/keymap.c
deleted file mode 100644
index 4e864cdef..000000000
--- a/keyboards/keebio/fourier/keymaps/xyverz/keymap.c
+++ /dev/null
@@ -1,84 +0,0 @@
1#include QMK_KEYBOARD_H
2#include "action_layer.h"
3#include "eeconfig.h"
4
5extern keymap_config_t keymap_config;
6
7// Each layer gets a name for readability, which is then used in the keymap matrix below.
8// The underscores don't mean anything - you can have a layer called STUFF or any other name.
9// Layer names don't all need to be of the same length, obviously, and you can also skip them
10// entirely and just use numbers.
11#define _BASE 0
12#define _FN1 1
13#define _FN2 2
14
15enum custom_keycodes {
16 QWERTY = SAFE_RANGE,
17};
18
19#define KC_ KC_TRNS
20#define KC_FN1 MO(_FN1)
21#define KC_FN2 MO(_FN2)
22#define KC_ESFN1 LT(_FN1, KC_ESC)
23#define KC_SPFN1 LT(_FN1, KC_SPACE)
24#define KC_SPFN2 LT(_FN2, KC_SPACE)
25#define KC_BSFN1 LT(_FN1, KC_BSPC)
26#define KC_BSFN2 LT(_FN2, KC_BSPC)
27#define KC_RST RESET
28#define KC_DBUG DEBUG
29#define KC_RTOG RGB_TOG
30#define KC_RMOD RGB_MOD
31#define KC_RHUI RGB_HUI
32#define KC_RHUD RGB_HUD
33#define KC_RSAI RGB_SAI
34#define KC_RSAD RGB_SAD
35#define KC_RVAI RGB_VAI
36#define KC_RVAD RGB_VAD
37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 [_BASE] = LAYOUT_kc(
40 //,----+----+----+----+----+----|----+----+----+----+----+----+----.
41 TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,SLSH,MINS,
42 //|----`----`----`----`----`----|----`----`----`----`----`----`----|
43 ESC , A , O , E , U , I , D , H , T , N , S , ENTER ,
44 //|-----`----`----`----`----`----|----`----`----`----`----`--------|
45 LSFT ,SCLN, Q , J , K , X , B , M , W , V , Z , RSFT ,
46 //|-------`----`----`----`----`----|----`----`----`----`----`------|
47 LCTL ,LALT,LGUI ,FN2 , BSPC , SPC , FN1 ,RGUI ,RALT , RCTL
48 //`-----+----+-----+----+--------|--------+-----+-----+-----+------'
49 ),
50
51 [_FN1] = LAYOUT_kc(
52 //,----+----+----+----+----+----|----+----+----+----+----+----+----.
53 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL ,
54 //|----`----`----`----`----`----|----`----`----`----`----`----`----|
55 CAPS ,RHUI,RSAI,RVAI,VOLU,LBRC,RBRC, , , ,SCLN, ,
56 //|-----`----`----`----`----`----|----`----`----`----`----`--------|
57 RMOD ,RHUD,RSAD,RVAD,VOLD,LCBR,RCBR, , , , UP , ,
58 //|-------`----`----`----`----`----|----`----`----`----`----`------|
59 RTOG , , , , DEL , INS , ,LEFT ,DOWN , RGHT
60 //`-----+----+-----+----+--------|--------+-----+-----+-----+------'
61 ),
62
63 [_FN2] = LAYOUT_kc(
64 //,----+----+----+----+----+----|----+----+----+----+----+----+----.
65 TILD,EXLM, AT ,HASH,DLR ,PERC,CIRC,AMPR,ASTR,LPRN,RPRN,UNDS,PLUS,
66 //|----`----`----`----`----`----|----`----`----`----`----`----`----|
67 CAPS , , ,INS ,PGUP,HOME, F1 , F2 , F3 , F4 , F5 , F6 ,
68 //|-----`----`----`----`----`----|----`----`----`----`----`--------|
69 , , ,DEL ,PGDN,END , F7 , F8 , F9 ,F10 ,F11 , F12 ,
70 //|-------`----`----`----`----`----|----`----`----`----`----`------|
71 , , , , DEL , INS , , , ,
72 //`-----+----+-----+----+--------|--------+-----+-----+-----+------'
73 )
74
75};
76
77void matrix_init_user(void) {
78 // This will disable the red LEDs on the ProMicros
79 DDRD &= ~(1<<5);
80 PORTD &= ~(1<<5);
81 DDRB &= ~(1<<0);
82 PORTB &= ~(1<<0);
83};
84
diff --git a/keyboards/keebio/iris/keymaps/xyverz/keymap.c b/keyboards/keebio/iris/keymaps/xyverz/keymap.c
index 53bf32ac3..cc120c158 100644
--- a/keyboards/keebio/iris/keymaps/xyverz/keymap.c
+++ b/keyboards/keebio/iris/keymaps/xyverz/keymap.c
@@ -1,23 +1,26 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "action_layer.h"
3#include "eeconfig.h"
4 2
5extern keymap_config_t keymap_config; 3extern keymap_config_t keymap_config;
6 4
7#define _QWERTY 0 5
8#define _COLEMAK 1 6enum layer_names {
9#define _DVORAK 2 7 _DVORAK,
10#define _LOWER 3 8 _QWERTY,
11#define _RAISE 4 9 _COLEMAK,
12#define _ADJUST 16 10 _WOW,
11 _LOWER,
12 _RAISE,
13 _ADJUST
14};
13 15
14enum custom_keycodes { 16enum custom_keycodes {
15 QWERTY = SAFE_RANGE, 17 DVORAK = SAFE_RANGE,
18 QWERTY,
16 COLEMAK, 19 COLEMAK,
17 DVORAK, 20 WOW,
18 LOWER, 21 LOWER,
19 RAISE, 22 RAISE,
20 ADJUST, 23 ADJUST
21}; 24};
22 25
23#define KC_____ KC_TRNS 26#define KC_____ KC_TRNS
@@ -28,10 +31,23 @@ enum custom_keycodes {
28#define KC_QWRT QWERTY 31#define KC_QWRT QWERTY
29#define KC_CLMK COLEMAK 32#define KC_CLMK COLEMAK
30#define KC_DVRK DVORAK 33#define KC_DVRK DVORAK
34#define KC_WOW WOW
31#define KC_BSLT ALT_T(KC_BSPC) 35#define KC_BSLT ALT_T(KC_BSPC)
36#define ADJUST MO(_ADJUST)
37#define LOWER MO(_LOWER)
38#define RAISE MO(_RAISE)
32 39
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 40const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 41
42
43 [_DVORAK] = LAYOUT_kc (
44 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSLS,
45 TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,SLSH,
46 ESC , A , O , E , U , I , D , H , T , N , S ,MINS,
47 LSFT,SCLN, Q , J , K , X ,LOWR, RASE, B , M , W , V , Z ,RSFT,
48 LCTL,BSLT,LGUI, ENT ,SPC ,LALT
49 ),
50
35 [_QWERTY] = LAYOUT_kc ( 51 [_QWERTY] = LAYOUT_kc (
36 EQL , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS, 52 EQL , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,
37 TAB , Q , W , E , R , T , Y , U , I , O , P ,BSLS, 53 TAB , Q , W , E , R , T , Y , U , I , O , P ,BSLS,
@@ -48,12 +64,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 LCTL,BSPC,LGUI, ENT ,SPC ,LALT 64 LCTL,BSPC,LGUI, ENT ,SPC ,LALT
49 ), 65 ),
50 66
51 [_DVORAK] = LAYOUT_kc ( 67 [_WOW] = LAYOUT_kc (
52 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSLS, 68 GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSLS,
53 TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,SLSH, 69 TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,SLSH,
54 ESC , A , O , E , U , I , D , H , T , N , S ,MINS, 70 ESC , A , O , E , U , I , D , H , T , N , S ,MINS,
55 LSFT,SCLN, Q , J , K , X ,LOWR, RASE, B , M , W , V , Z ,RSFT, 71 LSFT,SCLN, Q , J , K , X ,LALT, RGUI, B , M , W , V , Z ,RSFT,
56 LCTL,BSLT,LGUI, ENT ,SPC ,LALT 72 LOWR,BSPC,LCTL, ENT ,SPC ,RASE
57 ), 73 ),
58 74
59 [_LOWER] = LAYOUT_kc ( 75 [_LOWER] = LAYOUT_kc (
@@ -75,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
75 [_ADJUST] = LAYOUT_kc ( 91 [_ADJUST] = LAYOUT_kc (
76 F11 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F12 , 92 F11 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F12 ,
77 ____,RST ,____,____,____,____, ____,____,____,____,____,____, 93 ____,RST ,____,____,____,____, ____,____,____,____,____,____,
78 ____,____,____,____,____,____, ____,QWRT,CLMK,DVRK,____,____, 94 ____,____,____,____,____,____, ____,QWRT,CLMK,DVRK,WOW ,____,
79 ____,____,____,____,____,____,____, ____,____,____,____,____,____,____, 95 ____,____,____,____,____,____,____, ____,____,____,____,____,____,____,
80 ____,____,____, ____,____,____ 96 ____,____,____, ____,____,____
81 ) 97 )
@@ -86,76 +102,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
86float tone_qwerty[][2] = SONG(QWERTY_SOUND); 102float tone_qwerty[][2] = SONG(QWERTY_SOUND);
87#endif 103#endif
88 104
89void persistent_default_layer_set(uint16_t default_layer) {
90 eeconfig_update_default_layer(default_layer);
91 default_layer_set(default_layer);
92}
93
94void matrix_init_user(void) { 105void matrix_init_user(void) {
95 // This will disable the red LEDs on the ProMicros 106 // This will disable the red LEDs on the ProMicros
96 DDRD &= ~(1<<5); 107 setPinOutput(D5);
97 PORTD &= ~(1<<5); 108 writePinLow(D5);
98 DDRB &= ~(1<<0); 109 setPinOutput(B0);
99 PORTB &= ~(1<<0); 110 writePinLow(B0);
100}; 111};
101 112
113layer_state_t layer_state_set_user(layer_state_t state) {
114 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
115}
102bool process_record_user(uint16_t keycode, keyrecord_t *record) { 116bool process_record_user(uint16_t keycode, keyrecord_t *record) {
103 switch (keycode) { 117 switch (keycode) {
104 case QWERTY:
105 if (record->event.pressed) {
106 #ifdef AUDIO_ENABLE
107 PLAY_SONG(tone_qwerty);
108 #endif
109 persistent_default_layer_set(1UL<<_QWERTY);
110 }
111 return false;
112 break;
113 case COLEMAK:
114 if (record->event.pressed) {
115 #ifdef AUDIO_ENABLE
116 PLAY_SONG(tone_colemak);
117 #endif
118 persistent_default_layer_set(1UL<<_COLEMAK);
119 }
120 return false;
121 break;
122 case DVORAK: 118 case DVORAK:
123 if (record->event.pressed) { 119 if (record->event.pressed) {
124 #ifdef AUDIO_ENABLE 120 set_single_persistent_default_layer(_DVORAK);
125 PLAY_SONG(tone_dvorak);
126 #endif
127 persistent_default_layer_set(1UL<<_DVORAK);
128 } 121 }
129 return false; 122 return false;
130 break; 123 case COLEMAK:
131 case LOWER:
132 if (record->event.pressed) { 124 if (record->event.pressed) {
133 layer_on(_LOWER); 125 set_single_persistent_default_layer(_COLEMAK);
134 update_tri_layer(_LOWER, _RAISE, _ADJUST);
135 } else {
136 layer_off(_LOWER);
137 update_tri_layer(_LOWER, _RAISE, _ADJUST);
138 } 126 }
139 return false; 127 return false;
140 break; 128 case QWERTY:
141 case RAISE:
142 if (record->event.pressed) { 129 if (record->event.pressed) {
143 layer_on(_RAISE); 130 set_single_persistent_default_layer(_QWERTY);
144 update_tri_layer(_LOWER, _RAISE, _ADJUST);
145 } else {
146 layer_off(_RAISE);
147 update_tri_layer(_LOWER, _RAISE, _ADJUST);
148 } 131 }
149 return false; 132 return false;
150 break; 133 case WOW:
151 case ADJUST:
152 if (record->event.pressed) { 134 if (record->event.pressed) {
153 layer_on(_ADJUST); 135 set_single_persistent_default_layer(_WOW);
154 } else {
155 layer_off(_ADJUST);
156 } 136 }
157 return false; 137 return false;
158 break;
159 } 138 }
160 return true; 139 return true;
161} 140} \ No newline at end of file
diff --git a/keyboards/kinesis/keymaps/xyverz/keymap.c b/keyboards/kinesis/keymaps/xyverz/keymap.c
index 842645d90..1144d7924 100644
--- a/keyboards/kinesis/keymaps/xyverz/keymap.c
+++ b/keyboards/kinesis/keymaps/xyverz/keymap.c
@@ -1,26 +1,20 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3extern keymap_config_t keymap_config; 3enum layer_names {
4 4 _DVORAK,
5#define _DVORAK 0 // Dvorak layer 5 _QWERTY,
6#define _QWERTY 1 // Qwerty layer 6 _COLEMAK,
7#define _COLEMAK 2 // Colemak layer 7 _KEYPAD,
8#define _MEDIA 3 // Media Layer
9#define _KEYPAD 4 // Keypad Layer
10
11enum custom_keycodes {
12 DVORAK = SAFE_RANGE,
13 QWERTY,
14 COLEMAK,
15 MEDIA,
16 KEYPAD
17}; 8};
18 9
10enum custom_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK, KEYPAD };
11
19// Aliases to make the keymap more uniform 12// Aliases to make the keymap more uniform
20#define GUI_END GUI_T(KC_END) 13#define GUI_END GUI_T(KC_END)
21#define MED_DEL LT(_MEDIA, KC_DEL)
22#define KPD_ENT LT(_KEYPAD, KC_ENT) 14#define KPD_ENT LT(_KEYPAD, KC_ENT)
23 15
16// clang-format off
17
24/* 18/*
25 19
26 Function Keys on All Layers (Keypad toggles): 20 Function Keys on All Layers (Keypad toggles):
@@ -46,9 +40,9 @@ enum custom_keycodes {
46 ,--------------.,--------------. 40 ,--------------.,--------------.
47 | LCtl | LAlt || RGUI | RCtl | 41 | LCtl | LAlt || RGUI | RCtl |
48 ,------|-------|------||------+-------+-------. 42 ,------|-------|------||------+-------+-------.
49 | | Del | Home || PgUp | Enter | | 43 | | | Home || PgUp | Enter | |
50 | BkSp | / |------||------| / | Space | 44 | BkSp | Del |------||------| / | Space |
51 | | Media | End || PgDn | KeyPd | | 45 | | | End || PgDn | KeyPd | |
52 `---------------------'`----------------------' 46 `---------------------'`----------------------'
53 47
54 QWERTY layer: 48 QWERTY layer:
@@ -66,9 +60,9 @@ enum custom_keycodes {
66 ,--------------.,--------------. 60 ,--------------.,--------------.
67 | LCtl | LAlt || RGUI | RCtl | 61 | LCtl | LAlt || RGUI | RCtl |
68 ,------|-------|------||------+-------+-------. 62 ,------|-------|------||------+-------+-------.
69 | | Del | Home || PgUp | Enter | | 63 | | | Home || PgUp | Enter | |
70 | BkSp | / |------||------| / | Space | 64 | BkSp | Del |------||------| / | Space |
71 | | Media | End || PgDn | KeyPd | | 65 | | | End || PgDn | KeyPd | |
72 `---------------------'`----------------------' 66 `---------------------'`----------------------'
73 67
74 Colemak layer: 68 Colemak layer:
@@ -86,31 +80,11 @@ enum custom_keycodes {
86 ,--------------.,--------------. 80 ,--------------.,--------------.
87 | LCtl | LAlt || RGUI | RCtl | 81 | LCtl | LAlt || RGUI | RCtl |
88 ,------|-------|------||------+-------+-------. 82 ,------|-------|------||------+-------+-------.
89 | | Del | Home || PgUp | Enter | | 83 | | | Home || PgUp | Enter | |
90 | BkSp | / |------||------| / | Space | 84 | BkSp | Del |------||------| / | Space |
91 | | Media | End || PgDn | KeyPd | | 85 | | | End || PgDn | KeyPd | |
92 `---------------------'`----------------------' 86 `---------------------'`----------------------'
93 87
94 Media layer:
95 ,-------------------------------------------.,-------------------------------------------.
96 | F11 | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F12 |
97 |--------+------+------+------+------+------||------+------+------+------+------+--------|
98 | | | | | | || | | | | | |
99 |--------+------+------+------+------+------||------+------+------+------+------+--------|
100 | | | Mute | Vol- | Vol+ | || | | | | | |
101 |--------+------+------+------+------+------||------+------+------+------+------+--------|
102 | | Stop | Prev | Play | Next | Sel || | | | | | |
103 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
104 | | | | | | | | | |
105 `---------------------------' `---------------------------'
106 ,-------------.,-------------.
107 | | || | |
108 ,------|------|------||------+------+------.
109 | | | || | | |
110 | | |------||------| | |
111 | | | || | | |
112 `--------------------'`--------------------'
113
114 Keypad layer: 88 Keypad layer:
115 ,-------------------------------------------.,-------------------------------------------. 89 ,-------------------------------------------.,-------------------------------------------.
116 | Power | | | | | || | NmLk | KP = | KP / | KP * | | 90 | Power | | | | | || | NmLk | KP = | KP / | KP * | |
@@ -145,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
145 // Left Thumb 119 // Left Thumb
146 KC_LCTL, KC_LALT, 120 KC_LCTL, KC_LALT,
147 KC_HOME, 121 KC_HOME,
148 KC_BSPC, MED_DEL, GUI_END, 122 KC_BSPC, KC_DEL, GUI_END,
149 123
150 // Right Hand 124 // Right Hand
151 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET, 125 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
@@ -171,12 +145,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
171 // Left Thumb 145 // Left Thumb
172 KC_LCTL, KC_LALT, 146 KC_LCTL, KC_LALT,
173 KC_HOME, 147 KC_HOME,
174 KC_BSPC, MED_DEL, KC_END, 148 KC_BSPC, KC_DEL, KC_END,
175 149
176 // Right Hand 150 // Right Hand
177 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET, 151 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
178 KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, 152 KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
179 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL , 153 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS ,
180 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 154 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
181 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, 155 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
182 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, 156 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
@@ -197,12 +171,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
197 // Left Thumb 171 // Left Thumb
198 KC_LCTL, KC_LALT, 172 KC_LCTL, KC_LALT,
199 KC_HOME, 173 KC_HOME,
200 KC_BSPC, MED_DEL, KC_END, 174 KC_BSPC, KC_DEL, KC_END,
201 175
202 // Right Hand 176 // Right Hand
203 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET, 177 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
204 KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, 178 KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
205 KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, 179 KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
206 KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, 180 KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
207 KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, 181 KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
208 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, 182 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
@@ -212,32 +186,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
212 KC_PGDN, KPD_ENT, KC_SPC 186 KC_PGDN, KPD_ENT, KC_SPC
213 ), 187 ),
214 188
215[_MEDIA] = LAYOUT (
216 // Left Hand
217 _______, _______, _______, _______, _______, _______, _______, _______, _______,
218 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
219 _______, _______, _______, _______, _______, _______,
220 _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______,
221 _______, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSEL,
222 _______, _______, _______, _______,
223 // Left Thumb
224 _______, _______,
225 _______,
226 _______, _______, _______,
227
228 // Right Hand
229 _______, _______, _______, _______, _______, _______, _______, _______, _______,
230 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
231 _______, _______, _______, _______, _______, _______,
232 _______, _______, _______, _______, _______, _______,
233 _______, _______, _______, _______, _______, _______,
234 _______, _______, _______, _______,
235 // Right Thumb
236 _______, _______,
237 _______,
238 _______, _______, _______
239 ),
240
241[_KEYPAD] = LAYOUT ( 189[_KEYPAD] = LAYOUT (
242 // Left Hand 190 // Left Hand
243 _______, _______, _______, _______, _______, _______, _______, _______, _______, 191 _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -251,7 +199,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
251 _______, 199 _______,
252 _______, _______, _______, 200 _______, _______, _______,
253 201
254 // Right Hand */ 202 // Right Hand
255 _______, _______, _______, _______, _______, _______, _______, _______, _______, 203 _______, _______, _______, _______, _______, _______, _______, _______, _______,
256 _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______, 204 _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______,
257 _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, 205 _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
@@ -263,38 +211,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
263 _______, 211 _______,
264 _______, _______, KC_P0 212 _______, _______, KC_P0
265 ) 213 )
266
267}; 214};
268 215
269void persistent_default_layer_set(uint16_t default_layer) { 216// clang-format on
270 eeconfig_update_default_layer(default_layer);
271 default_layer_set(default_layer);
272}
273 217
274bool process_record_user(uint16_t keycode, keyrecord_t *record) { 218bool process_record_user(uint16_t keycode, keyrecord_t *record) {
275 switch (keycode) { 219 if (record->event.pressed) {
276 case DVORAK: 220 switch (keycode) {
277 if (record->event.pressed) { 221 case DVORAK:
278 persistent_default_layer_set(1UL<<_DVORAK); 222 set_single_persistent_default_layer(_DVORAK);
279 } 223 return false;
280 return false; 224 case QWERTY:
281 break; 225 set_single_persistent_default_layer(_QWERTY);
282 case QWERTY: 226 return false;
283 if (record->event.pressed) { 227 case COLEMAK:
284 persistent_default_layer_set(1UL<<_QWERTY); 228 set_single_persistent_default_layer(_COLEMAK);
285 } 229 return false;
286 return false; 230 }
287 break; 231 }
288 case COLEMAK:
289 if (record->event.pressed) {
290 persistent_default_layer_set(1UL<<_COLEMAK);
291 }
292 return false;
293 break;
294 }
295 return true; 232 return true;
296}; 233};
297 234
298// Runs just one time when the keyboard initializes. 235// Runs just one time when the keyboard initializes.
299void matrix_init_user(void) { 236void matrix_init_user(void){};
300};
diff --git a/keyboards/kinesis/keymaps/xyverz/readme.md b/keyboards/kinesis/keymaps/xyverz/readme.md
index b55100d25..f8896934c 100644
--- a/keyboards/kinesis/keymaps/xyverz/readme.md
+++ b/keyboards/kinesis/keymaps/xyverz/readme.md
@@ -10,6 +10,8 @@ I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar t
10 10
11Depending on the OS, most of the LEDs are now working in this keymap, but I still have yet to get the Num Pad LED working when switching to the Numpad layer. 11Depending on the OS, most of the LEDs are now working in this keymap, but I still have yet to get the Num Pad LED working when switching to the Numpad layer.
12 12
13Removed the Media layer 2018-12-07
14
13## Still to do: 15## Still to do:
14 16
15 * Figure out how to make the Numpad LED work properly. 17 * Figure out how to make the Numpad LED work properly.
@@ -38,9 +40,9 @@ Depending on the OS, most of the LEDs are now working in this keymap, but I stil
38 ,--------------.,--------------. 40 ,--------------.,--------------.
39 | LCtl | LAlt || RGUI | RCtl | 41 | LCtl | LAlt || RGUI | RCtl |
40 ,------|-------|------||------+-------+-------. 42 ,------|-------|------||------+-------+-------.
41 | | Del | Home || PgUp | Enter | | 43 | | | Home || PgUp | Enter | |
42 | BkSp | / |------||------| / | Space | 44 | BkSp | Del |------||------| / | Space |
43 | | Media | End || PgDn | KeyPd | | 45 | | | End || PgDn | KeyPd | |
44 `---------------------'`----------------------' 46 `---------------------'`----------------------'
45 47
46### Layer 1: QWERTY layer 48### Layer 1: QWERTY layer
@@ -59,9 +61,9 @@ Depending on the OS, most of the LEDs are now working in this keymap, but I stil
59 ,--------------.,--------------. 61 ,--------------.,--------------.
60 | LCtl | LAlt || RGUI | RCtl | 62 | LCtl | LAlt || RGUI | RCtl |
61 ,------|-------|------||------+-------+-------. 63 ,------|-------|------||------+-------+-------.
62 | | Del | Home || PgUp | Enter | | 64 | | | Home || PgUp | Enter | |
63 | BkSp | / |------||------| / | Space | 65 | BkSp | Del |------||------| / | Space |
64 | | Media | End || PgDn | KeyPd | | 66 | | | End || PgDn | KeyPd | |
65 `---------------------'`----------------------' 67 `---------------------'`----------------------'
66 68
67### Keymap 2: Colemak layer 69### Keymap 2: Colemak layer
@@ -80,35 +82,12 @@ Depending on the OS, most of the LEDs are now working in this keymap, but I stil
80 ,--------------.,--------------. 82 ,--------------.,--------------.
81 | LCtl | LAlt || RGUI | RCtl | 83 | LCtl | LAlt || RGUI | RCtl |
82 ,------|-------|------||------+-------+-------. 84 ,------|-------|------||------+-------+-------.
83 | | Del | Home || PgUp | Enter | | 85 | | | Home || PgUp | Enter | |
84 | BkSp | / |------||------| / | Space | 86 | BkSp | Del |------||------| / | Space |
85 | | Media | End || PgDn | KeyPd | | 87 | | | End || PgDn | KeyPd | |
86 `---------------------'`----------------------' 88 `---------------------'`----------------------'
87 89
88### layer 3 : Media layer 90### layer 3 : Keypad layer
89
90 ,-------------------------------------------.,-------------------------------------------.
91 | F11 | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F12 |
92 |--------+------+------+------+------+------||------+------+------+------+------+--------|
93 | | | | | | || | | | | | |
94 |--------+------+------+------+------+------||------+------+------+------+------+--------|
95 | | | Mute | Vol- | Vol+ | || | | | | | |
96 |--------+------+------+------+------+------||------+------+------+------+------+--------|
97 | | Stop | Prev | Play | Next | Sel || | | | | | |
98 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
99 | | | | | | | | | |
100 `---------------------------' `---------------------------'
101 ,-------------.,-------------.
102 | | || | |
103 ,------|------|------||------+------+------.
104 | | | || | | |
105 | | |------||------| | |
106 | | | || | | |
107 `--------------------'`--------------------'
108
109
110
111### Keymap 4: Keypad layer
112 91
113 ,-------------------------------------------.,-------------------------------------------. 92 ,-------------------------------------------.,-------------------------------------------.
114 | Power | | | | | || | NmLk | KP = | KP / | KP * | | 93 | Power | | | | | || | NmLk | KP = | KP / | KP * | |
diff --git a/keyboards/minidox/keymaps/xyverz/keymap.c b/keyboards/minidox/keymaps/xyverz/keymap.c
index 4863f4f92..994ee4e1b 100644
--- a/keyboards/minidox/keymaps/xyverz/keymap.c
+++ b/keyboards/minidox/keymaps/xyverz/keymap.c
@@ -1,44 +1,28 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3extern keymap_config_t keymap_config; 3enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
4 4
5// Each layer gets a name for readability, which is then used in the keymap matrix below. 5enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, ADJUST };
6// The underscores don't mean anything - you can have a layer called STUFF or any other name.
7// Layer names don't all need to be of the same length, obviously, and you can also skip them
8// entirely and just use numbers.
9#define _DVORAK 0
10#define _QWERTY 1
11#define _COLEMAK 2
12#define _LOWER 3
13#define _RAISE 4
14#define _ADJUST 16
15
16enum planck_keycodes {
17 DVORAK = SAFE_RANGE,
18 QWERTY,
19 COLEMAK,
20 LOWER,
21 RAISE,
22 BACKLIT
23};
24 6
25// Adding macros to make the keymaps below much easier to read. 7// Adding macros to make the keymaps below much easier to read.
26#define SFTSCLN SFT_T(KC_SCLN) 8/*
27#define SFTSLSH SFT_T(KC_SLSH) 9 Visit https://github.com/qmk/qmk_firmware/blob/master/docs/feature_advanced_keycodes.md#mod-tap
28#define SFTZED SFT_T(KC_Z) 10 to read why these macros below are side-aware (LALT, RCTL, etc).
29//#define ALTENT ALT_T(KC_ENT) 11*/
30//#define ESCTRL CTL_T(KC_ESC) 12#define CTLSCLN RCTL_T(KC_SCLN)
31//#define TABGUI GUI_T(KC_TAB) 13#define CTLSLSH LCTL_T(KC_SLSH)
32#define CTRLQ CTL_T(KC_Q) 14#define RCTLZED RCTL_T(KC_Z)
33#define CTRLV CTL_T(KC_V) 15#define LCTLZED LCTL_T(KC_Z)
34#define ALTJ ALT_T(KC_J) 16#define ALTDOT RALT_T(KC_DOT)
35#define ALTW ALT_T(KC_W) 17#define ALTX LALT_T(KC_X)
36#define CTRLX CTL_T(KC_X) 18#define ALTQ LALT_T(KC_Q)
37#define CTRLDOT CTL_T(KC_DOT) 19#define ALTV RALT_T(KC_V)
38#define ALTC ALT_T(KC_C) 20#define GUICOMM RGUI_T(KC_COMM)
39#define ALTCOMM ALT_T(KC_COMM) 21#define GUIJ LGUI_T(KC_J)
40//#define GUIBSPC GUI_T(KC_BSPC) 22#define GUIC LGUI_T(KC_C)
23#define GUIW RGUI_T(KC_W)
41 24
25// clang-format off
42const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 27
44/* Dvorak 28/* Dvorak
@@ -48,19 +32,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 * |------+------+------+------+------| |------+------+------+------+------| 32 * |------+------+------+------+------| |------+------+------+------+------|
49 * | A | O | E | U | I | | D | H | T | N | S | 33 * | A | O | E | U | I | | D | H | T | N | S |
50 * |------+------+------+------+------| |------+------+------+------+------| 34 * |------+------+------+------+------| |------+------+------+------+------|
51 * |SFT/ ;|CTL/ Q|ALT/ J| K | X | | B | M |ALT/ W|CTL/ V|SFT/ Z| 35 * |CTL/ ;|ALT/ Q|GUI/ J| K | X | | B | M |GUI/ W|ALT/ V|CTL/ Z|
52 * `----------------------------------' `----------------------------------' 36 * `----------------------------------' `----------------------------------'
53 * ,--------------------. ,------,-------------. 37 * ,--------------------. ,------,-------------.
54 * | LOWER| Gui | | | | Ent |RAISE | 38 * | LOWER| BSPC | | | | Spc |RAISE |
55 * `-------------| BSpc | | Spc |------+------. 39 * `-------------| SHFT | | Ent |------+------.
56 * | | | | 40 * | | | |
57 * `------' `------' 41 * `------' `------'
58 */ 42 */
59[_DVORAK] = LAYOUT ( \ 43[_DVORAK] = LAYOUT ( \
60 KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \ 44 KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, \
61 KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, \ 45 KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, \
62 SFTSCLN, CTRLQ, ALTJ, KC_K, KC_X, KC_B, KC_M, ALTW, CTRLV, SFTZED, \ 46 CTLSCLN, ALTQ, GUIJ, KC_K, KC_X, KC_B, KC_M, GUIW, ALTV, RCTLZED, \
63 LOWER, KC_LGUI, KC_BSPC, KC_SPC, KC_ENT, RAISE \ 47 LOWER, KC_BSPC, KC_LSFT, KC_ENT, KC_SPC, RAISE \
64), 48),
65 49
66/* Qwerty 50/* Qwerty
@@ -70,19 +54,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
70 * |------+------+------+------+------| |------+------+------+------+------| 54 * |------+------+------+------+------| |------+------+------+------+------|
71 * | A | S | D | F | G | | H | J | K | L | ; | 55 * | A | S | D | F | G | | H | J | K | L | ; |
72 * |------+------+------+------+------| |------+------+------+------+------| 56 * |------+------+------+------+------| |------+------+------+------+------|
73 * |SFT/ Z|CTL/ X|ALT/ C| V | B | | N | M |ALT/ ,|CTL/ .|SFT/ /| 57 * |CTL/ Z|ALT/ X|GUI/ C| V | B | | N | M |GUI/ ,|ALT/ .|CTL/ /|
74 * `----------------------------------' `----------------------------------' 58 * `----------------------------------' `----------------------------------'
75 * ,--------------------. ,------,-------------. 59 * ,--------------------. ,------,-------------.
76 * | LOWER| Gui | | | | Ent |RAISE | 60 * | LOWER| BSPC | | | | Spc |RAISE |
77 * `-------------| BSpc | | Spc |------+------. 61 * `-------------| SHFT | | Ent |------+------.
78 * | | | | 62 * | | | |
79 * `------' `------' 63 * `------' `------'
80 */ 64 */
81[_QWERTY] = LAYOUT ( \ 65[_QWERTY] = LAYOUT ( \
82 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \ 66 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
83 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \ 67 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \
84 SFTZED, CTRLX, ALTC, KC_V, KC_B, KC_N, KC_M, ALTCOMM, CTRLDOT, SFTSLSH, \ 68 LCTLZED, ALTX, GUIC, KC_V, KC_B, KC_N, KC_M, GUICOMM, ALTDOT, CTLSLSH, \
85 LOWER, KC_LGUI, KC_BSPC, KC_SPC, KC_ENT, RAISE \ 69 LOWER, KC_BSPC, KC_LSFT, KC_ENT, KC_SPC, RAISE \
86), 70),
87 71
88/* Colemak 72/* Colemak
@@ -92,19 +76,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
92 * |------+------+------+------+------| |------+------+------+------+------| 76 * |------+------+------+------+------| |------+------+------+------+------|
93 * | A | R | S | T | D | | H | N | E | I | S | 77 * | A | R | S | T | D | | H | N | E | I | S |
94 * |------+------+------+------+------| |------+------+------+------+------| 78 * |------+------+------+------+------| |------+------+------+------+------|
95 * |SFT/ Z|CTL/ X|ALT/ C| V | B | | K | M |ALT/ ,|CTL/ .|SFT/ /| 79 * |CTL/ Z|ALT/ X|GUI/ C| V | B | | K | M |GUI/ ,|ALT/ .|CTL/ /|
96 * `----------------------------------' `----------------------------------' 80 * `----------------------------------' `----------------------------------'
97 * ,--------------------. ,------,-------------. 81 * ,--------------------. ,------,-------------.
98 * | LOWER| Gui | | | | Ent |RAISE | 82 * | LOWER| BSPC | | | | Spc |RAISE |
99 * `-------------| BSpc | | Spc |------+------. 83 * `-------------| SHFT | | Ent |------+------.
100 * | | | | 84 * | | | |
101 * `------' `------' 85 * `------' `------'
102 */ 86 */
103[_COLEMAK] = LAYOUT ( \ 87[_COLEMAK] = LAYOUT ( \
104 KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, \ 88 KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, \
105 KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, \ 89 KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, \
106 SFTZED, CTRLX, ALTC, KC_V, KC_B, KC_K, KC_M, ALTCOMM, CTRLDOT, SFTSLSH, \ 90 LCTLZED, ALTX, GUIC, KC_V, KC_B, KC_K, KC_M, GUICOMM, ALTDOT, CTLSLSH, \
107 LOWER, KC_LGUI, KC_BSPC, KC_SPC, KC_ENT, RAISE \ 91 LOWER, KC_BSPC, KC_LSFT, KC_ENT, KC_SPC, RAISE \
108), 92),
109 93
110/* Lower 94/* Lower
@@ -168,65 +152,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
168 */ 152 */
169[_ADJUST] = LAYOUT ( \ 153[_ADJUST] = LAYOUT ( \
170 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F9, KC_F10, \ 154 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_UP, KC_F9, KC_F10, \
171 KC_F11, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12, \ 155 KC_F11, RESET, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12, \
172 _______, QWERTY, COLEMAK, DVORAK, _______, RESET, _______, _______, _______, _______, \ 156 _______, QWERTY, COLEMAK, DVORAK, _______, RESET, _______, _______, _______, _______, \
173 _______, _______, _______, _______, _______, _______ \ 157 _______, _______, _______, _______, _______, _______ \
174) 158 )
175}; 159};
160// clang-format on
176 161
177void persistent_default_layer_set(uint16_t default_layer) { 162#ifdef AUDIO_ENABLE
178 eeconfig_update_default_layer(default_layer); 163float tone_qwerty[][2] = SONG(QWERTY_SOUND);
179 default_layer_set(default_layer); 164float tone_dvorak[][2] = SONG(DVORAK_SOUND);
180}; 165float tone_colemak[][2] = SONG(COLEMAK_SOUND);
166#endif
181 167
182void matrix_init_user(void) { 168void matrix_init_user(void) {
183 // This will disable the red LEDs on the ProMicros 169#ifdef BOOTLOADER_CATERINA
184 DDRD &= ~(1<<5); 170 // This will disable the red LEDs on the ProMicros
185 PORTD &= ~(1<<5); 171 setPinInput(D5);
186 DDRB &= ~(1<<0); 172 writePinLow(D5);
187 PORTB &= ~(1<<0); 173 setPinInput(B0);
174 writePinLow(B0);
175#endif
188}; 176};
189 177
178layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
179
190bool process_record_user(uint16_t keycode, keyrecord_t *record) { 180bool process_record_user(uint16_t keycode, keyrecord_t *record) {
191 switch (keycode) { 181 if (record->event.pressed) {
192 case QWERTY: 182 switch (keycode) {
193 if (record->event.pressed) { 183 case QWERTY:
194 persistent_default_layer_set(1UL<<_QWERTY); 184 set_single_persistent_default_layer(_QWERTY);
195 } 185 return false;
196 return false; 186 case COLEMAK:
197 break; 187 set_single_persistent_default_layer(_COLEMAK);
198 case COLEMAK: 188 return false;
199 if (record->event.pressed) { 189 case DVORAK:
200 persistent_default_layer_set(1UL<<_COLEMAK); 190 set_single_persistent_default_layer(_DVORAK);
201 } 191 return false;
202 return false; 192 }
203 break; 193 }
204 case DVORAK:
205 if (record->event.pressed) {
206 persistent_default_layer_set(1UL<<_DVORAK);
207 }
208 return false;
209 break;
210 case LOWER:
211 if (record->event.pressed) {
212 layer_on(_LOWER);
213 update_tri_layer(_LOWER, _RAISE, _ADJUST);
214 } else {
215 layer_off(_LOWER);
216 update_tri_layer(_LOWER, _RAISE, _ADJUST);
217 }
218 return false;
219 break;
220 case RAISE:
221 if (record->event.pressed) {
222 layer_on(_RAISE);
223 update_tri_layer(_LOWER, _RAISE, _ADJUST);
224 } else {
225 layer_off(_RAISE);
226 update_tri_layer(_LOWER, _RAISE, _ADJUST);
227 }
228 return false;
229 break;
230 }
231 return true; 194 return true;
232}; 195} \ No newline at end of file
diff --git a/keyboards/orthodox/keymaps/xyverz/config.h b/keyboards/orthodox/keymaps/xyverz/config.h
index fc6d5d23b..a44d2b5ae 100644
--- a/keyboards/orthodox/keymaps/xyverz/config.h
+++ b/keyboards/orthodox/keymaps/xyverz/config.h
@@ -19,10 +19,7 @@ You should have received a copy of the GNU General Public License
19along with this program. If not, see <http://www.gnu.org/licenses/>. 19along with this program. If not, see <http://www.gnu.org/licenses/>.
20*/ 20*/
21 21
22#ifndef CONFIG_USER_H 22#pragma once
23#define CONFIG_USER_H
24
25#include "../../config.h"
26 23
27/* Use I2C or Serial, not both */ 24/* Use I2C or Serial, not both */
28 25
@@ -33,6 +30,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
33 30
34#define MASTER_LEFT 31#define MASTER_LEFT
35// #define _MASTER_RIGHT 32// #define _MASTER_RIGHT
36// #define EE_HANDS 33// #define EE_HANDS \ No newline at end of file
37
38#endif
diff --git a/keyboards/orthodox/keymaps/xyverz/keymap.c b/keyboards/orthodox/keymaps/xyverz/keymap.c
index df66e0fc5..cc3c38943 100644
--- a/keyboards/orthodox/keymaps/xyverz/keymap.c
+++ b/keyboards/orthodox/keymaps/xyverz/keymap.c
@@ -1,50 +1,16 @@
1/* 1#include QMK_KEYBOARD_H
2This is the keymap for the keyboard
3 2
4Copyright 2012 Jun Wako <wakojun@gmail.com> 3enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
5Copyright 2015 Jack Humbert
6Copyright 2017 Art Ortenburger
7 4
8This program is free software: you can redistribute it and/or modify 5enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, ADJUST };
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 2 of the License, or
11(at your option) any later version.
12 6
13This program is distributed in the hope that it will be useful, 7// Aliases to keep the keymap tidy
14but WITHOUT ANY WARRANTY; without even the implied warranty of 8#define ADJUST MO(_ADJUST)
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9#define LOWER MO(_LOWER)
16GNU General Public License for more details. 10#define RAISE MO(_RAISE)
17 11
18You should have received a copy of the GNU General Public License
19along with this program. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22#include QMK_KEYBOARD_H
23#include "action_layer.h"
24#include "eeconfig.h"
25
26extern keymap_config_t keymap_config;
27
28// Each layer gets a name for readability, which is then used in the keymap matrix below.
29// The underscores don't mean anything - you can have a layer called STUFF or any other name.
30// Layer names don't all need to be of the same length, obviously, and you can also skip them
31// entirely and just use numbers.
32#define _DVORAK 0
33#define _QWERTY 1
34#define _COLEMAK 2
35#define _LOWER 3
36#define _RAISE 4
37#define _ADJUST 16
38
39enum custom_keycodes {
40 DVORAK = SAFE_RANGE,
41 QWERTY,
42 COLEMAK,
43 LOWER,
44 RAISE,
45 ADJUST,
46};
47 12
13// clang-format off
48const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49 15
50[_DVORAK] = LAYOUT ( \ 16[_DVORAK] = LAYOUT ( \
@@ -85,69 +51,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
85 51
86 52
87}; 53};
54// clang-format on
55
56#ifdef AUDIO_ENABLE
57float tone_qwerty[][2] = SONG(QWERTY_SOUND);
58float tone_dvorak[][2] = SONG(DVORAK_SOUND);
59float tone_colemak[][2] = SONG(COLEMAK_SOUND);
60#endif
61
62void matrix_init_user(void) {
63#ifdef BOOTLOADER_CATERINA
64 // This will disable the red LEDs on the ProMicros
65 setPinInput(D5);
66 writePinLow(D5);
67 setPinInput(B0);
68 writePinLow(B0);
69#endif
70};
88 71
89void persistent_default_layer_set(uint16_t default_layer) { 72layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
90 eeconfig_update_default_layer(default_layer);
91 default_layer_set(default_layer);
92}
93 73
94bool process_record_user(uint16_t keycode, keyrecord_t *record) { 74bool process_record_user(uint16_t keycode, keyrecord_t *record) {
95 switch (keycode) { 75 if (record->event.pressed) {
96 case QWERTY: 76 switch (keycode) {
97 if (record->event.pressed) { 77 case QWERTY:
98 #ifdef AUDIO_ENABLE 78 set_single_persistent_default_layer(_QWERTY);
99 PLAY_NOTE_ARRAY(tone_qwerty, false, 0); 79 return false;
100 #endif 80 case COLEMAK:
101 persistent_default_layer_set(1UL<<_QWERTY); 81 set_single_persistent_default_layer(_COLEMAK);
102 } 82 return false;
103 return false; 83 case DVORAK:
104 break; 84 set_single_persistent_default_layer(_DVORAK);
105 case COLEMAK: 85 return false;
106 if (record->event.pressed) { 86 }
107 #ifdef AUDIO_ENABLE 87 }
108 PLAY_NOTE_ARRAY(tone_colemak, false, 0); 88 return true;
109 #endif 89} \ No newline at end of file
110 persistent_default_layer_set(1UL<<_COLEMAK);
111 }
112 return false;
113 break;
114 case DVORAK:
115 if (record->event.pressed) {
116 #ifdef AUDIO_ENABLE
117 PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
118 #endif
119 persistent_default_layer_set(1UL<<_DVORAK);
120 }
121 return false;
122 break;
123 case LOWER:
124 if (record->event.pressed) {
125 layer_on(_LOWER);
126 update_tri_layer(_LOWER, _RAISE, _ADJUST);
127 } else {
128 layer_off(_LOWER);
129 update_tri_layer(_LOWER, _RAISE, _ADJUST);
130 }
131 return false;
132 break;
133 case RAISE:
134 if (record->event.pressed) {
135 layer_on(_RAISE);
136 update_tri_layer(_LOWER, _RAISE, _ADJUST);
137 } else {
138 layer_off(_RAISE);
139 update_tri_layer(_LOWER, _RAISE, _ADJUST);
140 }
141 return false;
142 break;
143 case ADJUST:
144 if (record->event.pressed) {
145 layer_on(_ADJUST);
146 } else {
147 layer_off(_ADJUST);
148 }
149 return false;
150 break;
151 }
152 return true;
153}
diff --git a/keyboards/keebio/fourier/keymaps/xyverz/config.h b/keyboards/rgbkb/sol/keymaps/xyverz/config.h
index 9b46a61cc..334eee608 100644
--- a/keyboards/keebio/fourier/keymaps/xyverz/config.h
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/config.h
@@ -18,16 +18,9 @@ You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>. 18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/ 19*/
20 20
21#ifndef CONFIG_USER_H 21#pragma once
22#define CONFIG_USER_H
23 22
24#include "config_common.h"
25 23
26/* Use I2C or Serial, not both */ 24// place overrides here
27 25
28#define USE_SERIAL 26/* #define SSD1306OLED */
29// #define USE_I2C
30
31#define EE_HANDS
32
33#endif
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..f5cf9ed3c
--- /dev/null
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c
@@ -0,0 +1,330 @@
1#include QMK_KEYBOARD_H
2#ifdef PROTOCOL_LUFA
3#include "lufa.h"
4#include "split_util.h"
5#endif
6#ifdef SSD1306OLED
7 #include "common/ssd1306.h"
8#endif
9
10extern keymap_config_t keymap_config;
11
12#ifdef RGBLIGHT_ENABLE
13//Following line allows macro to read current RGB settings
14extern rgblight_config_t rgblight_config;
15#endif
16
17extern uint8_t is_master;
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21// Layer names don't all need to be of the same length, obviously, and you can also skip them
22// entirely and just use numbers.
23enum layer_number {
24 _DVORAK = 0,
25 _DESTINY,
26 _QWERTY,
27 _COLEMAK,
28 _LOWER,
29 _RAISE,
30 _ADJUST
31};
32
33enum custom_keycodes {
34 DVORAK = SAFE_RANGE,
35 DESTINY,
36 QWERTY,
37 COLEMAK,
38 LOWER,
39 RAISE,
40 ADJUST,
41 BACKLIT,
42 RGBRST
43};
44
45enum macro_keycodes {
46 KC_SAMPLEMACRO,
47};
48
49const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 [_DVORAK] = LAYOUT( \
51 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
52 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_END, KC_PGDN, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, \
53 KC_RCTL, KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
54 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, XXXXXXX, XXXXXXX, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
55 KC_GRV, KC_LGUI, KC_LEFT, KC_RGHT, LOWER, KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL, \
56 KC_BSPC, KC_RGUI, KC_ENT, KC_SPC \
57
58 ),
59
60 [_DESTINY] = LAYOUT( \
61 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
62 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_END, KC_PGDN, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, \
63 KC_RCTL, KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
64 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, XXXXXXX, XXXXXXX, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
65 KC_GRV, KC_LGUI, KC_LEFT, KC_RGHT, LOWER, KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL, \
66 KC_BSPC, KC_RGUI, KC_ENT, KC_SPC \
67
68 ),
69
70 [_QWERTY] = LAYOUT( \
71 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
72 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_END, KC_PGDN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SLSH, \
73 KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
74 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
75 KC_GRV, KC_LGUI, KC_LEFT, KC_RGHT, LOWER, KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL, \
76 KC_BSPC, KC_RGUI, KC_ENT, KC_SPC \
77 ),
78
79 [_COLEMAK] = LAYOUT( \
80 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \
81 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_END, KC_PGDN, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_SLSH, \
82 KC_RCTL, KC_A, KC_R, KC_S, KC_T, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
83 KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, XXXXXXX, XXXXXXX, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
84 KC_GRV, KC_LGUI, KC_LEFT, KC_RGHT, LOWER, KC_LCTL, KC_LALT, KC_RALT, KC_RCTL, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL, \
85 KC_BSPC, KC_RGUI, KC_ENT, KC_SPC \
86 ),
87
88 [_LOWER] = LAYOUT( \
89 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
91 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, XXXXXXX, XXXXXXX, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
92 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, \
93 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
94 KC_DEL, _______, _______, KC_INS \
95 ),
96
97 [_RAISE] = LAYOUT( \
98 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, \
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
100 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, XXXXXXX, XXXXXXX, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
101 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, \
102 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
103 KC_DEL, _______, _______, KC_INS \
104 ),
105
106 /* ADJUST
107 * ,------------------------------------------------. ,------------------------------------------------.
108 * | F11 | F1 | F2 | F3 | F4 | F5 | RESET| | | F6 | F7 | F8 | F9 | F10 | F12 |
109 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
110 * | | |QWERTY|COLEMK|DVORAK|DESTNY| | | | | PrSc | ScLk | NmLk | | |
111 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
112 * | | | Mute | Vol- | Vol+ | | | | |RGBTOG|RGBMOD| HUI | SAI | VAI | |
113 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
114 * | | | Prev | Play | Next | | | | | |RGBRMD| HUD | SAD | VAD | |
115 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
116 * | | | | Home | End | | | | | | PgUp | PgDn | | | |
117 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
118 * | Del | | | | Ins |
119 * `-------------' `-------------'
120 */
121
122 [_ADJUST] = LAYOUT( \
123 _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, \
124 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_NLCK, _______, _______, \
125 KC_CAPS, _______, QWERTY, COLEMAK, DVORAK, DESTINY, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, \
126 _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, \
127 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
128 KC_DEL, _______, _______, KC_INS \
129 )
130};
131
132
133
134// define variables for reactive RGB
135bool TOG_STATUS = false;
136int RGB_current_mode;
137
138// Setting ADJ layer RGB back to default
139void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
140 if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
141 #ifdef RGBLIGHT_ENABLE
142 //rgblight_mode(RGB_current_mode);
143 #endif
144 layer_on(layer3);
145 } else {
146 layer_off(layer3);
147 }
148}
149
150layer_state_t layer_state_set_user(layer_state_t state) {
151 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
152}
153bool process_record_user(uint16_t keycode, keyrecord_t *record) {
154 switch (keycode) {
155 case DVORAK:
156 if (record->event.pressed) {
157 set_single_persistent_default_layer(_DVORAK);
158 }
159 return false;
160 case COLEMAK:
161 if (record->event.pressed) {
162 set_single_persistent_default_layer(_COLEMAK);
163 }
164 return false;
165 case QWERTY:
166 if (record->event.pressed) {
167 set_single_persistent_default_layer(_QWERTY);
168 }
169 return false;
170
171/*
172 Commenting this out since I removed the layer, but I want this in here for reference.
173
174 case FN:
175 if (record->event.pressed) {
176 //not sure how to have keyboard check mode and set it to a variable, so my work around
177 //uses another variable that would be set to true after the first time a reactive key is pressed.
178 if (TOG_STATUS) { //TOG_STATUS checks is another reactive key currently pressed, only changes RGB mode if returns false
179 } else {
180 TOG_STATUS = !TOG_STATUS;
181 #ifdef RGBLIGHT_ENABLE
182 //rgblight_mode(15);
183 #endif
184 }
185 layer_on(_FN);
186 } else {
187 #ifdef RGBLIGHT_ENABLE
188 //rgblight_mode(RGB_current_mode); // revert RGB to initial mode prior to RGB mode change
189 #endif
190 layer_off(_FN);
191 TOG_STATUS = false;
192 }
193 return false;
194 break;
195 */
196 case ADJUST:
197 if (record->event.pressed) {
198 layer_on(_ADJUST);
199 } else {
200 layer_off(_ADJUST);
201 }
202 return false;
203 break;
204 //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
205 case RGBRST:
206 #ifdef RGBLIGHT_ENABLE
207 if (record->event.pressed) {
208 eeconfig_update_rgblight_default();
209 rgblight_enable();
210 RGB_current_mode = rgblight_config.mode;
211 }
212 #endif
213 break;
214 }
215 return true;
216}
217
218void matrix_init_user(void) {
219 #ifdef RGBLIGHT_ENABLE
220 RGB_current_mode = rgblight_config.mode;
221 #endif
222 //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
223 #ifdef SSD1306OLED
224 iota_gfx_init(!has_usb()); // turns on the display
225 #endif
226}
227
228
229//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
230#ifdef SSD1306OLED
231
232// hook point for 'led_test' keymap
233// 'default' keymap's led_test_init() is empty function, do nothing
234// 'led_test' keymap's led_test_init() force rgblight_mode_noeeprom(35);
235__attribute__ ((weak))
236void led_test_init(void) {}
237
238void matrix_scan_user(void) {
239 led_test_init();
240 iota_gfx_task(); // this is what updates the display continuously
241}
242
243void matrix_update(struct CharacterMatrix *dest,
244 const struct CharacterMatrix *source) {
245 if (memcmp(dest->display, source->display, sizeof(dest->display))) {
246 memcpy(dest->display, source->display, sizeof(dest->display));
247 dest->dirty = true;
248 }
249}
250
251//assign the right code to your layers for OLED display
252#define L_BASE 0
253#define L_FN (1<<_FN)
254#define L_ADJ (1<<_ADJ)
255
256static void render_logo(struct CharacterMatrix *matrix) {
257
258 static char logo[]={
259 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
260 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
261 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,
262 0};
263 matrix_write(matrix, logo);
264 //matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
265}
266
267
268
269void render_status(struct CharacterMatrix *matrix) {
270
271 // Render to mode icon
272 static char logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
273 if(keymap_config.swap_lalt_lgui==false){
274 matrix_write(matrix, logo[0][0]);
275 matrix_write_P(matrix, PSTR("\n"));
276 matrix_write(matrix, logo[0][1]);
277 }else{
278 matrix_write(matrix, logo[1][0]);
279 matrix_write_P(matrix, PSTR("\n"));
280 matrix_write(matrix, logo[1][1]);
281 }
282
283 // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
284 char buf[40];
285 snprintf(buf,sizeof(buf), "Undef-%ld", layer_state);
286 matrix_write_P(matrix, PSTR("\nLayer: "));
287 switch (layer_state) {
288 case L_BASE:
289 matrix_write_P(matrix, PSTR("Default"));
290 break;
291 /* case L_FN:
292 matrix_write_P(matrix, PSTR("FN"));
293 break; */
294 case L_ADJ:
295 /* case L_ADJ_TRI: */
296 matrix_write_P(matrix, PSTR("ADJ"));
297 break;
298 default:
299 matrix_write(matrix, buf);
300 }
301
302 // Host Keyboard LED Status
303 char led[40];
304 snprintf(led, sizeof(led), "\n%s %s %s",
305 (IS_HOST_LED_ON(USB_LED_NUM_LOCK)) ? "NUMLOCK" : " ",
306 (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) ? "CAPS" : " ",
307 (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
308 matrix_write(matrix, led);
309}
310
311
312void iota_gfx_task_user(void) {
313 struct CharacterMatrix matrix;
314
315#if DEBUG_TO_SCREEN
316 if (debug_enable) {
317 return;
318 }
319#endif
320
321 matrix_clear(&matrix);
322 if(is_master){
323 render_status(&matrix);
324 }else{
325 render_logo(&matrix);
326 }
327 matrix_update(&display, &matrix);
328}
329
330#endif
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/readme.md b/keyboards/rgbkb/sol/keymaps/xyverz/readme.md
new file mode 100644
index 000000000..485426f8e
--- /dev/null
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/readme.md
@@ -0,0 +1,132 @@
1# Xyverz's Sol Layout
2## Layout
3
4### Base modifier layout
5```
6 * ,------------------------------------------------. ,------------------------------------------------.
7 * | ESC | | | | | | - | | = | | | | | | \ |
8 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
9 * | Tab | | | | | | [ | | ] | | | | | | / |
10 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
11 * | Del | | | | | | | | | | | | | | |
12 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
13 * |Shift | | | | | | | | | | | | | |Shift |
14 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
15 * | Adj | Alt | ` | Left | Rght | Ctrl | Alt | | Alt | Ctrl | Up | Down | / | = | Adj |
16 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
17 * | BkSp | Win | | Enter| Space|
18 * `-------------' `-------------'
19```
20
21### Qwerty alphas
22```
23 * ,------------------------------------------------. ,------------------------------------------------.
24 * | | | | | | | | | | | | | | | |
25 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
26 * | | Q | W | E | R | T | | | | Y | U | I | O | P | |
27 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
28 * | | A | S | D | F | G | | | | H | J | K | L | ; | ' |
29 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
30 * | | Z | X | C | V | B | | | | N | M | , | . | / | |
31 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
32 * | | | | | | | | | | | | | | | |
33 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
34 * | | | | | |
35 * `-------------' `-------------'
36```
37
38### Dvorak alphas
39```
40 * ,------------------------------------------------. ,------------------------------------------------.
41 * | | | | | | | | | | | | | | | |
42 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
43 * | | " | , | . | P | Y | | | | F | G | C | R | L | |
44 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
45 * | | A | O | E | U | I | | | | D | H | T | N | S | - |
46 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
47 * | | ; | Q | J | K | X | | | | B | M | W | V | Z | |
48 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
49 * | | | | | | | | | | | | | | | |
50 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
51 * | | | | | |
52 * `-------------' `--------=----'
53```
54### Colemak alphas
55```
56 * ,------------------------------------------------. ,------------------------------------------------.
57 * | | | | | | | | | | | | | | | |
58 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
59 * | | Q | W | F | P | B | | | | J | L | U | Y | ; | |
60 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
61 * | | A | R | S | T | G | | | | K | N | E | I | O | ' |
62 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
63 * | | Z | X | C | D | V | | | | M | H | , | . | / | |
64 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
65 * | | | | | | | | | | | | | | | |
66 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
67 * | | | | | |
68 * `-------------' `-------------'
69```
70
71### Adjust (ADJ)
72```
73 * ,------------------------------------------------. ,------------------------------------------------.
74 * | F11 | F1 | F2 | F3 | F4 | F5 | RESET| | | F6 | F7 | F8 | F9 | F10 | F12 |
75 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
76 * | | |QWERTY|DVORAK|COLEMK| | | | | | PrSc | ScLk | NmLk | | |
77 * |------+------+------+------+------+------|------| |------|------+------+------+------+------+------|
78 * | | | Mute | Vol- | Vol+ | | | | |RGBTOG|RGBMOD| HUI | SAI | VAI | |
79 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
80 * | | | Prev | Play | Next | | | | | |RGBRMD| HUD | SAD | VAD | |
81 * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
82 * | | | | Home | End | | | | | | PgUp | PgDn | | | |
83 * `------+------+------+------+------+------+------| |------+------+------+------+------+------+------'
84 * | Del | | | | Ins |
85 * `-------------' `-------------'
86```
87
88## Customize
89
90see `qmk_firmware/keyboards/sol/rev1/keymaps/default/rules.mk`
91
92```
93
94# Variables you can set for SOL
95
96BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
97MOUSEKEY_ENABLE = no # Mouse keys
98EXTRAKEY_ENABLE = yes # Audio control and System control
99CONSOLE_ENABLE = no # Console for debug
100COMMAND_ENABLE = ne # Commands for debug and configuration
101NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
102RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix
103LED_ANIMATIONS = yes # LED animations
104LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
105RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
106RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy
107RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port
108UNICODE_ENABLE = no # Unicode
109SWAP_HANDS_ENABLE = no # Enable one-hand typing
110ENCODER_ENABLE_CUSTOM = yes # Enable rotary encoder
111
112OLED_ENABLE = yes # OLED_ENABLE
113IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
114
115
116```
117## Compile
118
119go to qmk top directory.
120```
121$ cd qmk_firmware
122```
123
124build
125```
126$ make sol:xyverz
127```
128
129After the initial flash with AVRdudess, you should be able to flash using this:
130```
131$ make sol:xyverz:flash
132```
diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk b/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk
new file mode 100644
index 000000000..bdec5946d
--- /dev/null
+++ b/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk
@@ -0,0 +1,51 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
6MOUSEKEY_ENABLE = no # Mouse keys
7
8EXTRAKEY_ENABLE = yes # Audio control and System control
9CONSOLE_ENABLE = no # Console for debug
10COMMAND_ENABLE = no # Commands for debug and configuration
11NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12RGBLIGHT_ENABLE = yes # Enable global lighting effects. Do not enable with RGB Matrix
13RGBLIGHT_ANIMATIONS = yes # LED animations
14LED_MIRRORED = yes # Mirror LEDs across halves (enable DIP 1 on slave, and DIP 2 and 3 on master)
15RGB_MATRIX_ENABLE = no # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
16RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. Can be very laggy
17RGBLIGHT_FULL_POWER = no # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port
18UNICODE_ENABLE = no # Unicode
19SWAP_HANDS_ENABLE = no # Enable one-hand typing
20ENCODER_ENABLE_CUSTOM = no # Enable rotary encoder
21AUDIO_ENABLE = no
22
23OLED_ENABLE = yes # OLED_ENABLE
24IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
25
26# Do not edit past here
27
28ifeq ($(strip $(OLED_ENABLE)), yes)
29 OPT_DEFS += -DOLED_ENABLE
30endif
31
32ifeq ($(strip $(ENCODER_ENABLE_CUSTOM)), yes)
33 OPT_DEFS += -DENCODER_ENABLE_CUSTOM
34 SRC += common/knob_v2.c
35
36endif
37
38ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
39 OPT_DEFS += -DIOS_DEVICE_ENABLE
40
41else ifeq ($(strip $(RGBLIGHT_FULL_POWER)), yes)
42 OPT_DEFS += -DRGBLIGHT_FULL_POWER
43endif
44
45ifeq ($(strip $(RGB_MATRIX_KEYPRESSES)), yes)
46 OPT_DEFS += -DRGB_MATRIX_KEYPRESSES
47endif
48
49ifeq ($(strip $(LED_MIRRORED)), yes)
50 OPT_DEFS += -DLED_MIRRORED
51endif \ No newline at end of file
diff --git a/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c
index 059b7eb46..f5649573d 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/xyverz/keymap.c
@@ -1,24 +1,8 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3extern keymap_config_t keymap_config; 3enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
4 4
5enum planck_layers { 5enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, ADJUST };
6 _QWERTY,
7 _COLEMAK,
8 _DVORAK,
9 _LOWER,
10 _RAISE,
11 _ADJUST
12};
13
14enum planck_keycodes {
15 DVORAK = SAFE_RANGE,
16 QWERTY,
17 COLEMAK,
18 LOWER,
19 RAISE,
20 ADJUST
21};
22 6
23// Aliases for some other things I want to try out 7// Aliases for some other things I want to try out
24#define RAI_ESC LT(_RAISE, KC_ESC) 8#define RAI_ESC LT(_RAISE, KC_ESC)
@@ -26,6 +10,7 @@ enum planck_keycodes {
26#define LOW_MIN LT(_LOWER, KC_MINS) // Same as above, but for Dvorak layer 10#define LOW_MIN LT(_LOWER, KC_MINS) // Same as above, but for Dvorak layer
27#define GUIBSPC GUI_T(KC_BSPC) 11#define GUIBSPC GUI_T(KC_BSPC)
28 12
13// clang-format off
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 [_DVORAK] = LAYOUT( /* 0: Dvorak */ 15 [_DVORAK] = LAYOUT( /* 0: Dvorak */
31 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, 16 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
@@ -69,52 +54,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
69 KC_HOME, KC_END, _______, _______, _______, _______, KC_PGUP, KC_PGDN 54 KC_HOME, KC_END, _______, _______, _______, _______, KC_PGUP, KC_PGDN
70 ) 55 )
71}; 56};
57// clang-format on
72 58
73void persistent_default_layer_set(uint16_t default_layer) { 59layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
74 eeconfig_update_default_layer(default_layer);
75 default_layer_set(default_layer);
76}
77 60
78bool process_record_user(uint16_t keycode, keyrecord_t *record) { 61bool process_record_user(uint16_t keycode, keyrecord_t *record) {
79 switch (keycode) { 62 if (record->event.pressed) {
80 case QWERTY: 63 switch (keycode) {
81 if (record->event.pressed) { 64 case QWERTY:
82 persistent_default_layer_set(1UL<<_QWERTY); 65 set_single_persistent_default_layer(_QWERTY);
83 } 66 return false;
84 return false; 67 case COLEMAK:
85 break; 68 set_single_persistent_default_layer(_COLEMAK);
86 case COLEMAK: 69 return false;
87 if (record->event.pressed) { 70 case DVORAK:
88 persistent_default_layer_set(1UL<<_COLEMAK); 71 set_single_persistent_default_layer(_DVORAK);
89 } 72 return false;
90 return false; 73 }
91 break; 74 }
92 case DVORAK: 75 return true;
93 if (record->event.pressed) { 76} \ No newline at end of file
94 persistent_default_layer_set(1UL<<_DVORAK);
95 }
96 return false;
97 break;
98 case LOWER:
99 if (record->event.pressed) {
100 layer_on(_LOWER);
101 update_tri_layer(_LOWER, _RAISE, _ADJUST);
102 } else {
103 layer_off(_LOWER);
104 update_tri_layer(_LOWER, _RAISE, _ADJUST);
105 }
106 return false;
107 break;
108 case RAISE:
109 if (record->event.pressed) {
110 layer_on(_RAISE);
111 update_tri_layer(_LOWER, _RAISE, _ADJUST);
112 } else {
113 layer_off(_RAISE);
114 update_tri_layer(_LOWER, _RAISE, _ADJUST);
115 }
116 return false;
117 break;
118 }
119 return true;
120}
diff --git a/keyboards/gh60/revc/keymaps/xyverz/keymap.c b/layouts/community/60_ansi/xyverz/keymap.c
index e47fcc2f9..61176ef2b 100644
--- a/keyboards/gh60/revc/keymaps/xyverz/keymap.c
+++ b/layouts/community/60_ansi/xyverz/keymap.c
@@ -1,23 +1,15 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3enum layer_names {
4 _QW,
5 _DV,
6 _CM,
7 _FL,
8};
3 9
4extern keymap_config_t keymap_config; 10enum planck_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK };
5
6
7// Each layer gets a name for readability, which is then used in the keymap matrix below.
8// The underscores don't mean anything - you can have a layer called STUFF or any other name.
9// Layer names don't all need to be of the same length, obviously, and you can also skip them
10// entirely and just use numbers.
11#define _QW 0
12#define _DV 1
13#define _CM 2
14#define _FL 3
15
16// Macro name shortcuts
17#define QWERTY M(_QW)
18#define DVORAK M(_DV)
19#define COLEMAK M(_CM)
20 11
12// clang-format off
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22 14
23 /* 15 /*
@@ -113,30 +105,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
113 ), 105 ),
114 106
115}; 107};
108// clang-format on
116 109
117void persistent_default_layer_set(uint16_t default_layer) { 110bool process_record_user(uint16_t keycode, keyrecord_t *record) {
118 eeconfig_update_default_layer(default_layer); 111 if (record->event.pressed) {
119 default_layer_set(default_layer); 112 switch (keycode) {
120} 113 case DVORAK:
121 114 set_single_persistent_default_layer(_DV);
122const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 115 return false;
123{ 116 case QWERTY:
124 switch(id) { 117 set_single_persistent_default_layer(_QW);
125 case _DV: 118 return false;
126 if (record->event.pressed) { 119 case COLEMAK:
127 persistent_default_layer_set(1UL<<_DV); 120 set_single_persistent_default_layer(_CM);
128 } 121 return false;
129 break; 122 }
130 case _QW: 123 }
131 if (record->event.pressed) { 124 return true;
132 persistent_default_layer_set(1UL<<_QW); 125} \ No newline at end of file
133 }
134 break;
135 case _CM:
136 if (record->event.pressed) {
137 persistent_default_layer_set(1UL<<_CM);
138 }
139 break;
140 }
141 return MACRO_NONE;
142};
diff --git a/layouts/community/66_ansi/xyverz/config.h b/layouts/community/66_ansi/xyverz/config.h
new file mode 100644
index 000000000..06e5830af
--- /dev/null
+++ b/layouts/community/66_ansi/xyverz/config.h
@@ -0,0 +1,5 @@
1#pragma once
2
3#define TAPPING_TERM 600 // ms
4#undef RGBLIGHT_HUE_STEP
5#define RGBLIGHT_HUE_STEP 8
diff --git a/keyboards/clueboard/66/keymaps/xyverz/keymap.c b/layouts/community/66_ansi/xyverz/keymap.c
index 3341ced91..521379bde 100644
--- a/keyboards/clueboard/66/keymaps/xyverz/keymap.c
+++ b/layouts/community/66_ansi/xyverz/keymap.c
@@ -2,20 +2,14 @@
2// It's based on the default keymap, but Dvorak! 2// It's based on the default keymap, but Dvorak!
3 3
4#include QMK_KEYBOARD_H 4#include QMK_KEYBOARD_H
5#include "action_layer.h"
6#include "eeconfig.h"
7 5
8extern keymap_config_t keymap_config; 6enum layer_names {
9 7 _QWERTY,
10// Each layer gets a name for readability, which is then used in the keymap matrix below. 8 _DVORAK,
11// The underscores don't mean anything - you can have a layer called STUFF or any other name. 9 _COLEMAK,
12// Layer names don't all need to be of the same length, obviously, and you can also skip them 10 _FL,
13// entirely and just use numbers. 11 _CL
14#define _QWERTY 0 12};
15#define _COLEMAK 1
16#define _DVORAK 2
17#define _FL 3
18#define _CL 4
19 13
20enum planck_keycodes { 14enum planck_keycodes {
21 QWERTY = SAFE_RANGE, 15 QWERTY = SAFE_RANGE,
@@ -27,6 +21,7 @@ enum planck_keycodes {
27#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) 21#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
28#define FN_CAPS LT(_FL, KC_CAPS) // Tap for Caps Lock, Hold for Function Layer 22#define FN_CAPS LT(_FL, KC_CAPS) // Tap for Caps Lock, Hold for Function Layer
29 23
24// clang-format off
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31 /* Keymap _QWERTY: Base Layer (Default Layer) 26 /* Keymap _QWERTY: Base Layer (Default Layer)
32 * ,-----------------------------------------------------------. ,---. 27 * ,-----------------------------------------------------------. ,---.
@@ -107,33 +102,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
107 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, \ 102 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, \
108 _______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), 103 _______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
109}; 104};
110 105// clang-format on
111
112void persistent_default_layer_set(uint16_t default_layer) {
113 eeconfig_update_default_layer(default_layer);
114 default_layer_set(default_layer);
115}
116 106
117bool process_record_user(uint16_t keycode, keyrecord_t *record) { 107bool process_record_user(uint16_t keycode, keyrecord_t *record) {
118 switch (keycode) { 108 if (record->event.pressed) {
119 case QWERTY: 109 switch (keycode) {
120 if (record->event.pressed) { 110 case QWERTY:
121 persistent_default_layer_set(1UL<<_QWERTY); 111 set_single_persistent_default_layer(_QWERTY);
122 } 112 return false;
123 return false; 113 case DVORAK:
124 break; 114 set_single_persistent_default_layer(_DVORAK);
125 case COLEMAK: 115 return false;
126 if (record->event.pressed) { 116 case COLEMAK:
127 persistent_default_layer_set(1UL<<_COLEMAK); 117 set_single_persistent_default_layer(_COLEMAK);
128 } 118 return false;
129 return false; 119 }
130 break; 120 }
131 case DVORAK: 121 return true;
132 if (record->event.pressed) {
133 persistent_default_layer_set(1UL<<_DVORAK);
134 }
135 return false;
136 break;
137 }
138 return true;
139} 122}
diff --git a/layouts/community/66_ansi/xyverz/rules.mk b/layouts/community/66_ansi/xyverz/rules.mk
new file mode 100644
index 000000000..164232f33
--- /dev/null
+++ b/layouts/community/66_ansi/xyverz/rules.mk
@@ -0,0 +1 @@
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. \ No newline at end of file
diff --git a/layouts/community/ortho_4x12/xyverz/keymap.c b/layouts/community/ortho_4x12/xyverz/keymap.c
index 681dafacd..a21c143f0 100644
--- a/layouts/community/ortho_4x12/xyverz/keymap.c
+++ b/layouts/community/ortho_4x12/xyverz/keymap.c
@@ -1,34 +1,15 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "action_layer.h"
3#include "eeconfig.h"
4 2
5extern keymap_config_t keymap_config; 3enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
6 4
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 5enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, ADJUST };
8// The underscores don't mean anything - you can have a layer called STUFF or any other name.
9// Layer names don't all need to be of the same length, obviously, and you can also skip them
10// entirely and just use numbers.
11#define _QWERTY 0
12#define _COLEMAK 1
13#define _DVORAK 2
14#define _LOWER 3
15#define _RAISE 4
16#define _ADJUST 16
17
18enum custom_keycodes {
19 QWERTY = SAFE_RANGE,
20 COLEMAK,
21 DVORAK,
22 LOWER,
23 RAISE,
24 ADJUST
25};
26 6
27// Aliases to keep the keymap tidy 7// Aliases to keep the keymap tidy
28#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped. 8#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped.
29#define RGB_SWR RGB_M_SW // Swirl Animation alias 9#define RGB_SWR RGB_M_SW // Swirl Animation alias
30#define RGB_SNK RGB_M_SN // Snake Animation alias 10#define RGB_SNK RGB_M_SN // Snake Animation alias
31 11
12// clang-format off
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 14
34/* Qwerty 15/* Qwerty
@@ -47,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ 28 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
48 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,\ 29 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,\
49 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \ 30 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
50), 31 ),
51 32
52/* Colemak 33/* Colemak
53 * ,-----------------------------------------------------------------------------------. 34 * ,-----------------------------------------------------------------------------------.
@@ -65,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ 46 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
66 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ 47 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
67 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \ 48 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
68), 49 ),
69 50
70/* Dvorak 51/* Dvorak
71 * ,-----------------------------------------------------------------------------------. 52 * ,-----------------------------------------------------------------------------------.
@@ -83,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
83 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \ 64 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
84 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \ 65 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
85 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \ 66 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
86), 67 ),
87 68
88/* Lower 69/* Lower
89 * ,-----------------------------------------------------------------------------------. 70 * ,-----------------------------------------------------------------------------------.
@@ -101,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
101 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ 82 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
102 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, \ 83 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, \
103 BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \ 84 BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
104), 85 ),
105 86
106/* Raise 87/* Raise
107 * ,-----------------------------------------------------------------------------------. 88 * ,-----------------------------------------------------------------------------------.
@@ -119,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
119 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \ 100 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
120 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, \ 101 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, \
121 BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \ 102 BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
122), 103 ),
123 104
124/* Adjust (Lower + Raise) 105/* Adjust (Lower + Raise)
125 * ,-----------------------------------------------------------------------------------. 106 * ,-----------------------------------------------------------------------------------.
@@ -137,77 +118,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
137 _______, RESET, RGB_M_P, RGB_M_B, RGB_M_R, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ 118 _______, RESET, RGB_M_P, RGB_M_B, RGB_M_R, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
138 RGB_TOG, RGB_MOD, RGB_SWR, RGB_M_K, RGB_M_G, RGB_HUI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, \ 119 RGB_TOG, RGB_MOD, RGB_SWR, RGB_M_K, RGB_M_G, RGB_HUI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, \
139 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 120 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
140) 121 )
141
142
143}; 122};
123// clang-format on
144 124
145void persistent_default_layer_set(uint16_t default_layer) { 125#ifdef AUDIO_ENABLE
146 eeconfig_update_default_layer(default_layer); 126float tone_qwerty[][2] = SONG(QWERTY_SOUND);
147 default_layer_set(default_layer); 127float tone_dvorak[][2] = SONG(DVORAK_SOUND);
148} 128float tone_colemak[][2] = SONG(COLEMAK_SOUND);
129#endif
149 130
150void matrix_init_user(void) { 131void matrix_init_user(void) {
151#ifdef BOOTLOADER_CATERINA 132#ifdef BOOTLOADER_CATERINA
152 // This will disable the red LEDs on the ProMicros 133 // This will disable the red LEDs on the ProMicros
153 DDRD &= ~(1<<5); 134 setPinInput(D5);
154 PORTD &= ~(1<<5); 135 writePinLow(D5);
155 DDRB &= ~(1<<0); 136 setPinInput(B0);
156 PORTB &= ~(1<<0); 137 writePinLow(B0);
157#endif 138#endif
158}; 139};
159 140
141layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
142
160bool process_record_user(uint16_t keycode, keyrecord_t *record) { 143bool process_record_user(uint16_t keycode, keyrecord_t *record) {
161 switch (keycode) { 144 if (record->event.pressed) {
162 case QWERTY: 145 switch (keycode) {
163 if (record->event.pressed) { 146 case QWERTY:
164 persistent_default_layer_set(1UL<<_QWERTY); 147 set_single_persistent_default_layer(_QWERTY);
165 } 148 return false;
166 return false; 149 case COLEMAK:
167 break; 150 set_single_persistent_default_layer(_COLEMAK);
168 case COLEMAK: 151 return false;
169 if (record->event.pressed) { 152 case DVORAK:
170 persistent_default_layer_set(1UL<<_COLEMAK); 153 set_single_persistent_default_layer(_DVORAK);
171 } 154 return false;
172 return false; 155 }
173 break; 156 }
174 case DVORAK: 157 return true;
175 if (record->event.pressed) { 158} \ No newline at end of file
176 persistent_default_layer_set(1UL<<_DVORAK);
177 }
178 return false;
179 break;
180 case LOWER:
181 if (record->event.pressed) {
182 layer_on(_LOWER);
183 update_tri_layer(_LOWER, _RAISE, _ADJUST);
184 } else {
185 layer_off(_LOWER);
186 update_tri_layer(_LOWER, _RAISE, _ADJUST);
187 }
188 return false;
189 break;
190 case RAISE:
191 if (record->event.pressed) {
192 layer_on(_RAISE);
193 update_tri_layer(_LOWER, _RAISE, _ADJUST);
194 } else {
195 layer_off(_RAISE);
196 update_tri_layer(_LOWER, _RAISE, _ADJUST);
197 }
198 return false;
199 break;
200/* case BACKLIT:
201 if (record->event.pressed) {
202 register_code(KC_RSFT);
203 #ifdef BACKLIGHT_ENABLE
204 backlight_step();
205 #endif
206 } else {
207 unregister_code(KC_RSFT);
208 }
209 return false;
210 break; */
211 }
212 return true;
213}
diff --git a/layouts/community/ortho_4x12/xyverz/readme.md b/layouts/community/ortho_4x12/xyverz/readme.md
index 1ec10a0da..d6614d956 100644
--- a/layouts/community/ortho_4x12/xyverz/readme.md
+++ b/layouts/community/ortho_4x12/xyverz/readme.md
@@ -8,6 +8,7 @@ This revision includes this documentation and introduction of the individual RGB
8 8
9## Still to do: 9## Still to do:
10 10
11 * Update layout files to match current standards.
11 * Enjoy this revision; figure out new things later. 12 * Enjoy this revision; figure out new things later.
12 13
13### Qwerty layer 14### Qwerty layer
diff --git a/layouts/community/ortho_5x12/xyverz/keymap.c b/layouts/community/ortho_5x12/xyverz/keymap.c
index bbf1d7bb0..2cca237bb 100644
--- a/layouts/community/ortho_5x12/xyverz/keymap.c
+++ b/layouts/community/ortho_5x12/xyverz/keymap.c
@@ -1,34 +1,15 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2#include "action_layer.h"
3#include "eeconfig.h"
4 2
5extern keymap_config_t keymap_config; 3enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
6 4
7// Each layer gets a name for readability, which is then used in the keymap matrix below. 5enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, ADJUST };
8// The underscores don't mean anything - you can have a layer called STUFF or any other name.
9// Layer names don't all need to be of the same length, obviously, and you can also skip them
10// entirely and just use numbers.
11#define _QWERTY 0
12#define _COLEMAK 1
13#define _DVORAK 2
14#define _LOWER 3
15#define _RAISE 4
16#define _ADJUST 16
17
18enum custom_keycodes {
19 QWERTY = SAFE_RANGE,
20 COLEMAK,
21 DVORAK,
22 LOWER,
23 RAISE,
24 ADJUST,
25};
26 6
27// Aliases to keep the keymap tidy 7// Aliases to keep the keymap tidy
28#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped. 8#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped.
29#define RGB_SWR RGB_M_SW // Swirl Animation alias 9#define RGB_SWR RGB_M_SW // Swirl Animation alias
30#define RGB_SNK RGB_M_SN // Snake Animation alias 10#define RGB_SNK RGB_M_SN // Snake Animation alias
31 11
12// clang-format off
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 14
34/* Qwerty 15/* Qwerty
@@ -50,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ 31 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
51 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ 32 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
52 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \ 33 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
53), 34 ),
54 35
55/* Colemak 36/* Colemak
56 * ,-----------------------------------------------------------------------------------. 37 * ,-----------------------------------------------------------------------------------.
@@ -71,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
71 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ 52 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
72 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ 53 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
73 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \ 54 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
74), 55 ),
75 56
76/* Dvorak 57/* Dvorak
77 * ,-----------------------------------------------------------------------------------. 58 * ,-----------------------------------------------------------------------------------.
@@ -92,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
92 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \ 73 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
93 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \ 74 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
94 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \ 75 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUIBSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
95), 76 ),
96 77
97/* Lower 78/* Lower
98 * ,-----------------------------------------------------------------------------------. 79 * ,-----------------------------------------------------------------------------------.
@@ -113,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
113 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______, \ 94 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______, \
114 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, \ 95 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
115 BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \ 96 BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
116), 97 ),
117 98
118/* Raise 99/* Raise
119 * ,-----------------------------------------------------------------------------------. 100 * ,-----------------------------------------------------------------------------------.
@@ -134,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_EQL, KC_LBRC, KC_RBRC, _______, \ 115 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_EQL, KC_LBRC, KC_RBRC, _______, \
135 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, \ 116 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
136 BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \ 117 BL_STEP, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
137), 118 ),
138 119
139/* Adjust (Lower + Raise) 120/* Adjust (Lower + Raise)
140 * ,-----------------------------------------------------------------------------------. 121 * ,-----------------------------------------------------------------------------------.
@@ -155,92 +136,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
155 _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ 136 _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
156 RGB_TOG, RGB_MOD, RGB_SWR, RGB_M_K, RGB_M_G, RGB_HUI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, \ 137 RGB_TOG, RGB_MOD, RGB_SWR, RGB_M_K, RGB_M_G, RGB_HUI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, \
157 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 138 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
158) 139 )
159
160
161}; 140};
162 141
142// clang-format on
143
163#ifdef AUDIO_ENABLE 144#ifdef AUDIO_ENABLE
164float tone_qwerty[][2] = SONG(QWERTY_SOUND); 145float tone_qwerty[][2] = SONG(QWERTY_SOUND);
165float tone_dvorak[][2] = SONG(DVORAK_SOUND); 146float tone_dvorak[][2] = SONG(DVORAK_SOUND);
166float tone_colemak[][2] = SONG(COLEMAK_SOUND); 147float tone_colemak[][2] = SONG(COLEMAK_SOUND);
167#endif 148#endif
168 149
169void persistent_default_layer_set(uint16_t default_layer) {
170 eeconfig_update_default_layer(default_layer);
171 default_layer_set(default_layer);
172}
173
174void matrix_init_user(void) { 150void matrix_init_user(void) {
175#ifdef BOOTLOADER_CATERINA 151#ifdef BOOTLOADER_CATERINA
176 // This will disable the red LEDs on the ProMicros 152 // This will disable the red LEDs on the ProMicros
177 DDRD &= ~(1<<5); 153 setPinInput(D5);
178 PORTD &= ~(1<<5); 154 writePinLow(D5);
179 DDRB &= ~(1<<0); 155 setPinInput(B0);
180 PORTB &= ~(1<<0); 156 writePinLow(B0);
181#endif 157#endif
182}; 158};
183 159
160layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
161
184bool process_record_user(uint16_t keycode, keyrecord_t *record) { 162bool process_record_user(uint16_t keycode, keyrecord_t *record) {
185 switch (keycode) { 163 if (record->event.pressed) {
186 case QWERTY: 164 switch (keycode) {
187 if (record->event.pressed) { 165 case QWERTY:
188 #ifdef AUDIO_ENABLE 166 set_single_persistent_default_layer(_QWERTY);
189 PLAY_NOTE_ARRAY(tone_qwerty, false, 0); 167 return false;
190 #endif 168 case COLEMAK:
191 persistent_default_layer_set(1UL<<_QWERTY); 169 set_single_persistent_default_layer(_COLEMAK);
192 } 170 return false;
193 return false; 171 case DVORAK:
194 break; 172 set_single_persistent_default_layer(_DVORAK);
195 case COLEMAK: 173 return false;
196 if (record->event.pressed) { 174 }
197 #ifdef AUDIO_ENABLE 175 }
198 PLAY_NOTE_ARRAY(tone_colemak, false, 0); 176 return true;
199 #endif 177} \ No newline at end of file
200 persistent_default_layer_set(1UL<<_COLEMAK);
201 }
202 return false;
203 break;
204 case DVORAK:
205 if (record->event.pressed) {
206 #ifdef AUDIO_ENABLE
207 PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
208 #endif
209 persistent_default_layer_set(1UL<<_DVORAK);
210 }
211 return false;
212 break;
213 case LOWER:
214 if (record->event.pressed) {
215 layer_on(_LOWER);
216 update_tri_layer(_LOWER, _RAISE, _ADJUST);
217 } else {
218 layer_off(_LOWER);
219 update_tri_layer(_LOWER, _RAISE, _ADJUST);
220 }
221 return false;
222 break;
223 case RAISE:
224 if (record->event.pressed) {
225 layer_on(_RAISE);
226 update_tri_layer(_LOWER, _RAISE, _ADJUST);
227 } else {
228 layer_off(_RAISE);
229 update_tri_layer(_LOWER, _RAISE, _ADJUST);
230 }
231 return false;
232 break;
233/* case BACKLIT:
234 if (record->event.pressed) {
235 register_code(KC_RSFT);
236 #ifdef BACKLIGHT_ENABLE
237 backlight_step();
238 #endif
239 } else {
240 unregister_code(KC_RSFT);
241 }
242 return false;
243 break; */
244 }
245 return true;
246}
diff --git a/keyboards/phantom/keymaps/xyverz/keymap.c b/layouts/community/tkl_ansi/xyverz/keymap.c
index 07a743c16..1f79f87d1 100644
--- a/keyboards/phantom/keymaps/xyverz/keymap.c
+++ b/layouts/community/tkl_ansi/xyverz/keymap.c
@@ -1,25 +1,15 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3extern keymap_config_t keymap_config; 3enum layer_names {
4 4 _QW,
5 5 _DV,
6// Used for SHIFT_ESC 6 _CM,
7#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) 7 _FL,
8 8};
9// Each layer gets a name for readability, which is then used in the keymap matrix below.
10// The underscores don't mean anything - you can have a layer called STUFF or any other name.
11// Layer names don't all need to be of the same length, obviously, and you can also skip them
12// entirely and just use numbers.
13#define _QW 0
14#define _DV 1
15#define _CM 2
16#define _FL 3
17 9
18// Macro name shortcuts 10enum planck_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK };
19#define QWERTY M(_QW)
20#define DVORAK M(_DV)
21#define COLEMAK M(_CM)
22 11
12// clang-format off
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 14
25 [_QW] = LAYOUT_tkl_ansi( /* Layer 0: Qwerty */ \ 15 [_QW] = LAYOUT_tkl_ansi( /* Layer 0: Qwerty */ \
@@ -59,34 +49,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
59 ), 49 ),
60 50
61}; 51};
52// clang-format on
62 53
63enum function_id { 54bool process_record_user(uint16_t keycode, keyrecord_t *record) {
64 SHIFT_ESC, 55 if (record->event.pressed) {
65}; 56 switch (keycode) {
66 57 case DVORAK:
67void persistent_default_layer_set(uint16_t default_layer) { 58 set_single_persistent_default_layer(_DV);
68 eeconfig_update_default_layer(default_layer); 59 return false;
69 default_layer_set(default_layer); 60 case QWERTY:
70} 61 set_single_persistent_default_layer(_QW);
71 62 return false;
72const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 63 case COLEMAK:
73{ 64 set_single_persistent_default_layer(_CM);
74 switch(id) { 65 return false;
75 case _DV: 66 }
76 if (record->event.pressed) { 67 }
77 persistent_default_layer_set(1UL<<_DV); 68 return true;
78 } 69} \ No newline at end of file
79 break;
80 case _QW:
81 if (record->event.pressed) {
82 persistent_default_layer_set(1UL<<_QW);
83 }
84 break;
85 case _CM:
86 if (record->event.pressed) {
87 persistent_default_layer_set(1UL<<_CM);
88 }
89 break;
90 }
91 return MACRO_NONE;
92};
diff --git a/layouts/community/tkl_ansi/xyverz/readme.md b/layouts/community/tkl_ansi/xyverz/readme.md
new file mode 100644
index 000000000..b67b1385d
--- /dev/null
+++ b/layouts/community/tkl_ansi/xyverz/readme.md
@@ -0,0 +1 @@
2019-10-16 Updated to bring keymap up to current.