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/keymap.c108
-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/handwired/atreus50/Makefile3
-rw-r--r--keyboards/handwired/atreus50/atreus50.c1
-rw-r--r--keyboards/handwired/atreus50/atreus50.h18
-rw-r--r--keyboards/handwired/atreus50/config.h58
-rw-r--r--keyboards/handwired/atreus50/keymaps/default/Makefile21
-rw-r--r--keyboards/handwired/atreus50/keymaps/default/keymap.c128
-rw-r--r--keyboards/handwired/atreus50/rules.mk56
-rw-r--r--keyboards/handwired/xk66/Makefile3
-rw-r--r--keyboards/handwired/xk66/config.h162
-rw-r--r--keyboards/handwired/xk66/keymaps/default/Makefile21
-rw-r--r--keyboards/handwired/xk66/keymaps/default/config.h8
-rw-r--r--keyboards/handwired/xk66/keymaps/default/keymap.c90
-rw-r--r--keyboards/handwired/xk66/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/xk66/readme.md28
-rw-r--r--keyboards/handwired/xk66/rules.mk67
-rw-r--r--keyboards/handwired/xk66/xk66.c8
-rw-r--r--keyboards/handwired/xk66/xk66.h25
-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.c311
-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/keymap.c16
-rw-r--r--keyboards/preonic/keymaps/xyverz/Makefile23
-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
35 files changed, 1997 insertions, 190 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/keymap.c b/keyboards/clueboard/keymaps/xyverz/keymap.c
new file mode 100644
index 000000000..01f158bf0
--- /dev/null
+++ b/keyboards/clueboard/keymaps/xyverz/keymap.c
@@ -0,0 +1,108 @@
1#include "clueboard.h"
2
3// Used for SHIFT_ESC
4#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
5
6// Each layer gets a name for readability, which is then used in the keymap matrix below.
7// The underscores don't mean anything - you can have a layer called STUFF or any other name.
8// Layer names don't all need to be of the same length, obviously, and you can also skip them
9// entirely and just use numbers.
10#define _BL 0
11#define _FL 1
12#define _RS 2
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15 /* Keymap _BL: (Base Layer) Default Layer
16 * ,--------------------------------------------------------------------------. ,----.
17 * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS| |PGUP|
18 * |--------------------------------------------------------------------------| |----|
19 * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PGDN|
20 * |--------------------------------------------------------------------------| `----'
21 * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent|
22 * |-----------------------------------------------------------------------------.
23 * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| UP|
24 * |------------------------------------------------------------------------|----|----.
25 * | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT|
26 * `----------------------------------------------------------------------------------'
27 */
28[_BL] = KEYMAP(
29 F(0), 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_GRV, KC_BSPC, KC_PGUP, \
30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, \
31 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
32 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
33 KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
34
35 /* Keymap _FL: Function Layer
36 * ,--------------------------------------------------------------------------. ,----.
37 * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN|
38 * |--------------------------------------------------------------------------| |----|
39 * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE|
40 * |--------------------------------------------------------------------------| `----'
41 * | | | _RS| | | | | | | | | | | |
42 * |-----------------------------------------------------------------------------.
43 * | | | | | | | | | | | | | | |PGUP|
44 * |------------------------------------------------------------------------|----|----.
45 * | | | | | | | | | | _FL|HOME|PGDN| END|
46 * `----------------------------------------------------------------------------------'
47 */
48[_FL] = KEYMAP(
49 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, \
50 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, \
51 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, \
52 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, \
53 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),
54
55 /* Keymap _RS: Reset layer
56 * ,--------------------------------------------------------------------------. ,----.
57 * | | | | | | | | | | | | | | | | | |
58 * |--------------------------------------------------------------------------| |----|
59 * | | | | |RESET| | | | | | | | | | | |
60 * |--------------------------------------------------------------------------| `----'
61 * | | | _RS| | | | | | | | | | | |
62 * |-----------------------------------------------------------------------------.
63 * | | | | | | | | | | | | | | | |
64 * |------------------------------------------------------------------------|----|----.
65 * | | | | | | | | | | _FL| | | |
66 * `----------------------------------------------------------------------------------'
67 */
68[_RS] = KEYMAP(
69 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, \
70 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, \
71 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, \
72 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, \
73 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),
74};
75
76enum function_id {
77 SHIFT_ESC,
78};
79
80const uint16_t PROGMEM fn_actions[] = {
81 [0] = ACTION_FUNCTION(SHIFT_ESC),
82};
83
84void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
85 static uint8_t shift_esc_shift_mask;
86 switch (id) {
87 case SHIFT_ESC:
88 shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
89 if (record->event.pressed) {
90 if (shift_esc_shift_mask) {
91 add_key(KC_GRV);
92 send_keyboard_report();
93 } else {
94 add_key(KC_ESC);
95 send_keyboard_report();
96 }
97 } else {
98 if (shift_esc_shift_mask) {
99 del_key(KC_GRV);
100 send_keyboard_report();
101 } else {
102 del_key(KC_ESC);
103 send_keyboard_report();
104 }
105 }
106 break;
107 }
108}
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/handwired/atreus50/Makefile b/keyboards/handwired/atreus50/Makefile
new file mode 100644
index 000000000..bd09e5885
--- /dev/null
+++ b/keyboards/handwired/atreus50/Makefile
@@ -0,0 +1,3 @@
1ifndef MAKEFILE_INCLUDED
2 include ../../../Makefile
3endif
diff --git a/keyboards/handwired/atreus50/atreus50.c b/keyboards/handwired/atreus50/atreus50.c
new file mode 100644
index 000000000..dd0dbdaac
--- /dev/null
+++ b/keyboards/handwired/atreus50/atreus50.c
@@ -0,0 +1 @@
#include "atreus50.h"
diff --git a/keyboards/handwired/atreus50/atreus50.h b/keyboards/handwired/atreus50/atreus50.h
new file mode 100644
index 000000000..5d27109cc
--- /dev/null
+++ b/keyboards/handwired/atreus50/atreus50.h
@@ -0,0 +1,18 @@
1#ifndef ATREUS50_H
2#define ATREUS50_H
3
4#include "quantum.h"
5
6#define KEYMAP( \
7 K000, K001, K002, K003, K004, K005, K007, K008, K009, K010, K011, K012, \
8 K100, K101, K102, K103, K104, K105, K107, K108, K109, K110, K111, K112, \
9 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
10 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312 \
11) { \
12 { K000, K001, K002, K003, K004, K005, KC_NO, K007, K008, K009, K010, K011, K012 }, \
13 { K100, K101, K102, K103, K104, K105, KC_NO, K107, K108, K109, K110, K111, K112 }, \
14 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212 }, \
15 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312 } \
16}
17
18#endif \ No newline at end of file
diff --git a/keyboards/handwired/atreus50/config.h b/keyboards/handwired/atreus50/config.h
new file mode 100644
index 000000000..0248032a0
--- /dev/null
+++ b/keyboards/handwired/atreus50/config.h
@@ -0,0 +1,58 @@
1#ifndef CONFIG_H
2#define CONFIG_H
3
4#include "config_common.h"
5
6/* USB Device descriptor parameter */
7#define VENDOR_ID 0xFEED
8#define PRODUCT_ID 0x6060
9#define DEVICE_VER 0x0001
10#define MANUFACTURER qmkbuilder
11#define PRODUCT Atreus50
12#define DESCRIPTION Keyboard
13
14/* key matrix size */
15#define MATRIX_ROWS 4
16#define MATRIX_COLS 13
17
18/* key matrix pins */
19#define MATRIX_ROW_PINS { F4, F5, F6, F7 }
20#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B6, B2, B3 }
21#define UNUSED_PINS
22
23/* COL2ROW or ROW2COL */
24#define DIODE_DIRECTION COL2ROW
25
26/* number of backlight levels */
27
28#ifdef BACKLIGHT_PIN
29#define BACKLIGHT_LEVELS 3
30#endif
31
32/* Set 0 if debouncing isn't needed */
33#define DEBOUNCING_DELAY 5
34
35/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
36#define LOCKING_SUPPORT_ENABLE
37
38/* Locking resynchronize hack */
39#define LOCKING_RESYNC_ENABLE
40
41/* key combination for command */
42#define IS_COMMAND() ( \
43 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
44)
45
46/* prevent stuck modifiers */
47#define PREVENT_STUCK_MODIFIERS
48
49
50#ifdef RGB_DI_PIN
51#define RGBLIGHT_ANIMATIONS
52#define RGBLED_NUM 0
53#define RGBLIGHT_HUE_STEP 8
54#define RGBLIGHT_SAT_STEP 8
55#define RGBLIGHT_VAL_STEP 8
56#endif
57
58#endif \ No newline at end of file
diff --git a/keyboards/handwired/atreus50/keymaps/default/Makefile b/keyboards/handwired/atreus50/keymaps/default/Makefile
new file mode 100644
index 000000000..43fee2668
--- /dev/null
+++ b/keyboards/handwired/atreus50/keymaps/default/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 \ No newline at end of file
diff --git a/keyboards/handwired/atreus50/keymaps/default/keymap.c b/keyboards/handwired/atreus50/keymaps/default/keymap.c
new file mode 100644
index 000000000..b3dc17cb1
--- /dev/null
+++ b/keyboards/handwired/atreus50/keymaps/default/keymap.c
@@ -0,0 +1,128 @@
1// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
2// this is the style you want to emulate.
3
4#include "atreus50.h"
5#include "action_layer.h"
6#include "eeconfig.h"
7
8extern keymap_config_t keymap_config;
9
10// Each layer gets a name for readability, which is then used in the keymap matrix below.
11// The underscores don't mean anything - you can have a layer called STUFF or any other name.
12// Layer names don't all need to be of the same length, obviously, and you can also skip them
13// entirely and just use numbers.
14#define _DVORAK 0
15#define _QWERTY 1
16#define _COLEMAK 2
17#define _LOWER 3
18#define _RAISE 4
19#define _ADJUST 16
20
21enum planck_keycodes {
22 DVORAK = SAFE_RANGE,
23 QWERTY,
24 COLEMAK,
25 LOWER,
26 RAISE,
27 BACKLIT
28};
29
30// Fillers to make layering more clear
31#define _______ KC_TRNS
32#define XXXXXXX KC_NO
33
34const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
35 [_DVORAK] = { /* dvorak */
36 { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, _______, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH },
37 { KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, _______, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS },
38 { KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT },
39 { KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL }
40 },
41
42 [_QWERTY] = { /* qwerty */
43 { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL },
44 { KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT },
45 { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT },
46 { KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL }
47 },
48
49 [_COLEMAK] = { /* colemak */
50 { KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL },
51 { KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT },
52 { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT },
53 { KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_LGUI, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL}
54 },
55
56 [_LOWER] = {
57 { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______ },
58 { KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE },
59 { _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______ },
60 { _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ }
61 },
62 [_RAISE] = {
63 { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______ },
64 { KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS },
65 { _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______ },
66 { _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ }
67 },
68 [_ADJUST] = {
69 { KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 },
70 { _______, RESET, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______ },
71 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
72 { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
73 },
74
75};
76
77const uint16_t PROGMEM fn_actions[] = {
78
79};
80
81void persistant_default_layer_set(uint16_t default_layer) {
82 eeconfig_update_default_layer(default_layer);
83 default_layer_set(default_layer);
84}
85
86bool process_record_user(uint16_t keycode, keyrecord_t *record) {
87 switch (keycode) {
88 case QWERTY:
89 if (record->event.pressed) {
90 persistant_default_layer_set(1UL<<_QWERTY);
91 }
92 return false;
93 break;
94 case COLEMAK:
95 if (record->event.pressed) {
96 persistant_default_layer_set(1UL<<_COLEMAK);
97 }
98 return false;
99 break;
100 case DVORAK:
101 if (record->event.pressed) {
102 persistant_default_layer_set(1UL<<_DVORAK);
103 }
104 return false;
105 break;
106 case LOWER:
107 if (record->event.pressed) {
108 layer_on(_LOWER);
109 update_tri_layer(_LOWER, _RAISE, _ADJUST);
110 } else {
111 layer_off(_LOWER);
112 update_tri_layer(_LOWER, _RAISE, _ADJUST);
113 }
114 return false;
115 break;
116 case RAISE:
117 if (record->event.pressed) {
118 layer_on(_RAISE);
119 update_tri_layer(_LOWER, _RAISE, _ADJUST);
120 } else {
121 layer_off(_RAISE);
122 update_tri_layer(_LOWER, _RAISE, _ADJUST);
123 }
124 return false;
125 break;
126 }
127 return true;
128}; \ No newline at end of file
diff --git a/keyboards/handwired/atreus50/rules.mk b/keyboards/handwired/atreus50/rules.mk
new file mode 100644
index 000000000..1f8e943be
--- /dev/null
+++ b/keyboards/handwired/atreus50/rules.mk
@@ -0,0 +1,56 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency.
5# This will define a symbol, F_CPU, in all source code files equal to the
6# processor frequency in Hz. You can then use this symbol in your source code to
7# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
8# automatically to create a 32-bit value in your source code.
9#
10# This will be an integer division of F_USB below, as it is sourced by
11# F_USB after it has run through any CPU prescalers. Note that this value
12# does not *change* the processor frequency - it should merely be updated to
13# reflect the processor speed set externally so that the code can use accurate
14# software delays.
15F_CPU = 16000000
16
17#
18# LUFA specific
19#
20# Target architecture (see library "Board Types" documentation).
21ARCH = AVR8
22
23# Input clock frequency.
24# This will define a symbol, F_USB, in all source code files equal to the
25# input clock frequency (before any prescaling is performed) in Hz. This value may
26# differ from F_CPU if prescaling is used on the latter, and is required as the
27# raw input clock is fed directly to the PLL sections of the AVR for high speed
28# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
29# at the end, this will be done automatically to create a 32-bit value in your
30# source code.
31#
32# If no clock division is performed on the input clock inside the AVR (via the
33# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
34F_USB = $(F_CPU)
35
36# Interrupt driven control endpoint task(+60)
37OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
38
39
40# Boot Section Size in *bytes*
41OPT_DEFS += -DBOOTLOADER_SIZE=4096
42
43
44# Build Options
45# comment out to disable the options.
46#
47BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
48MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
49EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
50CONSOLE_ENABLE ?= no # Console for debug(+400)
51COMMAND_ENABLE ?= no # Commands for debug and configuration
52SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
53NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
54BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality
55AUDIO_ENABLE ?= no
56RGBLIGHT_ENABLE ?= no \ No newline at end of file
diff --git a/keyboards/handwired/xk66/Makefile b/keyboards/handwired/xk66/Makefile
new file mode 100644
index 000000000..bd09e5885
--- /dev/null
+++ b/keyboards/handwired/xk66/Makefile
@@ -0,0 +1,3 @@
1ifndef MAKEFILE_INCLUDED
2 include ../../../Makefile
3endif
diff --git a/keyboards/handwired/xk66/config.h b/keyboards/handwired/xk66/config.h
new file mode 100644
index 000000000..02ff2a6bf
--- /dev/null
+++ b/keyboards/handwired/xk66/config.h
@@ -0,0 +1,162 @@
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#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x6060
26#define DEVICE_VER 0x0001
27#define MANUFACTURER Xyverz
28#define PRODUCT XK-66
29#define DESCRIPTION A hand-wired 66-key keyboard by Xyverz
30
31/* key matrix size */
32#define MATRIX_ROWS 5
33#define MATRIX_COLS 14
34
35/*
36 * Keyboard Matrix Assignments
37 *
38 * Change this to how you wired your keyboard
39 * COLS: AVR pins used for columns, left to right
40 * ROWS: AVR pins used for rows, top to bottom
41 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
42 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
43 *
44*/
45#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 }
46#define MATRIX_COL_PINS { B6, F7, F6, F5, F4, F1, F0, D1, D0, B7, B3, B2, B1, B0 }
47#define UNUSED_PINS
48
49/* COL2ROW or ROW2COL */
50#define DIODE_DIRECTION COL2ROW
51
52// #define BACKLIGHT_PIN B7
53// #define BACKLIGHT_BREATHING
54// #define BACKLIGHT_LEVELS 3
55
56
57/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
58#define DEBOUNCING_DELAY 5
59
60/* define if matrix has ghost (lacks anti-ghosting diodes) */
61//#define MATRIX_HAS_GHOST
62
63/* number of backlight levels */
64
65/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
66#define LOCKING_SUPPORT_ENABLE
67/* Locking resynchronize hack */
68#define LOCKING_RESYNC_ENABLE
69
70/*
71 * Force NKRO
72 *
73 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
74 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
75 * makefile for this to work.)
76 *
77 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
78 * until the next keyboard reset.
79 *
80 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
81 * fully operational during normal computer usage.
82 *
83 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
84 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
85 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
86 * power-up.
87 *
88 */
89//#define FORCE_NKRO
90
91/*
92 * Magic Key Options
93 *
94 * Magic keys are hotkey commands that allow control over firmware functions of
95 * the keyboard. They are best used in combination with the HID Listen program,
96 * found here: https://www.pjrc.com/teensy/hid_listen.html
97 *
98 * The options below allow the magic key functionality to be changed. This is
99 * useful if your keyboard/keypad is missing keys and you want magic key support.
100 *
101 */
102
103/* key combination for magic key command */
104#define IS_COMMAND() ( \
105 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
106)
107
108/* control how magic key switches layers */
109//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
110//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
111//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
112
113/* override magic key keymap */
114//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
115//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
116//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
117//#define MAGIC_KEY_HELP1 H
118//#define MAGIC_KEY_HELP2 SLASH
119//#define MAGIC_KEY_DEBUG D
120//#define MAGIC_KEY_DEBUG_MATRIX X
121//#define MAGIC_KEY_DEBUG_KBD K
122//#define MAGIC_KEY_DEBUG_MOUSE M
123//#define MAGIC_KEY_VERSION V
124//#define MAGIC_KEY_STATUS S
125//#define MAGIC_KEY_CONSOLE C
126//#define MAGIC_KEY_LAYER0_ALT1 ESC
127//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
128//#define MAGIC_KEY_LAYER0 0
129//#define MAGIC_KEY_LAYER1 1
130//#define MAGIC_KEY_LAYER2 2
131//#define MAGIC_KEY_LAYER3 3
132//#define MAGIC_KEY_LAYER4 4
133//#define MAGIC_KEY_LAYER5 5
134//#define MAGIC_KEY_LAYER6 6
135//#define MAGIC_KEY_LAYER7 7
136//#define MAGIC_KEY_LAYER8 8
137//#define MAGIC_KEY_LAYER9 9
138//#define MAGIC_KEY_BOOTLOADER PAUSE
139//#define MAGIC_KEY_LOCK CAPS
140//#define MAGIC_KEY_EEPROM E
141//#define MAGIC_KEY_NKRO N
142//#define MAGIC_KEY_SLEEP_LED Z
143
144/*
145 * Feature disable options
146 * These options are also useful to firmware size reduction.
147 */
148
149/* disable debug print */
150//#define NO_DEBUG
151
152/* disable print */
153//#define NO_PRINT
154
155/* disable action features */
156//#define NO_ACTION_LAYER
157//#define NO_ACTION_TAPPING
158//#define NO_ACTION_ONESHOT
159//#define NO_ACTION_MACRO
160//#define NO_ACTION_FUNCTION
161
162#endif
diff --git a/keyboards/handwired/xk66/keymaps/default/Makefile b/keyboards/handwired/xk66/keymaps/default/Makefile
new file mode 100644
index 000000000..f4671a9d1
--- /dev/null
+++ b/keyboards/handwired/xk66/keymaps/default/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 = no # 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 \ No newline at end of file
diff --git a/keyboards/handwired/xk66/keymaps/default/config.h b/keyboards/handwired/xk66/keymaps/default/config.h
new file mode 100644
index 000000000..df06a2620
--- /dev/null
+++ b/keyboards/handwired/xk66/keymaps/default/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 \ No newline at end of file
diff --git a/keyboards/handwired/xk66/keymaps/default/keymap.c b/keyboards/handwired/xk66/keymaps/default/keymap.c
new file mode 100644
index 000000000..61b3bd97f
--- /dev/null
+++ b/keyboards/handwired/xk66/keymaps/default/keymap.c
@@ -0,0 +1,90 @@
1#include "xk66.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 _DV 0
12#define _QW 1
13#define _CM 2
14#define _FL 3
15
16// Macro name shortcuts
17#define QWERTY M(_QW)
18#define DVORAK M(_DV)
19#define COLEMAK M(_CM)
20
21// Fillers to make layering more clear
22#define _______ KC_TRNS
23#define XXXXXXX KC_NO
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26[_DV] = KEYMAP ( /* Dvorak */
27 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, \
28 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, \
29 MO(_FL), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \
30 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
31 KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RGHT, KC_BSPC, KC_SPC, KC_UP, KC_DOWN, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)
32 ),
33
34[_QW] = KEYMAP ( /* Qwerty */
35 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, \
36 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, \
37 MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
38 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
39 KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RGHT, KC_BSPC, KC_SPC, KC_UP, KC_DOWN, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)
40 ),
41
42[_CM] = KEYMAP ( /* Colemak */
43 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, \
44 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, \
45 MO(_FL), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, \
46 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
47 KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT, KC_RGHT, KC_BSPC, KC_SPC, KC_UP, KC_DOWN, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)
48 ),
49
50[_FL] = KEYMAP ( /* Function Layer 1 */
51 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, _______, \
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
53 _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, QWERTY, DVORAK, COLEMAK, _______, _______, _______, \
54 KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, \
55 RESET, _______, _______, KC_HOME, KC_END, KC_DEL, KC_INS, KC_PGUP, KC_PGDN, _______, _______, _______, _______
56 ),
57
58};
59
60
61const uint16_t PROGMEM fn_actions[] = {
62
63};
64
65void persistant_default_layer_set(uint16_t default_layer) {
66 eeconfig_update_default_layer(default_layer);
67 default_layer_set(default_layer);
68}
69
70const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
71{
72 switch(id) {
73 case _DV:
74 if (record->event.pressed) {
75 persistant_default_layer_set(1UL<<_DV);
76 }
77 break;
78 case _QW:
79 if (record->event.pressed) {
80 persistant_default_layer_set(1UL<<_QW);
81 }
82 break;
83 case _CM:
84 if (record->event.pressed) {
85 persistant_default_layer_set(1UL<<_CM);
86 }
87 break;
88 }
89 return MACRO_NONE;
90};
diff --git a/keyboards/handwired/xk66/keymaps/default/readme.md b/keyboards/handwired/xk66/keymaps/default/readme.md
new file mode 100644
index 000000000..6940fdd7c
--- /dev/null
+++ b/keyboards/handwired/xk66/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for handwired/xk66 \ No newline at end of file
diff --git a/keyboards/handwired/xk66/readme.md b/keyboards/handwired/xk66/readme.md
new file mode 100644
index 000000000..2aac6bde3
--- /dev/null
+++ b/keyboards/handwired/xk66/readme.md
@@ -0,0 +1,28 @@
1handwired/xk66 keyboard firmware
2======================
3
4## Quantum MK Firmware
5
6For the full Quantum feature list, see [the parent readme](/).
7
8## Building
9
10Download or clone the whole firmware and navigate to the keyboards/handwired/xk66 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
11
12Depending on which keymap you would like to use, you will have to compile slightly differently.
13
14### Default
15
16To build with the default keymap, simply run `make default`.
17
18### Other Keymaps
19
20Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files.
21
22To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
23
24```
25$ make [default|jack|<name>]
26```
27
28Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
diff --git a/keyboards/handwired/xk66/rules.mk b/keyboards/handwired/xk66/rules.mk
new file mode 100644
index 000000000..707a5385b
--- /dev/null
+++ b/keyboards/handwired/xk66/rules.mk
@@ -0,0 +1,67 @@
1# MCU name
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
13# does not *change* the processor frequency - it should merely be updated to
14# reflect the processor speed set externally so that the code can use accurate
15# software delays.
16F_CPU = 16000000
17
18
19#
20# LUFA specific
21#
22# Target architecture (see library "Board Types" documentation).
23ARCH = AVR8
24
25# Input clock frequency.
26# This will define a symbol, F_USB, in all source code files equal to the
27# input clock frequency (before any prescaling is performed) in Hz. This value may
28# differ from F_CPU if prescaling is used on the latter, and is required as the
29# raw input clock is fed directly to the PLL sections of the AVR for high speed
30# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
31# at the end, this will be done automatically to create a 32-bit value in your
32# source code.
33#
34# If no clock division is performed on the input clock inside the AVR (via the
35# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
36F_USB = $(F_CPU)
37
38# Interrupt driven control endpoint task(+60)
39OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
40
41
42# Boot Section Size in *bytes*
43# Teensy halfKay 512
44# Teensy++ halfKay 1024
45# Atmel DFU loader 4096
46# LUFA bootloader 4096
47# USBaspLoader 2048
48OPT_DEFS += -DBOOTLOADER_SIZE=512
49
50
51# Build Options
52# change yes to no to disable
53#
54BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
55MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
56EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
57CONSOLE_ENABLE ?= yes # Console for debug(+400)
58COMMAND_ENABLE ?= yes # Commands for debug and configuration
59# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
60SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
61# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
62NKRO_ENABLE ?= no # USB Nkey Rollover
63BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
64MIDI_ENABLE ?= no # MIDI controls
65UNICODE_ENABLE ?= no # Unicode
66BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
67AUDIO_ENABLE ?= no # Audio output on port C6
diff --git a/keyboards/handwired/xk66/xk66.c b/keyboards/handwired/xk66/xk66.c
new file mode 100644
index 000000000..3c3e31949
--- /dev/null
+++ b/keyboards/handwired/xk66/xk66.c
@@ -0,0 +1,8 @@
1#include "xk66.h"
2
3void matrix_init_kb(void) {
4 // put your keyboard start-up code here
5 // runs once when the firmware starts up
6
7 matrix_init_user();
8}
diff --git a/keyboards/handwired/xk66/xk66.h b/keyboards/handwired/xk66/xk66.h
new file mode 100644
index 000000000..38fe129e4
--- /dev/null
+++ b/keyboards/handwired/xk66/xk66.h
@@ -0,0 +1,25 @@
1#ifndef XK66_H
2#define XK66_H
3
4#include "quantum.h"
5#include "led.h"
6
7
8// This a shortcut to help you visually see your layout.
9// The first section contains all of the arguements
10// The second converts the arguments into a two-dimensional array
11#define KEYMAP( \
12 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, K0c, K0d, \
13 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, K1c, K1d, \
14 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, K2d, \
15 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b, K3c, \
16 K40, K41, K42, K43, K44, K45, K46, K48, K49, K4a, K4b, K4c, K4d \
17) { \
18 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, K0c, K0d }, \
19 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, K1c, K1d }, \
20 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, KC_NO, K2d }, \
21 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b, K3c, KC_NO }, \
22 { K40, K41, K42, K43, K44, K45, K46, KC_NO, K48, K49, K4a, K4b, K4c, K4d } \
23}
24
25#endif \ No newline at end of file
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..f3184c140
--- /dev/null
+++ b/keyboards/kinesis/keymaps/xyverz/keymap.c
@@ -0,0 +1,311 @@
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// Fillers to make layering more clear
23#define _______ KC_TRNS
24#define XXXXXXX KC_NO
25
26/*
27
28 Function Keys on All Layers (Keypad toggles):
29 ,-----------------------------------------------------------------.
30 | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
31 `-----------------------------------------------------------------'
32 ,-----------------------------------------------------------------.
33 | F9 | F10 | F11 | F12 | PScr | SLck | Paus | Keypad | RESET |
34 `-----------------------------------------------------------------'
35
36 Dvorak layer:
37 ,-------------------------------------------.,-------------------------------------------.
38 | ] | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | [ |
39 |--------+------+------+------+------+------||------+------+------+------+------+--------|
40 | Tab | ' | , | . | P | Y || F | G | C | R | L | \ |
41 |--------+------+------+------+------+------||------+------+------+------+------+--------|
42 | CapsLk | A | O | E | U | I || D | H | T | N | S | - |
43 |--------+------+------+------+------+------||------+------+------+------+------+--------|
44 | LShift | Z | X | C | V | X || B | M | W | V | Z | RShift |
45 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
46 | ` | INS | Left | Rght | | Up | Dn | / | = |
47 `---------------------------' `---------------------------'
48 ,--------------.,--------------.
49 |Ctr/ESC| LAlt || RGUI |Ctr/ESC|
50 ,------|-------|------||------+-------+-------.
51 | | Del | Home || PgUp | Enter | |
52 | BkSp | / |------||------| / | Space |
53 | | Media | End || PgDn | KeyPd | |
54 `---------------------'`----------------------'
55
56 QWERTY layer:
57 ,-------------------------------------------.,-------------------------------------------.
58 | = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
59 |--------+------+------+------+------+------||------+------+------+------+------+--------|
60 | Tab | Q | W | E | R | T || Y | U | I | O | P | \ |
61 |--------+------+------+------+------+------||------+------+------+------+------+--------|
62 | CapsLk | A | S | D | F | G || H | J | K | L | ; | ' |
63 |--------+------+------+------+------+------||------+------+------+------+------+--------|
64 | LShift | Z | X | C | V | B || N | M | , | . | / | RShift |
65 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
66 | ` | INS | Left | Rght | | Up | Dn | [ | ] |
67 `---------------------------' `---------------------------'
68 ,--------------.,--------------.
69 |Ctr/ESC| LAlt || RGUI |Ctr/ESC|
70 ,------|-------|------||------+-------+-------.
71 | | Del | Home || PgUp | Enter | |
72 | BkSp | / |------||------| / | Space |
73 | | Media | End || PgDn | KeyPd | |
74 `---------------------'`----------------------'
75
76 Colemak layer:
77 ,-------------------------------------------.,-------------------------------------------.
78 | = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
79 |--------+------+------+------+------+------||------+------+------+------+------+--------|
80 | Tab | Q | W | F | P | G || J | L | U | Y | ; | \ |
81 |--------+------+------+------+------+------||------+------+------+------+------+--------|
82 | BkSpc | A | R | S | T | D || H | N | E | I | O | ' |
83 |--------+------+------+------+------+------||------+------+------+------+------+--------|
84 | LShift | Z | X | C | V | B || K | M | , | . | / | RShift |
85 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
86 | ` | INS | Left | Rght | | Up | Dn | [ | ] |
87 `---------------------------' `---------------------------'
88 ,--------------.,--------------.
89 |Ctr/ESC| LAlt || RGUI |Ctr/ESC|
90 ,------|-------|------||------+-------+-------.
91 | | Del | Home || PgUp | Enter | |
92 | BkSp | / |------||------| / | Space |
93 | | Media | End || PgDn | KeyPd | |
94 `---------------------'`----------------------'
95
96 Media layer:
97 ,-------------------------------------------.,-------------------------------------------.
98 | F11 | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F12 |
99 |--------+------+------+------+------+------||------+------+------+------+------+--------|
100 | | | | | | || | | | | | |
101 |--------+------+------+------+------+------||------+------+------+------+------+--------|
102 | | | | | | || | Mute | Vol- | Vol+ | | |
103 |--------+------+------+------+------+------||------+------+------+------+------+--------|
104 | | | | | | || Stop | Prev | Play | Next | Sel | |
105 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
106 | | | | | | | | | |
107 `---------------------------' `---------------------------'
108 ,-------------.,-------------.
109 | | || | |
110 ,------|------|------||------+------+------.
111 | | | || | | |
112 | | |------||------| | |
113 | | | || | | |
114 `--------------------'`--------------------'
115
116 Keypad layer:
117 ,-------------------------------------------.,-------------------------------------------.
118 | Power | | | | | || | NmLk | KP = | KP / | KP * | |
119 |--------+------+------+------+------+------||------+------+------+------+------+--------|
120 | Sleep | | | | | || | KP 7 | KP 8 | KP 9 | KP - | |
121 |--------+------+------+------+------+------||------+------+------+------+------+--------|
122 | Wake | |QWERTY|Colemk|Dvorak| || | KP 4 | KP 5 | KP 6 | KP + | |
123 |--------+------+------+------+------+------||------+------+------+------+------+--------|
124 | | | | | | || | KP 1 | KP 2 | KP 3 |KP Ent| |
125 `--------+------+------+------+------+------'`------+------+------+------+------+--------'
126 | | | | | | | | KP . |KP Ent| |
127 `---------------------------' `----------------------------------'
128 ,-------------.,-------------.
129 | | || | |
130 ,------|------|------||------+------+------.
131 | | | || | | |
132 | | |------||------| | KP 0 |
133 | | | || | | |
134 `--------------------'`--------------------'
135*/
136
137const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
138
139[_DV] = KEYMAP(
140 // Left Hand
141 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
142 KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5,
143 KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y,
144 KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I,
145 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X,
146 KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
147 // Left Thumb
148 CTL_T(KC_ESC), KC_LALT,
149 KC_HOME,
150 KC_BSPC, LT(_MD, KC_DEL), KC_END,
151
152 // Right Hand
153 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
154 KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC,
155 KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS,
156 KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
157 KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
158 KC_UP, KC_DOWN, KC_SLSH, KC_EQL,
159 // Right Thumb
160 KC_RGUI, CTL_T(KC_ESC),
161 KC_PGUP,
162 KC_PGDN, LT(_KP, KC_ENT), KC_SPC
163 ),
164
165[_QW] = KEYMAP(
166 // Left Hand
167 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
168 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
169 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
170 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
171 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
172 KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
173 // Left Thumb
174 CTL_T(KC_ESC), KC_LALT,
175 KC_HOME,
176 KC_BSPC, LT(_MD, KC_DEL), KC_END,
177
178 // Right Hand
179 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
180 KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
181 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL ,
182 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
183 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
184 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
185 // Right Thumb
186 KC_RGUI, CTL_T(KC_ESC),
187 KC_PGUP,
188 KC_PGDN, LT(_KP, KC_ENT), KC_SPC
189 ),
190
191[_CM] = KEYMAP(
192 // Left Hand
193 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
194 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
195 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G,
196 KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
197 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
198 KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
199 // Left Thumb
200 CTL_T(KC_ESC), KC_LALT,
201 KC_HOME,
202 KC_BSPC, LT(_MD, KC_DEL), KC_END,
203
204 // Right Hand
205 KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
206 KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
207 KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
208 KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
209 KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
210 KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
211 // Right Thumb
212 KC_RGUI, CTL_T(KC_ESC),
213 KC_PGUP,
214 KC_PGDN, LT(_KP, KC_ENT), KC_SPC
215 ),
216
217[_MD] = KEYMAP(
218 // Left Hand
219 _______, _______, _______, _______, _______, _______, _______, _______, _______,
220 KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
221 _______, _______, _______, _______, _______, _______,
222 _______, _______, _______, _______, _______, _______,
223 _______, _______, _______, _______, _______, _______,
224 _______, _______, _______, _______,
225 // Left Thumb
226 _______, _______,
227 _______,
228 _______, _______, _______,
229
230 // Right Hand
231 _______, _______, _______, _______, _______, _______, _______, _______, _______,
232 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
233 _______, _______, _______, _______, _______, _______,
234 _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
235 KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSEL, _______,
236 _______, _______, _______, _______,
237 // Right Thumb
238 _______, _______,
239 _______,
240 _______, _______, _______
241 ),
242
243[_KP] = KEYMAP(
244 // Left Hand
245 _______, _______, _______, _______, _______, _______, _______, _______, _______,
246 KC_PWR, _______, _______, _______, _______, _______,
247 KC_SLEP, _______, _______, _______, _______, _______,
248 KC_WAKE, _______, QWERTY, COLEMAK, DVORAK, _______,
249 _______, _______, _______, _______, _______, _______,
250 _______, _______, _______, _______,
251 // Left Thumb
252 _______, _______,
253 _______,
254 _______, _______, _______,
255
256 // Right Hand */
257 _______, _______, _______, _______, _______, _______, _______, _______, _______,
258 _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______,
259 _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
260 _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
261 _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
262 _______, _______, KC_PDOT, KC_PENT,
263 // Right Thumb
264 _______, _______,
265 _______,
266 _______, _______, KC_P0
267 )
268
269};
270
271
272const uint16_t PROGMEM fn_actions[] = {
273
274};
275
276void persistant_default_layer_set(uint16_t default_layer) {
277 eeconfig_update_default_layer(default_layer);
278 default_layer_set(default_layer);
279}
280
281const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
282{
283 switch(id) {
284 case _DV:
285 if (record->event.pressed) {
286 persistant_default_layer_set(1UL<<_DV);
287 }
288 break;
289 case _QW:
290 if (record->event.pressed) {
291 persistant_default_layer_set(1UL<<_QW);
292 }
293 break;
294 case _CM:
295 if (record->event.pressed) {
296 persistant_default_layer_set(1UL<<_CM);
297 }
298 break;
299 }
300 return MACRO_NONE;
301};
302
303// Runs just one time when the keyboard initializes.
304void matrix_init_user(void) {
305
306};
307
308// Runs constantly in the background, in a loop.
309void matrix_scan_user(void) {
310
311};
diff --git a/keyboards/kinesis/keymaps/xyverz/readme.md b/keyboards/kinesis/keymaps/xyverz/readme.md
new file mode 100644
index 000000000..11aedec54
--- /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 |Ctr/ESC| LAlt || RGUI |Ctr/ESC|
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 |Ctr/ESC| LAlt || RGUI |Ctr/ESC|
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 |Ctr/ESC| LAlt || RGUI |Ctr/ESC|
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..87808a97a
--- /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..d52eb40ae
--- /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 * | | Reset| | | | | | | | | | Del |
126 * |------+------+------+------+------+-------------+------+------+------+------+------|
127 * | | | |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/keymap.c b/keyboards/planck/keymaps/xyverz/keymap.c
index 192933b18..94ace2af5 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 * | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right |
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 * | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right |
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
diff --git a/keyboards/preonic/keymaps/xyverz/Makefile b/keyboards/preonic/keymaps/xyverz/Makefile
new file mode 100644
index 000000000..ea5f6c164
--- /dev/null
+++ b/keyboards/preonic/keymaps/xyverz/Makefile
@@ -0,0 +1,23 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
6MOUSEKEY_ENABLE = no # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
9COMMAND_ENABLE = no # 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 = yes # 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 = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
17
18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
20
21ifndef QUANTUM_DIR
22 include ../../../../Makefile
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};