aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/atreus/keymaps/xyverz/keymap.c8
-rw-r--r--keyboards/atreus62/keymaps/xyverz/keymap.c175
-rw-r--r--keyboards/clueboard/keymaps/xyverz/Makefile49
-rw-r--r--keyboards/clueboard/keymaps/xyverz/keymap.c111
-rw-r--r--keyboards/ergodox/keymaps/xyverz/keymap.c14
-rw-r--r--keyboards/ergodox/keymaps/xyverz/readme.md8
-rw-r--r--keyboards/gh60/keymaps/xyverz/keymap.c149
-rw-r--r--keyboards/kinesis/keymaps/xyverz/Makefile21
-rw-r--r--keyboards/kinesis/keymaps/xyverz/config.h8
-rw-r--r--keyboards/kinesis/keymaps/xyverz/keymap.c302
-rw-r--r--keyboards/kinesis/keymaps/xyverz/readme.md128
-rw-r--r--keyboards/lets_split/keymaps/xyverz/config.h37
-rw-r--r--keyboards/lets_split/keymaps/xyverz/keymap.c191
-rw-r--r--keyboards/planck/keymaps/xyverz/Makefile6
-rw-r--r--keyboards/planck/keymaps/xyverz/keymap.c24
-rw-r--r--keyboards/preonic/keymaps/xyverz/Makefile (renamed from keyboards/planck/keymaps/xyverz/makefile.mk)12
-rw-r--r--keyboards/preonic/keymaps/xyverz/config.h21
-rw-r--r--keyboards/preonic/keymaps/xyverz/keymap.c244
-rw-r--r--keyboards/preonic/keymaps/xyverz/makefile.mk1
-rw-r--r--keyboards/tv44/keymaps/xyverz/keymap.c26
-rw-r--r--readme.md2
21 files changed, 1335 insertions, 202 deletions
diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c
index b418cc9b5..66fdebb50 100644
--- a/keyboards/atreus/keymaps/xyverz/keymap.c
+++ b/keyboards/atreus/keymaps/xyverz/keymap.c
@@ -35,23 +35,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35 {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P }, 35 {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P },
36 {KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, 36 {KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN},
37 {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) }, 37 {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) },
38 {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT} 38 {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_EQL}
39 }, 39 },
40 [_CM] = { /* Colemak */ 40 [_CM] = { /* Colemak */
41 {KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, 41 {KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN},
42 {KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O }, 42 {KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O },
43 {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_K, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) }, 43 {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_K, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) },
44 {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT} 44 {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_EQL}
45 }, 45 },
46 [_L1] = { /* LAYER 1 */ 46 [_L1] = { /* LAYER 1 */
47 {KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 }, 47 {KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 },
48 {KC_TAB, KC_INS, KC_UP, KC_DEL, KC_HOME, KC_NO, KC_PGUP, KC_MUTE, KC_VOLD, KC_VOLU, KC_EQL }, 48 {KC_TAB, KC_INS, KC_UP, KC_DEL, KC_HOME, KC_NO, KC_PGUP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS},
49 {KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_LCTL, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, KC_BSLS}, 49 {KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_LCTL, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, KC_BSLS},
50 {KC_TRNS, KC_GRV, KC_LGUI, KC_TRNS, KC_DEL, KC_LALT, KC_SPC, KC_TRNS, KC_LBRC, KC_RBRC, KC_ENT } 50 {KC_TRNS, KC_GRV, KC_LGUI, KC_TRNS, KC_DEL, KC_LALT, KC_SPC, KC_TRNS, KC_LBRC, KC_RBRC, KC_ENT }
51 }, 51 },
52 [_L2] = { /* LAYER 2 */ 52 [_L2] = { /* LAYER 2 */
53 {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, 53 {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN},
54 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_PLUS}, 54 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_PIPE},
55 {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12 }, 55 {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12 },
56 {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET} 56 {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET}
57 } 57 }
diff --git a/keyboards/atreus62/keymaps/xyverz/keymap.c b/keyboards/atreus62/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..7b7c69f57
--- /dev/null
+++ b/keyboards/atreus62/keymaps/xyverz/keymap.c
@@ -0,0 +1,175 @@
1/* This is the Atreus62 keyboard layout by Xyverz aka u/Zrevyx on r/mk
2 I've blatantly stolen what works for me from the Planck and Preonic
3 layouts and modified this file to fit me. Initial credet goes to
4 u/profet23 for the doing all the work and adding this keyboard to
5 QMK in the first place.
6
7 I've got Dvorak, Qwerty, and Colemak layouts at this time, with the
8 possibility of adding more in the future.
9
10 The bottom row is fairly Kinesis-ish since the Contour and Advantage
11 keyboards have been my daily drivers for the last 17 years. I hope
12 You can get some enjoyment out of this layout should you chose it!
13
14CHANGELOG:
15
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
18 persistent layers enabled. Renamed layers to reflect OLKB maps.
19 Added a TODO list.
20
21TODO:
22
23 * Make the layout more efficient, even if it means changing the RAISE
24 and LOWER functionality.
25 * Add legends in comments for each layer. Maybe.
26 * Add a gaming layer.
27
28*/
29
30// this is the style you want to emulate.
31// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
32#include "atreus62.h"
33#include "action_layer.h"
34#include "eeconfig.h"
35
36// Each layer gets a name for readability, which is then used in the keymap matrix below.
37// The underscores don't mean anything - you can have a layer called STUFF or any other name.
38// Layer names don't all need to be of the same length, obviously, and you can also skip them
39// entirely and just use numbers.
40#define _DVORAK 0
41#define _QWERTY 1
42#define _COLEMAK 2
43#define _WOW 3
44#define _LOWER 4
45#define _RAISE 5
46#define _ADJUST 16
47
48enum atreus52_keycodes {
49 DVORAK = SAFE_RANGE,
50 QWERTY,
51 COLEMAK,
52 WOW,
53 LOWER,
54 RAISE
55};
56
57// Fillers to make layering more clear
58#define _______ KC_TRNS
59#define XXXXXXX KC_NO
60
61const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
62 [_DVORAK] = { /* dvorak */
63 { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS },
64 { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, _______, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH },
65 { KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, _______, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS },
66 { KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LGUI, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT },
67 { KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL }
68 },
69
70 [_QWERTY] = { /* qwerty */
71 { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS },
72 { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL },
73 { KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, _______, 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, KC_LGUI, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT },
75 { KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL }
76 },
77
78 [_COLEMAK] = { /* colemak */
79 { 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_F, KC_P, KC_G, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL },
81 { KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT },
82 { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT },
83 { KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL}
84 },
85
86 [_WOW] = { /* Dvorak with minor modifications for playing World of Warcraft */
87 { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS },
88 { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, _______, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH },
89 { KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, _______, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS },
90 { KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LALT, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT },
91 { KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, CTL_T(KC_ENT), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
92 },
93
94 [_LOWER] = {
95 { KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 },
96 { KC_TILD, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE },
97 { _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______ },
98 { _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______ },
99 { _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ }
100 },
101 [_RAISE] = {
102 { KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 },
103 { KC_TILD, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS },
104 { _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_EQL, KC_LBRC, KC_RBRC, _______ },
105 { _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______ },
106 { _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ }
107 },
108 [_ADJUST] = {
109 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
110 { _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
111 { _______, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, WOW },
112 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
113 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
114 },
115
116};
117
118const uint16_t PROGMEM fn_actions[] = {
119
120};
121
122void persistant_default_layer_set(uint16_t default_layer) {
123 eeconfig_update_default_layer(default_layer);
124 default_layer_set(default_layer);
125}
126
127bool process_record_user(uint16_t keycode, keyrecord_t *record) {
128 switch (keycode) {
129 case QWERTY:
130 if (record->event.pressed) {
131 persistant_default_layer_set(1UL<<_QWERTY);
132 }
133 return false;
134 break;
135 case COLEMAK:
136 if (record->event.pressed) {
137 persistant_default_layer_set(1UL<<_COLEMAK);
138 }
139 return false;
140 break;
141 case DVORAK:
142 if (record->event.pressed) {
143 persistant_default_layer_set(1UL<<_DVORAK);
144 }
145 return false;
146 break;
147 case WOW:
148 if (record->event.pressed) {
149 persistant_default_layer_set(1UL<<_WOW);
150 }
151 return false;
152 break;
153 case LOWER:
154 if (record->event.pressed) {
155 layer_on(_LOWER);
156 update_tri_layer(_LOWER, _RAISE, _ADJUST);
157 } else {
158 layer_off(_LOWER);
159 update_tri_layer(_LOWER, _RAISE, _ADJUST);
160 }
161 return false;
162 break;
163 case RAISE:
164 if (record->event.pressed) {
165 layer_on(_RAISE);
166 update_tri_layer(_LOWER, _RAISE, _ADJUST);
167 } else {
168 layer_off(_RAISE);
169 update_tri_layer(_LOWER, _RAISE, _ADJUST);
170 }
171 return false;
172 break;
173 }
174 return true;
175};
diff --git a/keyboards/clueboard/keymaps/xyverz/Makefile b/keyboards/clueboard/keymaps/xyverz/Makefile
new file mode 100644
index 000000000..950dadf84
--- /dev/null
+++ b/keyboards/clueboard/keymaps/xyverz/Makefile
@@ -0,0 +1,49 @@
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. Do not enable this with audio at the same time.
46
47ifndef QUANTUM_DIR
48 include ../../../../Makefile
49endif \ No newline at end of file
diff --git a/keyboards/clueboard/keymaps/xyverz/keymap.c b/keyboards/clueboard/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..453911973
--- /dev/null
+++ b/keyboards/clueboard/keymaps/xyverz/keymap.c
@@ -0,0 +1,111 @@
1// Xyverz' keymap.
2// It's based on the default keymap, but Dvorak!
3
4#include "clueboard.h"
5
6// Used for SHIFT_ESC
7#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
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 _BL 0
14#define _FL 1
15#define _RS 2
16
17const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
18 /* Keymap _BL: (Base Layer) Default Layer
19 * ,--------------------------------------------------------------------------. ,----.
20 * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \| BS| |PGUP|
21 * |--------------------------------------------------------------------------| |----|
22 * | Tab| '| ,| .| P| Y| F| G| C| R| L| /| =| \| |PGDN|
23 * |--------------------------------------------------------------------------| `----'
24 * |_FL/Caps| A| O| E| U| I| H| D| H| T| N| S| - | Ent|
25 * |-----------------------------------------------------------------------------.
26 * |Shift| BS| ;| Q| J| K| X| B| M| W| V| Z| BS|Shift| UP|
27 * |------------------------------------------------------------------------|----|----.
28 * | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT|
29 * `----------------------------------------------------------------------------------'
30 */
31[_BL] = KEYMAP(
32 F(0), 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, \
33 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, \
34 LT(_FL, 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_NUHS, KC_ENT, \
35 KC_LSFT, KC_RO, 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, \
36 KC_LCTL, KC_LALT, KC_LGUI, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
37
38 /* Keymap _FL: Function Layer
39 * ,--------------------------------------------------------------------------. ,----.
40 * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN|
41 * |--------------------------------------------------------------------------| |----|
42 * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE|
43 * |--------------------------------------------------------------------------| `----'
44 * | | | _RS| | | | | | | | | | | |
45 * |-----------------------------------------------------------------------------.
46 * | | | | | | | | | | | | | | |PGUP|
47 * |------------------------------------------------------------------------|----|----.
48 * | | | | | | | | | | _FL|HOME|PGDN| END|
49 * `----------------------------------------------------------------------------------'
50 */
51[_FL] = KEYMAP(
52 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_TRNS, KC_DEL, BL_STEP, \
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
54 KC_TRNS, KC_TRNS, MO(_RS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_HOME, KC_PGDN, KC_END),
57
58 /* Keymap _RS: Reset layer
59 * ,--------------------------------------------------------------------------. ,----.
60 * | | | | | | | | | | | | | | | RGB| |VAL+|
61 * |--------------------------------------------------------------------------| |----|
62 * | | | | |RESET| | | | | | | | | | |VAL-|
63 * |--------------------------------------------------------------------------| `----'
64 * | | | _RS| | | | | | | | | | | |
65 * |-----------------------------------------------------------------------------.
66 * | | | | | | | | | | | | | | |SAT+|
67 * |------------------------------------------------------------------------|----|----.
68 * | | | | | | | | | | _FL|HUE-|SAT-|HUE+|
69 * `----------------------------------------------------------------------------------'
70 */
71[_RS] = KEYMAP(
72 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, \
73 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, \
74 KC_TRNS, KC_TRNS, MO(_RS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
75 MO(_FL), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), RGB_SAI, \
76 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI),
77};
78
79enum function_id {
80 SHIFT_ESC,
81};
82
83const uint16_t PROGMEM fn_actions[] = {
84 [0] = ACTION_FUNCTION(SHIFT_ESC),
85};
86
87void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
88 static uint8_t shift_esc_shift_mask;
89 switch (id) {
90 case SHIFT_ESC:
91 shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
92 if (record->event.pressed) {
93 if (shift_esc_shift_mask) {
94 add_key(KC_GRV);
95 send_keyboard_report();
96 } else {
97 add_key(KC_ESC);
98 send_keyboard_report();
99 }
100 } else {
101 if (shift_esc_shift_mask) {
102 del_key(KC_GRV);
103 send_keyboard_report();
104 } else {
105 del_key(KC_ESC);
106 send_keyboard_report();
107 }
108 }
109 break;
110 }
111}
diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c
index 08ee5aeda..ec909ec53 100644
--- a/keyboards/ergodox/keymaps/xyverz/keymap.c
+++ b/keyboards/ergodox/keymaps/xyverz/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 40
41/* Layer 0 : Dvorak 41/* Layer 0 : Dvorak
42 * ,--------------------------------------------------. ,--------------------------------------------------. 42 * ,--------------------------------------------------. ,--------------------------------------------------.
43 * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | 43 * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | / |
44 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 44 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
45 * | Tab | ' | , | . | P | Y | | | | F | G | C | R | L | \ | 45 * | Tab | ' | , | . | P | Y | | | | F | G | C | R | L | \ |
46 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 46 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| 48 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------|
49 * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift | 49 * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift |
50 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 50 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
51 * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | 51 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI |
52 * `----------------------------------' `----------------------------------' 52 * `----------------------------------' `----------------------------------'
53 * ,-------------. ,-------------. 53 * ,-------------. ,-------------.
54 * | LCTL | LALT | | RALT | RCTL | 54 * | LCTL | LALT | | RALT | RCTL |
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
61 */ 61 */
62[_DV] = KEYMAP( 62[_DV] = KEYMAP(
63 // left hand 63 // left hand
64 KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, 64 KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
65 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, 65 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX,
66 KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, 66 KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I,
67 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(_MD), 67 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(_MD),
@@ -70,11 +70,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
70 KC_HOME, 70 KC_HOME,
71 KC_BSPC, KC_DEL, KC_END, 71 KC_BSPC, KC_DEL, KC_END,
72 // right hand 72 // right hand
73 KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, 73 KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
74 XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, 74 XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS,
75 KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, 75 KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
76 MO(_KP), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, 76 MO(_KP), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
77 KC_UP, KC_DOWN, KC_SLSH, KC_EQL, KC_RGUI, 77 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_RGUI,
78 KC_RALT, KC_RCTL, 78 KC_RALT, KC_RCTL,
79 KC_PGUP, 79 KC_PGUP,
80 KC_PGDN, KC_ENT, KC_SPC 80 KC_PGDN, KC_ENT, KC_SPC
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
91 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| 91 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------|
92 * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | 92 * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
93 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 93 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
94 * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | 94 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI |
95 * `----------------------------------' `----------------------------------' 95 * `----------------------------------' `----------------------------------'
96 * ,-------------. ,-------------. 96 * ,-------------. ,-------------.
97 * | LCTL | LALT | | RALT | RCTL | 97 * | LCTL | LALT | | RALT | RCTL |
@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
133 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| 133 * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------|
134 * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | 134 * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift |
135 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 135 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
136 * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | 136 * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI |
137 * `----------------------------------' `----------------------------------' 137 * `----------------------------------' `----------------------------------'
138 * ,-------------. ,-------------. 138 * ,-------------. ,-------------.
139 * | LCTL | LALT | | RALT | RCTL | 139 * | LCTL | LALT | | RALT | RCTL |
diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md
index 6ecdabc9e..134fb50af 100644
--- a/keyboards/ergodox/keymaps/xyverz/readme.md
+++ b/keyboards/ergodox/keymaps/xyverz/readme.md
@@ -2,7 +2,7 @@
2 2
3## About this keymap: 3## About this keymap:
4 4
5The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner keys. I've decided to continue using this layout with my ErgoDox. 5The Dvorak layout shown here stems from my early Kinesis years, using the Contour PS/2 with a Dvorak software layout. ~~Because of this, the RBRC and LBRC were on opposite sides of the board in the corner keys. I've decided to continue using this layout with my ErgoDox.~~ I've decided do give the normal placing of the SLSH, EQL, and xBRC keys a try, after using a different keyboard for a while...
6 6
7The QWERTY layout shown here is based entirely on the Kinesis Advantage layout, with the additional keys as shown in the diagrams. The Colemak layout is merely an adaptation of that. 7The QWERTY layout shown here is based entirely on the Kinesis Advantage layout, with the additional keys as shown in the diagrams. The Colemak layout is merely an adaptation of that.
8 8
@@ -17,15 +17,15 @@ I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar t
17### Layer 0: Dvorak layer 17### Layer 0: Dvorak layer
18 18
19 ,--------------------------------------------------.,--------------------------------------------------. 19 ,--------------------------------------------------.,--------------------------------------------------.
20 | ] | 1 | 2 | 3 | 4 | 5 | ESC || ESC | 6 | 7 | 8 | 9 | 0 | [ | 20 | = | 1 | 2 | 3 | 4 | 5 | ESC || ESC | 6 | 7 | 8 | 9 | 0 | / |
21 |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| 21 |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------|
22 | Tab | ' | , | . | Y | Y | || | F | G | C | R | L | \ | 22 | Tab | ' | , | . | P | Y | || | F | G | C | R | L | \ |
23 |--------+------+------+------+------+------| || |------+------+------+------+------+--------| 23 |--------+------+------+------+------+------| || |------+------+------+------+------+--------|
24 | CapsLk | A | O | E | U | I |------||------| D | H | T | N | S | - | 24 | CapsLk | A | O | E | U | I |------||------| D | H | T | N | S | - |
25 |--------+------+------+------+------+------| _MD || _KP |------+------+------+------+------+--------| 25 |--------+------+------+------+------+------| _MD || _KP |------+------+------+------+------+--------|
26 | LShift | Z | X | C | V | X | || | B | M | W | V | Z | RShift | 26 | LShift | Z | X | C | V | X | || | B | M | W | V | Z | RShift |
27 `--------+------+------+------+------+-------------'`-------------+------+------+------+------+--------' 27 `--------+------+------+------+------+-------------'`-------------+------+------+------+------+--------'
28 | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | 28 | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI |
29 `----------------------------------' `----------------------------------' 29 `----------------------------------' `----------------------------------'
30 ,-------------.,-------------. 30 ,-------------.,-------------.
31 | LCtr | LAlt || Ralt | RCtr | 31 | LCtr | LAlt || Ralt | RCtr |
diff --git a/keyboards/gh60/keymaps/xyverz/keymap.c b/keyboards/gh60/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..e83a7f5a3
--- /dev/null
+++ b/keyboards/gh60/keymaps/xyverz/keymap.c
@@ -0,0 +1,149 @@
1#include "gh60.h"
2#include "action_layer.h"
3#include "eeconfig.h"
4
5
6extern keymap_config_t keymap_config;
7
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
18// Macro name shortcuts
19#define QWERTY M(_QW)
20#define DVORAK M(_DV)
21#define COLEMAK M(_CM)
22
23// Fillers to make layering more clear
24#define _______ KC_TRNS
25#define XXXXXXX KC_NO
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28
29 /*
30 * _QW: Qwerty Layer
31 * ,-----------------------------------------------------------.
32 * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp|
33 * |-----------------------------------------------------------|
34 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
35 * |-----------------------------------------------------------|
36 * |Fn | A| S| D| F| G| H| J| K| L| ;| '| Return|
37 * |-----------------------------------------------------------|
38 * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift|
39 * |-----------------------------------------------------------|
40 * |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
41 * `-----------------------------------------------------------'
42 */
43[_QW] = { /* Layer 0: Qwerty */
44 {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},
45 {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},
46 {MO(_FL), 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 },
47 {KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT},
48 {KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)}
49 },
50
51 /*
52 * _DV: Dvorak Layer
53 * ,-----------------------------------------------------------.
54 * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| Backsp|
55 * |-----------------------------------------------------------|
56 * |Tab | '| ,| .| P| Y| F| G| C| R| L| /| =| \|
57 * |-----------------------------------------------------------|
58 * |Fn | A| O| E| U| I| D| H| T| N| S| -| Return|
59 * |-----------------------------------------------------------|
60 * |Shift | ;| Q| J| K| X| B| M| W| V| Z| Shift|
61 * |-----------------------------------------------------------|
62 * |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
63 * `-----------------------------------------------------------'
64 */
65[_DV] = { /* Layer 1: Dvorak */
66 {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},
67 {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},
68 {MO(_FL), 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 },
69 {KC_LSFT, XXXXXXX, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, XXXXXXX, KC_RSFT},
70 {KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)}
71 },
72
73 /*
74 * _CM: Colemak Layer
75 * ,-----------------------------------------------------------.
76 * |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp|
77 * |-----------------------------------------------------------|
78 * |Tab | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \|
79 * |-----------------------------------------------------------|
80 * |Fn | A| R| S| T| D| H| N| E| I| O| '| Return|
81 * |-----------------------------------------------------------|
82 * |Shift | Z| X| C| V| B| K| M| ,| .| /| Shift|
83 * |-----------------------------------------------------------|
84 * |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
85 * `-----------------------------------------------------------'
86 */
87[_CM] = { /* Layer 2: Colemak */
88 {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},
89 {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},
90 {MO(_FL), 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 },
91 {KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT},
92 {KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)}
93 },
94
95 /*
96 * _FL: Function Layer
97 * ,-----------------------------------------------------------.
98 * | |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del|
99 * |-----------------------------------------------------------|
100 * | | | | | | | |PgU| Up|PgD|PSc|SLk|Pau| |
101 * |-----------------------------------------------------------|
102 * | | |MPr|MPl|MNx| |Hom| Lt| Dn| Rt| | | |
103 * |-----------------------------------------------------------|
104 * |CAPS | |Mut|VlD|VlU| |End| | | | | |
105 * |-----------------------------------------------------------|
106 * |_QW |_DV |_CM | | | | | |
107 * `-----------------------------------------------------------'
108 */
109[_FL] = { /* Layer 3: Functions */
110 {_______, 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 },
111 {_______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______},
112 {_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, XXXXXXX, _______},
113 {KC_CAPS, XXXXXXX, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_END, _______, _______, _______, _______, XXXXXXX, _______},
114 {QWERTY, DVORAK, COLEMAK, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______}
115 },
116
117
118};
119
120const uint16_t PROGMEM fn_actions[] = {
121
122};
123
124void persistant_default_layer_set(uint16_t default_layer) {
125 eeconfig_update_default_layer(default_layer);
126 default_layer_set(default_layer);
127}
128
129const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
130{
131 switch(id) {
132 case _DV:
133 if (record->event.pressed) {
134 persistant_default_layer_set(1UL<<_DV);
135 }
136 break;
137 case _QW:
138 if (record->event.pressed) {
139 persistant_default_layer_set(1UL<<_QW);
140 }
141 break;
142 case _CM:
143 if (record->event.pressed) {
144 persistant_default_layer_set(1UL<<_CM);
145 }
146 break;
147 }
148 return MACRO_NONE;
149};
diff --git a/keyboards/kinesis/keymaps/xyverz/Makefile b/keyboards/kinesis/keymaps/xyverz/Makefile
new file mode 100644
index 000000000..1da780b84
--- /dev/null
+++ b/keyboards/kinesis/keymaps/xyverz/Makefile
@@ -0,0 +1,21 @@
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 = yes # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
18
19ifndef QUANTUM_DIR
20 include ../../../../Makefile
21endif
diff --git a/keyboards/kinesis/keymaps/xyverz/config.h b/keyboards/kinesis/keymaps/xyverz/config.h
new file mode 100644
index 000000000..8893d122e
--- /dev/null
+++ b/keyboards/kinesis/keymaps/xyverz/config.h
@@ -0,0 +1,8 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// place overrides here
7
8#endif
diff --git a/keyboards/kinesis/keymaps/xyverz/keymap.c b/keyboards/kinesis/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..62f47773c
--- /dev/null
+++ b/keyboards/kinesis/keymaps/xyverz/keymap.c
@@ -0,0 +1,302 @@
1#include "kinesis.h"
2#include "action_layer.h"
3#include "eeconfig.h"
4
5extern keymap_config_t keymap_config;
6
7#define _DV 0 // Dvorak layer
8#define _QW 1 // Qwerty layer
9#define _CM 2 // Colemak layer
10#define _MD 3 // Media Layer
11#define _KP 4 // Keypad Layer
12
13// Macro name shortcuts
14#define DVORAK M(_DV)
15#define QWERTY M(_QW)
16#define COLEMAK M(_CM)
17
18// Fillers to make layering more clear
19#define _______ KC_TRNS
20#define XXXXXXX KC_NO
21
22/*
23
24 Function Keys on All Layers (Keypad toggles):
25 ,-----------------------------------------------------------------.
26 | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
27 `-----------------------------------------------------------------'
28 ,-----------------------------------------------------------------.
29 | F9 | F10 | F11 | F12 | PScr | SLck | Paus | Keypad | RESET |
30 `-----------------------------------------------------------------'
31
32 Dvorak layer:
33 ,-------------------------------------------.,-------------------------------------------.
34 | ] | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | [ |
35 |--------+------+------+------+------+------||------+------+------+------+------+--------|
36 | Tab | ' | , | . | P | Y || F | G | C | R | L | \ |
37 |--------+------+------+------+------+------||------+------+------+------+------+--------|
38 | CapsLk | A | O | E | U | I || D | H | T | N | S | - |
39 |--------+------+------+------+------+------||------+------+------+------+------+--------|
40 | LShift | Z | X | C | V | X || B | M | W | V | Z | RShift |
41 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
42 | ` | INS | Left | Rght | | Up | Dn | / | = |
43 `---------------------------' `---------------------------'
44 ,--------------.,--------------.
45 | LCtl | LAlt || RGUI | RCtl |
46 ,------|-------|------||------+-------+-------.
47 | | Del | Home || PgUp | Enter | |
48 | BkSp | / |------||------| / | Space |
49 | | Media | End || PgDn | KeyPd | |
50 `---------------------'`----------------------'
51
52 QWERTY layer:
53 ,-------------------------------------------.,-------------------------------------------.
54 | = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
55 |--------+------+------+------+------+------||------+------+------+------+------+--------|
56 | Tab | Q | W | E | R | T || Y | U | I | O | P | \ |
57 |--------+------+------+------+------+------||------+------+------+------+------+--------|
58 | CapsLk | A | S | D | F | G || H | J | K | L | ; | ' |
59 |--------+------+------+------+------+------||------+------+------+------+------+--------|
60 | LShift | Z | X | C | V | B || N | M | , | . | / | RShift |
61 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
62 | ` | INS | Left | Rght | | Up | Dn | [ | ] |
63 `---------------------------' `---------------------------'
64 ,--------------.,--------------.
65 | LCtl | LAlt || RGUI | RCtl |
66 ,------|-------|------||------+-------+-------.
67 | | Del | Home || PgUp | Enter | |
68 | BkSp | / |------||------| / | Space |
69 | | Media | End || PgDn | KeyPd | |
70 `---------------------'`----------------------'
71
72 Colemak layer:
73 ,-------------------------------------------.,-------------------------------------------.
74 | = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
75 |--------+------+------+------+------+------||------+------+------+------+------+--------|
76 | Tab | Q | W | F | P | G || J | L | U | Y | ; | \ |
77 |--------+------+------+------+------+------||------+------+------+------+------+--------|
78 | BkSpc | A | R | S | T | D || H | N | E | I | O | ' |
79 |--------+------+------+------+------+------||------+------+------+------+------+--------|
80 | LShift | Z | X | C | V | B || K | M | , | . | / | RShift |
81 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
82 | ` | INS | Left | Rght | | Up | Dn | [ | ] |
83 `---------------------------' `---------------------------'
84 ,--------------.,--------------.
85 | LCtl | LAlt || RGUI | RCtl |
86 ,------|-------|------||------+-------+-------.
87 | | Del | Home || PgUp | Enter | |
88 | BkSp | / |------||------| / | Space |
89 | | Media | End || PgDn | KeyPd | |
90 `---------------------'`----------------------'
91
92 Media layer:
93 ,-------------------------------------------.,-------------------------------------------.
94 | F11 | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F12 |
95 |--------+------+------+------+------+------||------+------+------+------+------+--------|
96 | | | | | | || | | | | | |
97 |--------+------+------+------+------+------||------+------+------+------+------+--------|
98 | | | | | | || | Mute | Vol- | Vol+ | | |
99 |--------+------+------+------+------+------||------+------+------+------+------+--------|
100 | | | | | | || Stop | Prev | Play | Next | Sel | |
101 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
102 | | | | | | | | | |
103 `---------------------------' `---------------------------'
104 ,-------------.,-------------.
105 | | || | |
106 ,------|------|------||------+------+------.
107 | | | || | | |
108 | | |------||------| | |
109 | | | || | | |
110 `--------------------'`--------------------'
111
112 Keypad layer:
113 ,-------------------------------------------.,-------------------------------------------.
114 | Power | | | | | || | NmLk | KP = | KP / | KP * | |
115 |--------+------+------+------+------+------||------+------+------+------+------+--------|
116 | Sleep | | | | | || | KP 7 | KP 8 | KP 9 | KP - | |
117 |--------+------+------+------+------+------||------+------+------+------+------+--------|
118 | Wake | |QWERTY|Colemk|Dvorak| || | KP 4 | KP 5 | KP 6 | KP + | |
119 |--------+------+------+------+------+------||------+------+------+------+------+--------|
120 | | | | | | || | KP 1 | KP 2 | KP 3 |KP Ent| |
121 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
122 | | | | | | | | KP . |KP Ent| |
123 `---------------------------' `----------------------------------'
124 ,-------------.,-------------.
125 | | || | |
126 ,------|------|------||------+------+------.
127 | | | || | | |
128 | | |------||------| | KP 0 |
129 | | | || | | |
130 `--------------------'`--------------------'
131*/
132
133const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
134
135[_DV] = KEYMAP(
136 // Left Hand
137 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
138 KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5,
139 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y,
140 KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I,
141 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X,
142 KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
143 // Left Thumb
144 KC_LCTL, KC_LALT,
145 KC_HOME,
146 KC_BSPC, LT(_MD, KC_DEL), KC_END,
147
148 // Right Hand
149 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
150 KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC,
151 KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS,
152 KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
153 KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
154 KC_UP, KC_DOWN, KC_SLSH, KC_EQL,
155 // Right Thumb
156 KC_RGUI, KC_RCTL,
157 KC_PGUP,
158 KC_PGDN, LT(_KP, KC_ENT), KC_SPC
159 ),
160
161[_QW] = KEYMAP(
162 // Left Hand
163 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
164 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
165 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
166 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
167 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
168 KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
169 // Left Thumb
170 KC_LCTL, KC_LALT,
171 KC_HOME,
172 KC_BSPC, LT(_MD, KC_DEL), KC_END,
173
174 // Right Hand
175 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
176 KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
177 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL ,
178 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
179 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
180 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
181 // Right Thumb
182 KC_RGUI, KC_RCTL,
183 KC_PGUP,
184 KC_PGDN, LT(_KP, KC_ENT), KC_SPC
185 ),
186
187[_CM] = KEYMAP(
188 // Left Hand
189 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
190 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
191 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G,
192 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
193 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
194 KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
195 // Left Thumb
196 KC_LCTL, KC_LALT,
197 KC_HOME,
198 KC_BSPC, LT(_MD, KC_DEL), KC_END,
199
200 // Right Hand
201 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
202 KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
203 KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
204 KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
205 KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
206 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
207 // Right Thumb
208 KC_RGUI, KC_RCTL,
209 KC_PGUP,
210 KC_PGDN, LT(_KP, KC_ENT), KC_SPC
211 ),
212
213[_MD] = KEYMAP(
214 // Left Hand
215 _______, _______, _______, _______, _______, _______, _______, _______, _______,
216 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
217 _______, _______, _______, _______, _______, _______,
218 _______, _______, _______, _______, _______, _______,
219 _______, _______, _______, _______, _______, _______,
220 _______, _______, _______, _______,
221 // Left Thumb
222 _______, _______,
223 _______,
224 _______, _______, _______,
225
226 // Right Hand
227 _______, _______, _______, _______, _______, _______, _______, _______, _______,
228 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
229 _______, _______, _______, _______, _______, _______,
230 _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
231 KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSEL, _______,
232 _______, _______, _______, _______,
233 // Right Thumb
234 _______, _______,
235 _______,
236 _______, _______, _______
237 ),
238
239[_KP] = KEYMAP(
240 // Left Hand
241 _______, _______, _______, _______, _______, _______, _______, _______, _______,
242 KC_PWR, _______, _______, _______, _______, _______,
243 KC_SLEP, _______, _______, _______, _______, _______,
244 KC_WAKE, _______, QWERTY, COLEMAK, DVORAK, _______,
245 _______, _______, _______, _______, _______, _______,
246 _______, _______, _______, _______,
247 // Left Thumb
248 _______, _______,
249 _______,
250 _______, _______, _______,
251
252 // Right Hand */
253 _______, _______, _______, _______, _______, _______, _______, _______, _______,
254 _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______,
255 _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
256 _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
257 _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
258 _______, _______, KC_PDOT, KC_PENT,
259 // Right Thumb
260 _______, _______,
261 _______,
262 _______, _______, KC_P0
263 )
264
265};
266
267
268const uint16_t PROGMEM fn_actions[] = {
269
270};
271
272void persistant_default_layer_set(uint16_t default_layer) {
273 eeconfig_update_default_layer(default_layer);
274 default_layer_set(default_layer);
275}
276
277const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
278{
279 switch(id) {
280 case _DV:
281 if (record->event.pressed) {
282 persistant_default_layer_set(1UL<<_DV);
283 }
284 break;
285 case _QW:
286 if (record->event.pressed) {
287 persistant_default_layer_set(1UL<<_QW);
288 }
289 break;
290 case _CM:
291 if (record->event.pressed) {
292 persistant_default_layer_set(1UL<<_CM);
293 }
294 break;
295 }
296 return MACRO_NONE;
297};
298
299// Runs just one time when the keyboard initializes.
300void matrix_init_user(void) {
301
302};
diff --git a/keyboards/kinesis/keymaps/xyverz/readme.md b/keyboards/kinesis/keymaps/xyverz/readme.md
new file mode 100644
index 000000000..a10d7c2ba
--- /dev/null
+++ b/keyboards/kinesis/keymaps/xyverz/readme.md
@@ -0,0 +1,128 @@
1# Xyverz's Kinesis Keymap
2
3## About this keymap:
4
5The Dvorak layout shown here stems from my early Kinesis years, using the Contour PS/2 with a Dvorak software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner keys. I've decided to continue using this layout with my QMK Kinesis.
6
7The QWERTY layout shown here is based entirely on the Kinesis Advantage layout. The Colemak layout is merely an adaptation of that.
8
9I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
10
11## Still to do:
12
13 * Implement the CapsLock, NumLock, and ScrLck LEDs on the off-chance that I decide to actually solder some to the keyboard.
14
15### Function Keys on All Layers (keypad toggles):
16 ,-----------------------------------------------------------------.
17 | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
18 `-----------------------------------------------------------------'
19 ,-----------------------------------------------------------------.
20 | F9 | F10 | F11 | F12 | PScr | SLck | Paus | Keypad | Reset |
21 `-----------------------------------------------------------------'
22
23### Layer 0: Dvorak layer
24
25 ,-------------------------------------------.,-------------------------------------------.
26 | ] | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | [ |
27 |--------+------+------+------+------+------||------+------+------+------+------+--------|
28 | Tab | ' | , | . | P | Y || F | G | C | R | L | \ |
29 |--------+------+------+------+------+------||------+------+------+------+------+--------|
30 | CapsLk | A | O | E | U | I || D | H | T | N | S | - |
31 |--------+------+------+------+------+------||------+------+------+------+------+--------|
32 | LShift | Z | X | C | V | X || B | M | W | V | Z | RShift |
33 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
34 | ` | Ins | Left | Rght | | Up | Dn | / | = |
35 `---------------------------' `---------------------------'
36 ,--------------.,--------------.
37 | LCtl | LAlt || RGUI | RCtl |
38 ,------|-------|------||------+-------+-------.
39 | | Del | Home || PgUp | Enter | |
40 | BkSp | / |------||------| / | Space |
41 | | Media | End || PgDn | KeyPd | |
42 `---------------------'`----------------------'
43
44### Layer 1: QWERTY layer
45
46 ,-------------------------------------------.,-------------------------------------------.
47 | = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
48 |--------+------+------+------+------+------||------+------+------+------+------+--------|
49 | Tab | Q | W | E | R | T || Y | U | I | O | P | \ |
50 |--------+------+------+------+------+------||------+------+------+------+------+--------|
51 | CapsLk | A | S | D | F | G || H | J | K | L | ; | ' |
52 |--------+------+------+------+------+------||------+------+------+------+------+--------|
53 | LShift | Z | X | C | V | B || N | M | , | . | / | RShift |
54 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
55 | ` | Ins | Left | Rght | | Up | Dn | [ | ] |
56 `---------------------------' `---------------------------'
57 ,--------------.,--------------.
58 | LCtl | LAlt || RGUI | RCtl |
59 ,------|-------|------||------+-------+-------.
60 | | Del | Home || PgUp | Enter | |
61 | BkSp | / |------||------| / | Space |
62 | | Media | End || PgDn | KeyPd | |
63 `---------------------'`----------------------'
64
65### Keymap 2: Colemak layer
66
67 ,-------------------------------------------.,-------------------------------------------.
68 | = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
69 |--------+------+------+------+------+------||------+------+------+------+------+--------|
70 | Tab | Q | W | F | P | G || J | L | U | Y | ; | \ |
71 |--------+------+------+------+------+------||------+------+------+------+------+--------|
72 | BkSpc | A | R | S | T | D || H | N | E | I | O | ' |
73 |--------+------+------+------+------+------||------+------+------+------+------+--------|
74 | LShift | Z | X | C | V | B || K | M | , | . | / | RShift |
75 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
76 | ` | Ins | Left | Rght | | Up | Dn | [ | ] |
77 `---------------------------' `---------------------------'
78 ,--------------.,--------------.
79 | LCtl | LAlt || RGUI | RCtl |
80 ,------|-------|------||------+-------+-------.
81 | | Del | Home || PgUp | Enter | |
82 | BkSp | / |------||------| / | Space |
83 | | Media | End || PgDn | KeyPd | |
84 `---------------------'`----------------------'
85
86### layer 3 : Media layer
87
88 ,-------------------------------------------.,-------------------------------------------.
89 | F11 | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F12 |
90 |--------+------+------+------+------+------||------+------+------+------+------+--------|
91 | | | | | | || | | | | | |
92 |--------+------+------+------+------+------||------+------+------+------+------+--------|
93 | | | | | | || | Mute | Vol- | Vol+ | | |
94 |--------+------+------+------+------+------||------+------+------+------+------+--------|
95 | | | | | | || Stop | Prev | Play | Next | Sel | |
96 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
97 | | | | | | | | | |
98 `---------------------------' `---------------------------'
99 ,-------------.,-------------.
100 | | || | |
101 ,------|------|------||------+------+------.
102 | | | || | | |
103 | | |------||------| | |
104 | | | || | | |
105 `--------------------'`--------------------'
106
107
108
109### Keymap 4: Keypad layer
110
111 ,-------------------------------------------.,-------------------------------------------.
112 | Power | | | | | || | NmLk | KP = | KP / | KP * | |
113 |--------+------+------+------+------+------||------+------+------+------+------+--------|
114 | Sleep | | | | | || | KP 7 | KP 8 | KP 9 | KP - | |
115 |--------+------+------+------+------+------||------+------+------+------+------+--------|
116 | Wake | |QWERTY|Colemk|Dvorak| || | KP 4 | KP 5 | KP 6 | KP + | |
117 |--------+------+------+------+------+------||------+------+------+------+------+--------|
118 | | | | | | || | KP 1 | KP 2 | KP 3 |KP Ent| |
119 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
120 | | | | | | | | KP . |KP Ent| |
121 `---------------------------' `----------------------------------'
122 ,-------------.,-------------.
123 | | || | |
124 ,------|------|------||------+------+------.
125 | | | || | | |
126 | | |------||------| | KP 0 |
127 | | | || | | |
128 `--------------------'`--------------------'
diff --git a/keyboards/lets_split/keymaps/xyverz/config.h b/keyboards/lets_split/keymaps/xyverz/config.h
new file mode 100644
index 000000000..1b5be030e
--- /dev/null
+++ b/keyboards/lets_split/keymaps/xyverz/config.h
@@ -0,0 +1,37 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18
19#define USE_SERIAL
20
21#define MASTER_LEFT
22// #define MASTER_RIGHT
23// #define EE_HANDS
24
25#ifdef SUBPROJECT_rev1
26 #include "../../rev1/config.h"
27#endif
28#ifdef SUBPROJECT_rev2
29 #include "../../rev2/config.h"
30 /* RGB Underglow */
31 #undef RGBLED_NUM
32 #define RGBLIGHT_ANIMATIONS
33 #define RGBLED_NUM 8
34#endif
35#ifdef SUBPROJECT_rev2fliphalf
36 #include "../../rev2fliphalf/config.h"
37#endif
diff --git a/keyboards/lets_split/keymaps/xyverz/keymap.c b/keyboards/lets_split/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..216e94696
--- /dev/null
+++ b/keyboards/lets_split/keymaps/xyverz/keymap.c
@@ -0,0 +1,191 @@
1#include "lets_split.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 _QWERTY 0
12#define _COLEMAK 1
13#define _DVORAK 2
14#define _LOWER 3
15#define _RAISE 4
16#define _ADJUST 16
17
18enum planck_keycodes {
19 QWERTY = SAFE_RANGE,
20 COLEMAK,
21 DVORAK,
22 LOWER,
23 RAISE,
24 ADJUST
25};
26
27// Fillers to make layering more clear
28#define _______ KC_TRNS
29#define XXXXXXX KC_NO
30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32
33/* Qwerty
34 * ,-----------------------------------------------------------------------------------.
35 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
36 * |------+------+------+------+------+-------------+------+------+------+------+------|
37 * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
38 * |------+------+------+------+------+------|------+------+------+------+------+------|
39 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
40 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 * | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right |
42 * `-----------------------------------------------------------------------------------'
43 */
44[_QWERTY] = KEYMAP ( \
45 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
46 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
47 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,\
48 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
49),
50
51/* Colemak
52 * ,-----------------------------------------------------------------------------------.
53 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
54 * |------+------+------+------+------+-------------+------+------+------+------+------|
55 * | Esc | A | R | S | T | D | H | N | E | I | O | " |
56 * |------+------+------+------+------+------|------+------+------+------+------+------|
57 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
58 * |------+------+------+------+------+------+------+------+------+------+------+------|
59 * | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right |
60 * `-----------------------------------------------------------------------------------'
61 */
62[_COLEMAK] = KEYMAP ( \
63 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \
64 KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
65 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
66 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
67),
68
69/* Dvorak
70 * ,-----------------------------------------------------------------------------------.
71 * | Tab | " | , | . | P | Y | F | G | C | R | L | / |
72 * |------+------+------+------+------+-------------+------+------+------+------+------|
73 * | Esc | A | O | E | U | I | D | H | T | N | S | - |
74 * |------+------+------+------+------+------|------+------+------+------+------+------|
75 * | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift|
76 * |------+------+------+------+------+------+------+------+------+------+------+------|
77 * | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
78 * `-----------------------------------------------------------------------------------'
79 */
80[_DVORAK] = KEYMAP ( \
81 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, \
82 KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
83 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
84 KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
85),
86
87/* Lower
88 * ,-----------------------------------------------------------------------------------.
89 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
90 * |------+------+------+------+------+-------------+------+------+------+------+------|
91 * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
92 * |------+------+------+------+------+------|------+------+------+------+------+------|
93 * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | |
94 * |------+------+------+------+------+------+------+------+------+------+------+------|
95 * | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
96 * `-----------------------------------------------------------------------------------'
97 */
98[_LOWER] = KEYMAP ( \
99 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
100 KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
101 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, \
102 _______, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
103),
104
105/* Raise
106 * ,-----------------------------------------------------------------------------------.
107 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
108 * |------+------+------+------+------+-------------+------+------+------+------+------|
109 * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
110 * |------+------+------+------+------+------|------+------+------+------+------+------|
111 * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | |
112 * |------+------+------+------+------+------+------+------+------+------+------+------|
113 * | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
114 * `-----------------------------------------------------------------------------------'
115 */
116[_RAISE] = KEYMAP ( \
117 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
118 KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
119 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, \
120 _______, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
121),
122
123/* Adjust (Lower + Raise)
124 * ,-----------------------------------------------------------------------------------.
125 * | F11 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F12 |
126 * |------+------+------+------+------+-------------+------+------+------+------+------|
127 * | | Reset| |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
128 * |------+------+------+------+------+------|------+------+------+------+------+------|
129 * | |RGB ON| MODE | HUE+ | HUE- | SAT+ | SAT- | VAL+ | VAL- | | | |
130 * |------+------+------+------+------+------+------+------+------+------+------+------|
131 * | | | | | | | | | | | |
132 * `-----------------------------------------------------------------------------------'
133 */
134[_ADJUST] = KEYMAP ( \
135 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , \
136 _______, RESET, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
137 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, \
138 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
139)
140
141
142};
143
144void persistant_default_layer_set(uint16_t default_layer) {
145 eeconfig_update_default_layer(default_layer);
146 default_layer_set(default_layer);
147}
148
149bool process_record_user(uint16_t keycode, keyrecord_t *record) {
150 switch (keycode) {
151 case QWERTY:
152 if (record->event.pressed) {
153 persistant_default_layer_set(1UL<<_QWERTY);
154 }
155 return false;
156 break;
157 case COLEMAK:
158 if (record->event.pressed) {
159 persistant_default_layer_set(1UL<<_COLEMAK);
160 }
161 return false;
162 break;
163 case DVORAK:
164 if (record->event.pressed) {
165 persistant_default_layer_set(1UL<<_DVORAK);
166 }
167 return false;
168 break;
169 case LOWER:
170 if (record->event.pressed) {
171 layer_on(_LOWER);
172 update_tri_layer(_LOWER, _RAISE, _ADJUST);
173 } else {
174 layer_off(_LOWER);
175 update_tri_layer(_LOWER, _RAISE, _ADJUST);
176 }
177 return false;
178 break;
179 case RAISE:
180 if (record->event.pressed) {
181 layer_on(_RAISE);
182 update_tri_layer(_LOWER, _RAISE, _ADJUST);
183 } else {
184 layer_off(_RAISE);
185 update_tri_layer(_LOWER, _RAISE, _ADJUST);
186 }
187 return false;
188 break;
189 }
190 return true;
191}
diff --git a/keyboards/planck/keymaps/xyverz/Makefile b/keyboards/planck/keymaps/xyverz/Makefile
new file mode 100644
index 000000000..55bf853a0
--- /dev/null
+++ b/keyboards/planck/keymaps/xyverz/Makefile
@@ -0,0 +1,6 @@
1BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
2AUDIO_ENABLE = no # Audio output on port C6
3
4ifndef QUANTUM_DIR
5 include ../../../../Makefile
6endif
diff --git a/keyboards/planck/keymaps/xyverz/keymap.c b/keyboards/planck/keymaps/xyverz/keymap.c
index 192933b18..329bb043a 100644
--- a/keyboards/planck/keymaps/xyverz/keymap.c
+++ b/keyboards/planck/keymaps/xyverz/keymap.c
@@ -44,14 +44,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
44 * |------+------+------+------+------+------|------+------+------+------+------+------| 44 * |------+------+------+------+------+------|------+------+------+------+------+------|
45 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | 45 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
46 * |------+------+------+------+------+------+------+------+------+------+------+------| 46 * |------+------+------+------+------+------+------+------+------+------+------+------|
47 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | 47 * | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
48 * `-----------------------------------------------------------------------------------' 48 * `-----------------------------------------------------------------------------------'
49 */ 49 */
50[_QWERTY] = { 50[_QWERTY] = {
51 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, 51 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
52 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, 52 {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
53 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 53 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
54 {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 54 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
55}, 55},
56 56
57/* Colemak 57/* Colemak
@@ -62,14 +62,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
62 * |------+------+------+------+------+------|------+------+------+------+------+------| 62 * |------+------+------+------+------+------|------+------+------+------+------+------|
63 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | 63 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
64 * |------+------+------+------+------+------+------+------+------+------+------+------| 64 * |------+------+------+------+------+------+------+------+------+------+------+------|
65 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | 65 * | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
66 * `-----------------------------------------------------------------------------------' 66 * `-----------------------------------------------------------------------------------'
67 */ 67 */
68[_COLEMAK] = { 68[_COLEMAK] = {
69 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, 69 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC},
70 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, 70 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
71 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 71 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
72 {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 72 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
73}, 73},
74 74
75/* Dvorak 75/* Dvorak
@@ -86,8 +86,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
86[_DVORAK] = { 86[_DVORAK] = {
87 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH}, 87 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH},
88 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS}, 88 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS},
89 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_ENT)}, 89 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT},
90 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } 90 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
91}, 91},
92 92
93/* Lower 93/* Lower
@@ -128,9 +128,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
128 128
129/* Adjust (Lower + Raise) 129/* Adjust (Lower + Raise)
130 * ,-----------------------------------------------------------------------------------. 130 * ,-----------------------------------------------------------------------------------.
131 * | | Reset| | | | | | | | | | Del | 131 * | F11 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F12 |
132 * |------+------+------+------+------+-------------+------+------+------+------+------| 132 * |------+------+------+------+------+-------------+------+------+------+------+------|
133 * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | 133 * | | Reset| |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
134 * |------+------+------+------+------+------|------+------+------+------+------+------| 134 * |------+------+------+------+------+------|------+------+------+------+------+------|
135 * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | 135 * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
136 * |------+------+------+------+------+------+------+------+------+------+------+------| 136 * |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -138,8 +138,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
138 * `-----------------------------------------------------------------------------------' 138 * `-----------------------------------------------------------------------------------'
139 */ 139 */
140[_ADJUST] = { 140[_ADJUST] = {
141 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, 141 {KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 },
142 {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______}, 142 {_______, RESET, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______},
143 {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, 143 {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______},
144 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 144 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
145} 145}
diff --git a/keyboards/planck/keymaps/xyverz/makefile.mk b/keyboards/preonic/keymaps/xyverz/Makefile
index 93a89bb4a..ea5f6c164 100644
--- a/keyboards/planck/keymaps/xyverz/makefile.mk
+++ b/keyboards/preonic/keymaps/xyverz/Makefile
@@ -1,25 +1,23 @@
1
2
3# Build Options 1# Build Options
4# change to "no" to disable the options, or define them in the Makefile in 2# change to "no" to disable the options, or define them in the Makefile in
5# the appropriate keymap folder that will get included automatically 3# the appropriate keymap folder that will get included automatically
6# 4#
7BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) 5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
8MOUSEKEY_ENABLE = yes # Mouse keys(+4700) 6MOUSEKEY_ENABLE = no # Mouse keys(+4700)
9EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
10CONSOLE_ENABLE = no # Console for debug(+400) 8CONSOLE_ENABLE = no # Console for debug(+400)
11COMMAND_ENABLE = yes # Commands for debug and configuration 9COMMAND_ENABLE = no # Commands for debug and configuration
12NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
13BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality 11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
14MIDI_ENABLE = no # MIDI controls 12MIDI_ENABLE = no # MIDI controls
15AUDIO_ENABLE = yes # Audio output on port C6 13AUDIO_ENABLE = no # Audio output on port C6
16UNICODE_ENABLE = no # Unicode 14UNICODE_ENABLE = no # Unicode
17BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
18RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 16RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
19 17
20# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
21SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
22 20
23ifndef QUANTUM_DIR 21ifndef QUANTUM_DIR
24 include ../../../../Makefile 22 include ../../../../Makefile
25endif 23endif \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/xyverz/config.h b/keyboards/preonic/keymaps/xyverz/config.h
new file mode 100644
index 000000000..4e12921fe
--- /dev/null
+++ b/keyboards/preonic/keymaps/xyverz/config.h
@@ -0,0 +1,21 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4#include "../../config.h"
5
6// Number of backlight levels
7#undef BACKLIGHT_LEVELS
8#define BACKLIGHT_LEVELS 3
9
10/* ws2812 RGB LED */
11#undef RGB_DI_PIN
12#define RGB_DI_PIN B3
13#undef RGBLED_NUM
14#define RGBLIGHT_ANIMATIONS
15#define RGBLED_NUM 11 // Number of LEDs
16#define RGBLIGHT_HUE_STEP 10
17#define RGBLIGHT_SAT_STEP 17
18#define RGBLIGHT_VAL_STEP 17
19
20
21#endif \ No newline at end of file
diff --git a/keyboards/preonic/keymaps/xyverz/keymap.c b/keyboards/preonic/keymaps/xyverz/keymap.c
index adc7392e5..c8457cda1 100644
--- a/keyboards/preonic/keymaps/xyverz/keymap.c
+++ b/keyboards/preonic/keymaps/xyverz/keymap.c
@@ -14,22 +14,16 @@
14#define _DVORAK 2 14#define _DVORAK 2
15#define _LOWER 3 15#define _LOWER 3
16#define _RAISE 4 16#define _RAISE 4
17#define _MUSIC 5
18#define _ADJUST 16 17#define _ADJUST 16
19 18
20// Macro name shortcuts 19enum preonic_keycodes {
21#define QWERTY M(_QWERTY) 20 QWERTY = SAFE_RANGE,
22#define COLEMAK M(_COLEMAK) 21 COLEMAK,
23#define DVORAK M(_DVORAK) 22 DVORAK,
24#define LOWER M(_LOWER) 23 LOWER,
25#define RAISE M(_RAISE) 24 RAISE,
26#define M_BL 5 25 BACKLIT
27#define AUD_OFF M(6) 26};
28#define AUD_ON M(7)
29#define MUS_OFF M(8)
30#define MUS_ON M(9)
31#define VC_IN M(10)
32#define VC_DE M(11)
33 27
34// Fillers to make layering more clear 28// Fillers to make layering more clear
35#define _______ KC_TRNS 29#define _______ KC_TRNS
@@ -47,41 +41,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47 * |------+------+------+------+------+------|------+------+------+------+------+------| 41 * |------+------+------+------+------+------|------+------+------+------+------+------|
48 * | Shift| Z | X | C | V | B | N | M | , | . | / | Shift| 42 * | Shift| Z | X | C | V | B | N | M | , | . | / | Shift|
49 * |------+------+------+------+------+------+------+------+------+------+------+------| 43 * |------+------+------+------+------+------+------+------+------+------+------+------|
50 * | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter | 44 * | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
51 * `-----------------------------------------------------------------------------------' 45 * `-----------------------------------------------------------------------------------'
52 */ 46 */
53[_QWERTY] = { 47[_QWERTY] = {
54 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 48 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
55 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL}, 49 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL },
56 {KC_MINS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, 50 {KC_MINS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
57 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT}, 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},
58 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_SPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } 52 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
59}, 53},
60 54
61/* Colemak 55/* Colemak
62 * ,-----------------------------------------------------------------------------------. 56 * ,-----------------------------------------------------------------------------------.
63 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | 57 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
64 * |------+------+------+------+------+------+------+------+------+------+------+------| 58 * |------+------+------+------+------+------+------+------+------+------+------+------|
65 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | 59 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
66 * |------+------+------+------+------+-------------+------+------+------+------+------| 60 * |------+------+------+------+------+-------------+------+------+------+------+------|
67 * | Esc | A | R | S | T | D | H | N | E | I | O | " | 61 * | Bksp | A | R | S | T | D | H | N | E | I | O | " |
68 * |------+------+------+------+------+------|------+------+------+------+------+------| 62 * |------+------+------+------+------+------|------+------+------+------+------+------|
69 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | 63 * | Shift| Z | X | C | V | B | K | M | , | . | / | Shift|
70 * |------+------+------+------+------+------+------+------+------+------+------+------| 64 * |------+------+------+------+------+------+------+------+------+------+------+------|
71 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | 65 * | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
72 * `-----------------------------------------------------------------------------------' 66 * `-----------------------------------------------------------------------------------'
73 */ 67 */
74[_COLEMAK] = { 68[_COLEMAK] = {
75 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 69 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
76 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL}, 70 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL },
77 {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, 71 {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT},
78 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, 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},
79 {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} 73 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
80}, 74},
81 75
82/* Dvorak 76/* Dvorak
83 * ,-----------------------------------------------------------------------------------. 77 * ,-----------------------------------------------------------------------------------.
84 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | 78 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ |
85 * |------+------+------+------+------+------+------+------+------+------+------+------| 79 * |------+------+------+------+------+------+------+------+------+------+------+------|
86 * | Tab | " | , | . | P | Y | F | G | C | R | L | / | 80 * | Tab | " | , | . | P | Y | F | G | C | R | L | / |
87 * |------+------+------+------+------+-------------+------+------+------+------+------| 81 * |------+------+------+------+------+-------------+------+------+------+------+------|
@@ -89,112 +83,98 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
89 * |------+------+------+------+------+------|------+------+------+------+------+------| 83 * |------+------+------+------+------+------|------+------+------+------+------+------|
90 * | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift| 84 * | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift|
91 * |------+------+------+------+------+------+------+------+------+------+------+------| 85 * |------+------+------+------+------+------+------+------+------+------+------+------|
92 * | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter | 86 * | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
93 * `-----------------------------------------------------------------------------------' 87 * `-----------------------------------------------------------------------------------'
94 */ 88 */
95[_DVORAK] = { 89[_DVORAK] = {
96 {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 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},
97 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH}, 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},
98 {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS}, 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},
99 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT}, 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},
100 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_SPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } 94 {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
101}, 95},
102 96
103/* Lower 97/* Lower
104 * ,-----------------------------------------------------------------------------------. 98 * ,-----------------------------------------------------------------------------------.
105 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | 99 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
106 * |------+------+------+------+------+-------------+------+------+------+------+------| 100 * |------+------+------+------+------+-------------+------+------+------+------+------|
107 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | 101 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | |
108 * |------+------+------+------+------+-------------+------+------+------+------+------| 102 * |------+------+------+------+------+-------------+------+------+------+------+------|
109 * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | 103 * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | |
110 * |------+------+------+------+------+------|------+------+------+------+------+------| 104 * |------+------+------+------+------+------|------+------+------+------+------+------|
111 * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | | 105 * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | |
112 * |------+------+------+------+------+------+------+------+------+------+------+------| 106 * |------+------+------+------+------+------+------+------+------+------+------+------|
113 * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | 107 * | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
114 * `-----------------------------------------------------------------------------------' 108 * `-----------------------------------------------------------------------------------'
115 */ 109 */
116[_LOWER] = { 110[_LOWER] = {
117 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 111 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______},
118 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL}, 112 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE},
119 {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, 113 {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______},
120 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______}, 114 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______},
121 {M(M_BL), _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} 115 {BACKLIT, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______}
122}, 116},
123 117
124/* Raise 118/* Raise
125 * ,-----------------------------------------------------------------------------------. 119 * ,-----------------------------------------------------------------------------------.
126 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | 120 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
127 * |------+------+------+------+------+------+------+------+------+------+------+------| 121 * |------+------+------+------+------+------+------+------+------+------+------+------|
128 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | 122 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | \ |
129 * |------+------+------+------+------+-------------+------+------+------+------+------| 123 * |------+------+------+------+------+-------------+------+------+------+------+------|
130 * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | 124 * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | |
131 * |------+------+------+------+------+------|------+------+------+------+------+------| 125 * |------+------+------+------+------+------|------+------+------+------+------+------|
132 * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | | 126 * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | |
133 * |------+------+------+------+------+------+------+------+------+------+------+------| 127 * |------+------+------+------+------+------+------+------+------+------+------+------|
134 * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | 128 * | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
135 * `-----------------------------------------------------------------------------------' 129 * `-----------------------------------------------------------------------------------'
136 */ 130 */
137[_RAISE] = { 131[_RAISE] = {
138 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, 132 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______},
139 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL}, 133 {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS},
140 {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, 134 {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______},
141 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______}, 135 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______},
142 {M(M_BL), _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} 136 {BACKLIT, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______}
143},
144
145/* Music (reserved for process_action_user)
146 *
147 */
148[_MUSIC] = {
149 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
150 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
151 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
152 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX},
153 {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}
154}, 137},
155 138
156/* Adjust (Lower + Raise) 139/* Adjust (Lower + Raise)
157 * ,-----------------------------------------------------------------------------------. 140 * ,-----------------------------------------------------------------------------------.
158 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | 141 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
159 * |------+------+------+------+------+------+------+------+------+------+------+------| 142 * |------+------+------+------+------+------+------+------+------+------+------+------|
160 * | | Reset| | | | | | | | | | Del | 143 * | | Reset| | | | | | | | | | |
161 * |------+------+------+------+------+-------------+------+------+------+------+------| 144 * |------+------+------+------+------+-------------+------+------+------+------+------|
162 * | | | |Audoff|Aud on|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | 145 * | | | | | |AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
163 * |------+------+------+------+------+------|------+------+------+------+------+------| 146 * |------+------+------+------+------+------|------+------+------+------+------+------|
164 * | |Voice-|Voice+|Musoff|Mus on| | | | | | | | 147 * | |RGB ON| MODE | HUE+ | HUE- | SAT+ | SAT- | VAL+ | VAL- | | | |
165 * |------+------+------+------+------+------+------+------+------+------+------+------| 148 * |------+------+------+------+------+------+------+------+------+------+------+------|
166 * | | | | | | | | | | | | 149 * | | | | | | | | | | | |
167 * `-----------------------------------------------------------------------------------' 150 * `-----------------------------------------------------------------------------------'
168 */ 151 */
169[_ADJUST] = { 152[_ADJUST] = {
170 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, 153 {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 },
171 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, 154 {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
172 {_______, _______, _______, AUD_ON, AUD_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______}, 155 {_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______},
173 {_______, VC_DE, VC_IN, MUS_ON, MUS_OFF, _______, _______, _______, _______, _______, _______, _______}, 156 {_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______},
174 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} 157 {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
175} 158}
176 159
177 160
178}; 161};
179 162
180const uint16_t PROGMEM fn_actions[] = {
181
182};
183
184#ifdef AUDIO_ENABLE 163#ifdef AUDIO_ENABLE
185float start_up[][2] = { 164float tone_startup[][2] = {
186 {440.0*pow(2.0,(14)/12.0), 20}, 165 {NOTE_B5, 20},
187 {440.0*pow(2.0,(26)/12.0), 8}, 166 {NOTE_B6, 8},
188 {440.0*pow(2.0,(18)/12.0), 20}, 167 {NOTE_DS6, 20},
189 {440.0*pow(2.0,(26)/12.0), 8} 168 {NOTE_B6, 8}
190}; 169};
191 170
192float tone_qwerty[][2] = SONG(QWERTY_SOUND); 171float tone_qwerty[][2] = SONG(QWERTY_SOUND);
193float tone_dvorak[][2] = SONG(DVORAK_SOUND); 172float tone_dvorak[][2] = SONG(DVORAK_SOUND);
194float tone_colemak[][2] = SONG(COLEMAK_SOUND); 173float tone_colemak[][2] = SONG(COLEMAK_SOUND);
195 174
196float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); 175float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
197float goodbye[][2] = SONG(GOODBYE_SOUND); 176
177float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
198#endif 178#endif
199 179
200void persistant_default_layer_set(uint16_t default_layer) { 180void persistant_default_layer_set(uint16_t default_layer) {
@@ -202,34 +182,36 @@ void persistant_default_layer_set(uint16_t default_layer) {
202 default_layer_set(default_layer); 182 default_layer_set(default_layer);
203} 183}
204 184
205const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 185bool process_record_user(uint16_t keycode, keyrecord_t *record) {
206{ 186 switch (keycode) {
207 switch(id) { 187 case QWERTY:
208 case _QWERTY:
209 if (record->event.pressed) { 188 if (record->event.pressed) {
210 #ifdef AUDIO_ENABLE 189 #ifdef AUDIO_ENABLE
211 PLAY_NOTE_ARRAY(tone_qwerty, false, 0); 190 PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
212 #endif 191 #endif
213 persistant_default_layer_set(1UL<<_QWERTY); 192 persistant_default_layer_set(1UL<<_QWERTY);
214 } 193 }
194 return false;
215 break; 195 break;
216 case _COLEMAK: 196 case COLEMAK:
217 if (record->event.pressed) { 197 if (record->event.pressed) {
218 #ifdef AUDIO_ENABLE 198 #ifdef AUDIO_ENABLE
219 PLAY_NOTE_ARRAY(tone_colemak, false, 0); 199 PLAY_NOTE_ARRAY(tone_colemak, false, 0);
220 #endif 200 #endif
221 persistant_default_layer_set(1UL<<_COLEMAK); 201 persistant_default_layer_set(1UL<<_COLEMAK);
222 } 202 }
203 return false;
223 break; 204 break;
224 case _DVORAK: 205 case DVORAK:
225 if (record->event.pressed) { 206 if (record->event.pressed) {
226 #ifdef AUDIO_ENABLE 207 #ifdef AUDIO_ENABLE
227 PLAY_NOTE_ARRAY(tone_dvorak, false, 0); 208 PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
228 #endif 209 #endif
229 persistant_default_layer_set(1UL<<_DVORAK); 210 persistant_default_layer_set(1UL<<_DVORAK);
230 } 211 }
212 return false;
231 break; 213 break;
232 case _LOWER: 214 case LOWER:
233 if (record->event.pressed) { 215 if (record->event.pressed) {
234 layer_on(_LOWER); 216 layer_on(_LOWER);
235 update_tri_layer(_LOWER, _RAISE, _ADJUST); 217 update_tri_layer(_LOWER, _RAISE, _ADJUST);
@@ -237,8 +219,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
237 layer_off(_LOWER); 219 layer_off(_LOWER);
238 update_tri_layer(_LOWER, _RAISE, _ADJUST); 220 update_tri_layer(_LOWER, _RAISE, _ADJUST);
239 } 221 }
222 return false;
240 break; 223 break;
241 case _RAISE: 224 case RAISE:
242 if (record->event.pressed) { 225 if (record->event.pressed) {
243 layer_on(_RAISE); 226 layer_on(_RAISE);
244 update_tri_layer(_LOWER, _RAISE, _ADJUST); 227 update_tri_layer(_LOWER, _RAISE, _ADJUST);
@@ -246,8 +229,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
246 layer_off(_RAISE); 229 layer_off(_RAISE);
247 update_tri_layer(_LOWER, _RAISE, _ADJUST); 230 update_tri_layer(_LOWER, _RAISE, _ADJUST);
248 } 231 }
232 return false;
249 break; 233 break;
250 case M_BL: 234 case BACKLIT:
251 if (record->event.pressed) { 235 if (record->event.pressed) {
252 register_code(KC_RSFT); 236 register_code(KC_RSFT);
253 #ifdef BACKLIGHT_ENABLE 237 #ifdef BACKLIGHT_ENABLE
@@ -256,87 +240,41 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
256 } else { 240 } else {
257 unregister_code(KC_RSFT); 241 unregister_code(KC_RSFT);
258 } 242 }
259 break; 243 return false;
260 case 6: 244 break;
261 if (record->event.pressed) {
262 #ifdef AUDIO_ENABLE
263 audio_off();
264 #endif
265 }
266 break;
267 case 7:
268 if (record->event.pressed) {
269 #ifdef AUDIO_ENABLE
270 audio_on();
271 PLAY_NOTE_ARRAY(start_up, false, 0);
272 #endif
273 }
274 break;
275 case 8:
276 if (record->event.pressed) {
277 #ifdef AUDIO_ENABLE
278 layer_off(_MUSIC);
279 stop_all_notes();
280 #endif
281 }
282 break;
283 case 9:
284 if (record->event.pressed) {
285 #ifdef AUDIO_ENABLE
286 PLAY_NOTE_ARRAY(music_scale, false, 0);
287 layer_on(_MUSIC);
288 #endif
289 }
290 break;
291 case 10:
292 if (record->event.pressed) {
293 #ifdef AUDIO_ENABLE
294 voice_iterate();
295 PLAY_NOTE_ARRAY(music_scale, false, 0);
296 #endif
297 }
298 break;
299 case 11:
300 if (record->event.pressed) {
301 #ifdef AUDIO_ENABLE
302 voice_deiterate();
303 PLAY_NOTE_ARRAY(music_scale, false, 0);
304 #endif
305 }
306 break;
307 } 245 }
308 return MACRO_NONE; 246 return true;
309}; 247};
310 248
311
312void matrix_init_user(void) { 249void matrix_init_user(void) {
313 #ifdef AUDIO_ENABLE 250 #ifdef AUDIO_ENABLE
314 _delay_ms(20); // gets rid of tick 251 startup_user();
315 PLAY_NOTE_ARRAY(start_up, false, 0); 252 #endif
316 #endif
317} 253}
318 254
319#ifdef AUDIO_ENABLE 255#ifdef AUDIO_ENABLE
320 256
321uint8_t starting_note = 0x0C; 257void startup_user()
322int offset = 7; 258{
323 259 _delay_ms(20); // gets rid of tick
324void process_action_user(keyrecord_t *record) { 260 PLAY_NOTE_ARRAY(tone_startup, false, 0);
261}
325 262
326 if (IS_LAYER_ON(_MUSIC)) { 263void shutdown_user()
327 if (record->event.pressed) { 264{
328 play_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); 265 PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
329 } else { 266 _delay_ms(150);
330 stop_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); 267 stop_all_notes();
331 } 268}
332 }
333 269
270void music_on_user(void)
271{
272 music_scale_user();
334} 273}
335 274
336void play_goodbye_tone() 275void music_scale_user(void)
337{ 276{
338 PLAY_NOTE_ARRAY(goodbye, false, 0); 277 PLAY_NOTE_ARRAY(music_scale, false, 0);
339 _delay_ms(150);
340} 278}
341 279
342#endif \ No newline at end of file 280#endif
diff --git a/keyboards/preonic/keymaps/xyverz/makefile.mk b/keyboards/preonic/keymaps/xyverz/makefile.mk
deleted file mode 100644
index 628167ff6..000000000
--- a/keyboards/preonic/keymaps/xyverz/makefile.mk
+++ /dev/null
@@ -1 +0,0 @@
1AUDIO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/tv44/keymaps/xyverz/keymap.c b/keyboards/tv44/keymaps/xyverz/keymap.c
index 8cbcf8d35..00347b019 100644
--- a/keyboards/tv44/keymaps/xyverz/keymap.c
+++ b/keyboards/tv44/keymaps/xyverz/keymap.c
@@ -22,38 +22,38 @@ extern keymap_config_t keymap_config;
22 22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 [_DV] = { /* 0: Dvorak */ 24 [_DV] = { /* 0: Dvorak */
25 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC }, 25 {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH },
26 {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT }, 26 {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, LT(_L2, KC_MINS)},
27 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT }, 27 {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT },
28 {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } 28 {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_BSLS, KC_EQL, XXXXXXX, KC_ENT }
29 }, 29 },
30 30
31 [_QW] = { /* 1: Qwerty */ 31 [_QW] = { /* 1: Qwerty */
32 {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, 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_BSPC },
33 {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT }, 33 {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT)},
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 }, 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_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } 35 {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, KC_ENT }
36 }, 36 },
37 37
38 [_CM] = { /* 2: Colemak */ 38 [_CM] = { /* 2: Colemak */
39 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, 39 {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC },
40 {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT }, 40 {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, LT(_L2, KC_QUOT)},
41 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, 41 {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT },
42 {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } 42 {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, KC_ENT }
43 }, 43 },
44 44
45 [_L1] = {/* 1: FN 1 */ 45 [_L1] = {/* 1: FN 1 */
46 {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL }, 46 {KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL },
47 {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ }, 47 {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ },
48 {_______, _______, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT }, 48 {_______, _______, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT },
49 {KC_ESC, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_SLSH, _______, _______ } 49 {KC_ESC, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_EQL, _______, _______ }
50 }, 50 },
51 51
52 [_L2] = { /* 2: FN 2 */ 52 [_L2] = { /* 2: FN 2 */
53 {KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_ESC }, 53 {KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC },
54 {_______, KC_F11, KC_F12, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_VOLU, KC_ENT }, 54 {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGUP, KC_VOLU, _______ },
55 {_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_VOLD, _______ }, 55 {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, KC_PGDN, KC_VOLD, _______ },
56 {QWERTY, DVORAK, COLEMAK, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______ } 56 {QWERTY, DVORAK, COLEMAK, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_PLUS, _______, _______ }
57 } 57 }
58 58
59}; 59};
diff --git a/readme.md b/readme.md
index b2dfc5f75..f7bf14b6a 100644
--- a/readme.md
+++ b/readme.md
@@ -32,7 +32,7 @@ The OLKB product firmwares are maintained by [Jack Humbert](https://github.com/j
32This is not a tiny project. While this is the main readme, there are many other files you might want to consult. Here are some points of interest: 32This is not a tiny project. While this is the main readme, there are many other files you might want to consult. Here are some points of interest:
33 33
34* [**The Wiki**](https://github.com/qmk/qmk_firmware/wiki) - the entirety of the readme has been moved here 34* [**The Wiki**](https://github.com/qmk/qmk_firmware/wiki) - the entirety of the readme has been moved here
35* The readme for your own keyboard: This is found under `keyboards/<your keyboards's name>/`. So for the ErgoDox EZ, it's [here](keyboards/ergodox/ez/); for the Planck, it's [here](keyboards/planck/) and so on. 35* The readme for your own keyboard: This is found under `keyboards/<your keyboards's name>/`. So for the ErgoDox, it's [here](keyboards/ergodox/); for the Planck, it's [here](keyboards/planck/) and so on.
36* The list of possible keycodes you can use in your keymap is actually spread out in a few different places: 36* The list of possible keycodes you can use in your keymap is actually spread out in a few different places:
37 * [doc/keycode.txt](doc/keycode.txt) - an explanation of those same keycodes. 37 * [doc/keycode.txt](doc/keycode.txt) - an explanation of those same keycodes.
38 * [quantum/quantum_keycodes.h](quantum/quantum_keycodes.h) - this is where the QMK-specific aliases are all set up. Things like the Hyper and Meh key, the Leader key, and all of the other QMK innovations. These are also explained and documented below, but `quantum_keycodes.h` is where they're actually defined. 38 * [quantum/quantum_keycodes.h](quantum/quantum_keycodes.h) - this is where the QMK-specific aliases are all set up. Things like the Hyper and Meh key, the Leader key, and all of the other QMK innovations. These are also explained and documented below, but `quantum_keycodes.h` is where they're actually defined.