aboutsummaryrefslogtreecommitdiff
path: root/layouts
diff options
context:
space:
mode:
authorXyverz <xyverz@gmail.com>2019-10-28 16:09:01 -0700
committernoroadsleft <18669334+noroadsleft@users.noreply.github.com>2019-10-28 16:09:01 -0700
commitf19c8b2d5daedcbf833fe8320f290cad9d9f0b83 (patch)
tree3b0f08d1893b1525f234fd2d0f554f1dbf412316 /layouts
parent8ab7f1f39e715c824cc0e1391aa9a469b2a18438 (diff)
downloadqmk_firmware-f19c8b2d5daedcbf833fe8320f290cad9d9f0b83.tar.gz
qmk_firmware-f19c8b2d5daedcbf833fe8320f290cad9d9f0b83.zip
[Keymap] Updating keymaps (#7170)
* Added WOW layer * Initial commit for this branch. Still a work in progress. * Added Rorschach keyboard layout. * Simplified keymap Removed the media layer to help simplify things. Also corrected some keymap mistakes in the Qwerty and Colemak layers. * Added ErgoTravel keymap. * reverted to previous layout. * Added Sol keyboard layout. * Minor changes to keymap. * more changes * Added sol graphic by Kagerufu and Cardiactuna * Added colemak layer because I can. * more changes to sol layout * Streamlined Sol layout * minor tweaks to sol layout * further revisions to sol keymap. * Removing deprecated #include statements from my keymaps * Standardizing keymap `include` lines. * Minor change to keymap. Swapped ESC with GRV on all alpha layers. * Tweaks to Atreus62 Keymap Added a layer for FPS RPG Loot Shooters. * Fixed readme.md for Atreus keymap. Replaced "Keymap" with "Layer" in illustrations for continuity's sake * More readme.md clean-up More clarification in the Atreus readme file. * Next verse, same as the first. * Changes to Sol layout Bringing my Sol layout more in line with my other Orthos. * Fixed keymap GUI. Replaced left-hand "RGUI" with "LGUI" on all layers as it should be. * Added ALPS64 keymap * Formatting corrections * fixes to config.h and keymap.c * Fixed errors This commit fixes a pathing issue in keyboards/orthodox/keymaps/xyverz/config.h and removes an stupid comma at the end of each LAYOUT stanza in keyboards/rgbkb/sol/keymaps/xyverz/keymap.c left there by me. * Fixed orthodox keymap config.h file I hope this one fixes the problem. *sigh* * Making suggested changes for PR#6192 Thanks to noroadsleft, fauxpark, and drashna. Still have more work to do, but at least these suggestions have been applied. * Fixing build errors Travis has shown me the error of my ways... * More fixes and corrections Those pesky semicolons... * More Fixes. * Removing unneeded code snippet. * fixed omitted semicolons * Code updates to my keymaps Updating the code for my Iris, Atreus62, and Atreus keymaps. * Fixed Atreus62 Keymap I forgot to add in the aliases for LOWER, RAISE, and ADJUST. * Added userspace Also made changes to Atreus62 Keymap to turn the red LEDs off on the ProMicro * Fixing code that disables LEDs on ProMicros Also tidied up my ErgoTravel keymap. * Moving userspace to new branch Moving my userspace to a new branch for the sake of keeping things clean on the master branch. * Added F13-F15 to Atreus62 Layout. * Update readme.md. * Updated Phantom keymap to current keymap standards * Phantom keymap updates Further updates - tidying and removing cruft. Thank you zvecr on Discord for the help! * Standards Updates Bringing my Kinesis keymap up to current code standards * Adding a readme * Bring GH60 code to standard * Utilizing layouts for 60_ansi and tkl_ansi Moving my GH60 and Phantom keymaps into layouts/community/ * Alps64 layout removal Removing my Alps64 keymap now that I've setup my 60_ansi layout. * Moved Clueboard layout to community/66_ansi. * Additions to 66_ansi config.h * Bringing keymaps up to standard. * More updates to keymaps. * Syntax updates * Revert "Syntax updates" This reverts commit a892b2d9fcc0d4ba8fc22d676d5414120cc2c183. * Moved WIP keymaps Moved my WIP keymaps to my wip_keymaps branch to keep my master clean * Updates requested by noroadsleft * more changes per noroadsleft More fixes as requested by noroadsleft. Further tidy-up and standardization of my keymap code.
Diffstat (limited to 'layouts')
-rw-r--r--layouts/community/60_ansi/xyverz/keymap.c125
-rw-r--r--layouts/community/66_ansi/xyverz/config.h5
-rw-r--r--layouts/community/66_ansi/xyverz/keymap.c122
-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.c69
-rw-r--r--layouts/community/tkl_ansi/xyverz/readme.md1
9 files changed, 400 insertions, 200 deletions
diff --git a/layouts/community/60_ansi/xyverz/keymap.c b/layouts/community/60_ansi/xyverz/keymap.c
new file mode 100644
index 000000000..61176ef2b
--- /dev/null
+++ b/layouts/community/60_ansi/xyverz/keymap.c
@@ -0,0 +1,125 @@
1#include QMK_KEYBOARD_H
2
3enum layer_names {
4 _QW,
5 _DV,
6 _CM,
7 _FL,
8};
9
10enum planck_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK };
11
12// clang-format off
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14
15 /*
16 * _QW: Qwerty Layer
17 * ,-----------------------------------------------------------.
18 * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp|
19 * |-----------------------------------------------------------|
20 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
21 * |-----------------------------------------------------------|
22 * |Fn | A| S| D| F| G| H| J| K| L| ;| '| Return|
23 * |-----------------------------------------------------------|
24 * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift|
25 * |-----------------------------------------------------------|
26 * |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
27 * `-----------------------------------------------------------'
28 */
29 /* Layer 0: Qwerty */
30 [_QW] = LAYOUT_60_ansi(
31 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
32 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
33 MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT ,
34 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
35 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)
36 ),
37
38 /*
39 * _DV: Dvorak Layer
40 * ,-----------------------------------------------------------.
41 * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| Backsp|
42 * |-----------------------------------------------------------|
43 * |Tab | '| ,| .| P| Y| F| G| C| R| L| /| =| \|
44 * |-----------------------------------------------------------|
45 * |Fn | A| O| E| U| I| D| H| T| N| S| -| Return|
46 * |-----------------------------------------------------------|
47 * |Shift | ;| Q| J| K| X| B| M| W| V| Z| Shift|
48 * |-----------------------------------------------------------|
49 * |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
50 * `-----------------------------------------------------------'
51 */
52 /* Layer 1: Dvorak */
53 [_DV] = LAYOUT_60_ansi(
54 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC,
55 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS,
56 MO(_FL), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,
57 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
58 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)
59 ),
60
61 /*
62 * _CM: Colemak Layer
63 * ,-----------------------------------------------------------.
64 * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp|
65 * |-----------------------------------------------------------|
66 * |Tab | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \|
67 * |-----------------------------------------------------------|
68 * |Fn | A| R| S| T| D| H| N| E| I| O| '| Return|
69 * |-----------------------------------------------------------|
70 * |Shift | Z| X| C| V| B| K| M| ,| .| /| Shift|
71 * |-----------------------------------------------------------|
72 * |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
73 * `-----------------------------------------------------------'
74 */
75 /* Layer 2: Colemak */
76 [_CM] = LAYOUT_60_ansi(
77 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
78 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS,
79 MO(_FL), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT,
80 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
81 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)
82 ),
83
84 /*
85 * _FL: Function Layer
86 * ,-----------------------------------------------------------.
87 * | |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del|
88 * |-----------------------------------------------------------|
89 * | | | | | | | |PgU| Up|PgD|PSc|SLk|Pau| |
90 * |-----------------------------------------------------------|
91 * | | |MPr|MPl|MNx| |Hom| Lt| Dn| Rt| | | |
92 * |-----------------------------------------------------------|
93 * |CAPS | |Mut|VlD|VlU| |End| | | | | |
94 * |-----------------------------------------------------------|
95 * |_QW |_DV |_CM | | | | | |
96 * `-----------------------------------------------------------'
97 */
98 /* Layer 3: Functions */
99 [_FL] = LAYOUT_60_ansi(
100 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL ,
101 _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______,
102 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
103 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_END, _______, _______, _______, _______, _______,
104 QWERTY, DVORAK, COLEMAK, _______, _______, _______, _______, _______
105 ),
106
107};
108// clang-format on
109
110bool process_record_user(uint16_t keycode, keyrecord_t *record) {
111 if (record->event.pressed) {
112 switch (keycode) {
113 case DVORAK:
114 set_single_persistent_default_layer(_DV);
115 return false;
116 case QWERTY:
117 set_single_persistent_default_layer(_QW);
118 return false;
119 case COLEMAK:
120 set_single_persistent_default_layer(_CM);
121 return false;
122 }
123 }
124 return true;
125} \ No newline at end of file
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/layouts/community/66_ansi/xyverz/keymap.c b/layouts/community/66_ansi/xyverz/keymap.c
new file mode 100644
index 000000000..521379bde
--- /dev/null
+++ b/layouts/community/66_ansi/xyverz/keymap.c
@@ -0,0 +1,122 @@
1// Xyverz' keymap.
2// It's based on the default keymap, but Dvorak!
3
4#include QMK_KEYBOARD_H
5
6enum layer_names {
7 _QWERTY,
8 _DVORAK,
9 _COLEMAK,
10 _FL,
11 _CL
12};
13
14enum planck_keycodes {
15 QWERTY = SAFE_RANGE,
16 COLEMAK,
17 DVORAK
18};
19
20// Useful defines
21#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
22#define FN_CAPS LT(_FL, KC_CAPS) // Tap for Caps Lock, Hold for Function Layer
23
24// clang-format off
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 /* Keymap _QWERTY: Base Layer (Default Layer)
27 * ,-----------------------------------------------------------. ,---.
28 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS| |PgU|
29 * |-----------------------------------------------------------| |---|
30 * |HpTab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PgD|
31 * |-----------------------------------------------------------| `---'
32 * |FnCaps| A| S| D| F| G| H| J| K| L| ;| '| | Ent|
33 * |--------------------------------------------------------------.
34 * |Shift| | Z| X| C| V| B| N| M| ,| .| /|Shift| Fn| Up|
35 * |------------------------------------------------------------------.
36 * |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
37 * `------------------------------------------------------------------'
38 */
39
40[_QWERTY] = LAYOUT (
41 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC, KC_PGUP, \
42 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, \
43 FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \
44 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SLSH, KC_RSFT, KC_UP, \
45 KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, KC_SPC, KC_SPC, XXXXXXX, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
46
47 /* Keymap _COLEMAK: Base Layer
48 * ,-----------------------------------------------------------. ,---.
49 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `| |PgU|
50 * |-----------------------------------------------------------| |---|
51 * |HpTab| Q| W| F| P| G| J| L| U| Y| ;| [| ]| BS| |PgD|
52 * |-----------------------------------------------------------| `---'
53 * |FnCaps| A| R| S| T| D| H| N| E| I| O| '| | Ent|
54 * |--------------------------------------------------------------.
55 * |Shift| | Z| X| C| V| B| K| M| ,| .| /|Shift| Fn| Up|
56 * |------------------------------------------------------------------.
57 * |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
58 * `------------------------------------------------------------------'
59 */
60[_COLEMAK] = LAYOUT (
61 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC, KC_PGUP, \
62 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, \
63 FN_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT, \
64 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SLSH, KC_RSFT, KC_UP, \
65 KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, KC_SPC, KC_SPC, XXXXXXX, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
66
67 /* Keymap _DVORAK: Base Layer
68 * ,-----------------------------------------------------------. ,---.
69 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \| `| |PgU|
70 * |-----------------------------------------------------------| |---|
71 * |HpTab| '| ,| .| P| Y| F| G| C| R| L| /| =| BS| |PgD|
72 * |-----------------------------------------------------------| `---'
73 * |FnCaps| A| O| E| U| I| D| H| T| N| S| -| | Ent|
74 * |--------------------------------------------------------------.
75 * |Shift| | ;| Q| J| K| X| B| M| W| V| Z|Shift| Fn| Up|
76 * |------------------------------------------------------------------.
77 * |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
78 * `------------------------------------------------------------------'
79 */
80[_DVORAK] = LAYOUT (
81 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC, KC_PGUP, \
82 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGDN, \
83 FN_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT, \
84 KC_LSFT, XXXXXXX, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_SLSH, KC_RSFT, KC_UP, \
85 KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, KC_SPC, KC_SPC, XXXXXXX, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
86
87 /* Keymap _FL: Function Layer
88 */
89[_FL] = LAYOUT (
90 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, BL_STEP, \
91 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
92 _______, _______, MO(_CL), _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, \
93 _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_PGUP, \
94 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
95
96 /* Keymap _CL: Control layer
97 */
98[_CL] = LAYOUT (
99 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
100 _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, \
101 _______, _______, MO(_CL), _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, \
102 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, \
103 _______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
104};
105// clang-format on
106
107bool process_record_user(uint16_t keycode, keyrecord_t *record) {
108 if (record->event.pressed) {
109 switch (keycode) {
110 case QWERTY:
111 set_single_persistent_default_layer(_QWERTY);
112 return false;
113 case DVORAK:
114 set_single_persistent_default_layer(_DVORAK);
115 return false;
116 case COLEMAK:
117 set_single_persistent_default_layer(_COLEMAK);
118 return false;
119 }
120 }
121 return true;
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/layouts/community/tkl_ansi/xyverz/keymap.c b/layouts/community/tkl_ansi/xyverz/keymap.c
new file mode 100644
index 000000000..1f79f87d1
--- /dev/null
+++ b/layouts/community/tkl_ansi/xyverz/keymap.c
@@ -0,0 +1,69 @@
1#include QMK_KEYBOARD_H
2
3enum layer_names {
4 _QW,
5 _DV,
6 _CM,
7 _FL,
8};
9
10enum planck_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK };
11
12// clang-format off
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14
15 [_QW] = LAYOUT_tkl_ansi( /* Layer 0: Qwerty */ \
16 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \
17 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \
18 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \
19 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
20 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
21 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT \
22 ),
23
24 [_DV] = LAYOUT_tkl_ansi( /* Layer 1: Dvorak */ \
25 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \
26 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \
27 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \
28 KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \
29 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \
30 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT \
31 ),
32
33 [_CM] = LAYOUT_tkl_ansi( /* Layer 2: Colemak */ \
34 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \
35 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \
36 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \
37 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, \
38 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
39 KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT \
40 ),
41
42[_FL] = LAYOUT_tkl_ansi( /* Layer 3: Functions */ \
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_MPRV, KC_MPLY, KC_MNXT, \
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, \
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
47 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
48 QWERTY, DVORAK, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______ \
49 ),
50
51};
52// clang-format on
53
54bool process_record_user(uint16_t keycode, keyrecord_t *record) {
55 if (record->event.pressed) {
56 switch (keycode) {
57 case DVORAK:
58 set_single_persistent_default_layer(_DV);
59 return false;
60 case QWERTY:
61 set_single_persistent_default_layer(_QW);
62 return false;
63 case COLEMAK:
64 set_single_persistent_default_layer(_CM);
65 return false;
66 }
67 }
68 return true;
69} \ No newline at end of file
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.