aboutsummaryrefslogtreecommitdiff
path: root/users/drashna
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2018-10-15 12:34:49 -0700
committerJack Humbert <jack.humb@gmail.com>2018-10-15 15:34:49 -0400
commit31d12662bde435e6636347ee842108b1cb3d8d48 (patch)
tree05f6191b49aeadea2321966e810f160f4dec5af2 /users/drashna
parent44a348d56f661d22144202f440b87c26832a8170 (diff)
downloadqmk_firmware-31d12662bde435e6636347ee842108b1cb3d8d48.tar.gz
qmk_firmware-31d12662bde435e6636347ee842108b1cb3d8d48.zip
Update to drashna keymaps and userspace - RGB edition (#4143)
* Fix up userspace after feature merges * Add new macros for keyboard layouts * Keep new layouts in keymap for easy reference * Cleanup layouts * Fix CRKBD wrappers * Fix up comments * Fix spacing in orthodox base layer * ergodox related cleanup * Make KC_MAKE only flash when holding shift * Add option to fast compile boards * Clean up rgb modes to save space * Re-enable Swap Hands on my Iris
Diffstat (limited to 'users/drashna')
-rw-r--r--users/drashna/config.h6
-rw-r--r--users/drashna/drashna.c35
-rw-r--r--users/drashna/drashna.h120
-rw-r--r--users/drashna/rgb_stuff.c20
-rw-r--r--users/drashna/rules.mk3
-rw-r--r--users/drashna/tap_dances.c10
6 files changed, 94 insertions, 100 deletions
diff --git a/users/drashna/config.h b/users/drashna/config.h
index 3ddec93b1..4545b34ef 100644
--- a/users/drashna/config.h
+++ b/users/drashna/config.h
@@ -19,10 +19,12 @@
19 19
20#ifdef RGBLIGHT_ENABLE 20#ifdef RGBLIGHT_ENABLE
21#define RGBLIGHT_SLEEP 21#define RGBLIGHT_SLEEP
22#undef RGBLIGHT_ANIMATIONS
23#define RGBLIGHT_EFFECT_BREATHING
24#define RGBLIGHT_EFFECT_SNAKE
25#define RGBLIGHT_EFFECT_KNIGHT
22#endif // RGBLIGHT_ENABLE 26#endif // RGBLIGHT_ENABLE
23 27
24
25
26#ifndef ONESHOT_TAP_TOGGLE 28#ifndef ONESHOT_TAP_TOGGLE
27#define ONESHOT_TAP_TOGGLE 2 29#define ONESHOT_TAP_TOGGLE 2
28#endif // !ONESHOT_TAP_TOGGLE 30#endif // !ONESHOT_TAP_TOGGLE
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c
index aad9fab61..5b6620cf3 100644
--- a/users/drashna/drashna.c
+++ b/users/drashna/drashna.c
@@ -36,11 +36,11 @@ bool send_game_macro(const char *str, keyrecord_t *record, bool override) {
36 keycode = KC_ENTER; 36 keycode = KC_ENTER;
37 } 37 }
38 clear_keyboard(); 38 clear_keyboard();
39 tap(keycode); 39 tap_code(keycode);
40 wait_ms(50); 40 wait_ms(50);
41 send_string_with_delay(str, MACRO_TIMER); 41 send_string_with_delay(str, MACRO_TIMER);
42 wait_ms(50); 42 wait_ms(50);
43 tap(KC_ENTER); 43 tap_code(KC_ENTER);
44 } 44 }
45 if (override) wait_ms(3000); 45 if (override) wait_ms(3000);
46 return false; 46 return false;
@@ -127,13 +127,13 @@ uint32_t default_layer_state_set_keymap (uint32_t state) {
127__attribute__ ((weak)) 127__attribute__ ((weak))
128void led_set_keymap(uint8_t usb_led) {} 128void led_set_keymap(uint8_t usb_led) {}
129 129
130 130__attribute__ ((weak))
131void eeconfig_init_keymap(void) {}
131 132
132// Call user matrix init, set default RGB colors and then 133// Call user matrix init, set default RGB colors and then
133// call the keymap's init function 134// call the keymap's init function
134void matrix_init_user(void) { 135void matrix_init_user(void) {
135 userspace_config.raw = eeprom_read_dword(EECONFIG_USERSPACE); 136 userspace_config.raw = eeconfig_read_user();
136
137 137
138#ifdef BOOTLOADER_CATERINA 138#ifdef BOOTLOADER_CATERINA
139 DDRD &= ~(1<<5); 139 DDRD &= ~(1<<5);
@@ -250,7 +250,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
250 250
251 case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader 251 case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader
252 if (!record->event.pressed) { 252 if (!record->event.pressed) {
253 send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP 253 uint8_t temp_mod = get_mods();
254 clear_mods();
255 send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), 10);
256 if (temp_mod & MODS_SHIFT_MASK) {
257 send_string_with_delay_P(PSTR(
254#if defined(__ARM__) 258#if defined(__ARM__)
255 ":dfu-util" 259 ":dfu-util"
256#elif defined(BOOTLOADER_DFU) 260#elif defined(BOOTLOADER_DFU)
@@ -260,7 +264,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
260#elif defined(BOOTLOADER_CATERINA) 264#elif defined(BOOTLOADER_CATERINA)
261 ":avrdude" 265 ":avrdude"
262#endif // bootloader options 266#endif // bootloader options
263 SS_TAP(X_ENTER)), 10); 267 ), 10);
268 }
269 if (temp_mod & MODS_CTRL_MASK) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), 10); }
270 send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), 10);
271 set_mods(temp_mod);
264 } 272 }
265 return false; 273 return false;
266 break; 274 break;
@@ -268,8 +276,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
268 case EPRM: // Resets EEPROM 276 case EPRM: // Resets EEPROM
269 if (record->event.pressed) { 277 if (record->event.pressed) {
270 eeconfig_init(); 278 eeconfig_init();
271 default_layer_set(1UL<<eeconfig_read_default_layer());
272 layer_state_set(layer_state);
273 } 279 }
274 return false; 280 return false;
275 break; 281 break;
@@ -295,7 +301,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
295// to save on firmware space, since it's limited. 301// to save on firmware space, since it's limited.
296#ifdef MACROS_ENABLED 302#ifdef MACROS_ENABLED
297 case KC_OVERWATCH: // Toggle's if we hit "ENTER" or "BACKSPACE" to input macros 303 case KC_OVERWATCH: // Toggle's if we hit "ENTER" or "BACKSPACE" to input macros
298 if (record->event.pressed) { userspace_config.is_overwatch ^= 1; eeprom_update_dword(EECONFIG_USERSPACE, userspace_config.raw); } 304 if (record->event.pressed) { userspace_config.is_overwatch ^= 1; eeconfig_update_user(userspace_config.raw); }
299#ifdef RGBLIGHT_ENABLE 305#ifdef RGBLIGHT_ENABLE
300 userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18); 306 userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18);
301#endif //RGBLIGHT_ENABLE 307#endif //RGBLIGHT_ENABLE
@@ -344,11 +350,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
344 } else { 350 } else {
345 if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy 351 if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy
346 register_code(KC_LCTL); 352 register_code(KC_LCTL);
347 tap(KC_C); 353 tap_code(KC_C);
348 unregister_code(KC_LCTL); 354 unregister_code(KC_LCTL);
349 } else { // Tap, paste 355 } else { // Tap, paste
350 register_code(KC_LCTL); 356 register_code(KC_LCTL);
351 tap(KC_V); 357 tap_code(KC_V);
352 unregister_code(KC_LCTL); 358 unregister_code(KC_LCTL);
353 } 359 }
354 } 360 }
@@ -413,3 +419,8 @@ uint32_t default_layer_state_set_user(uint32_t state) {
413void led_set_user(uint8_t usb_led) { 419void led_set_user(uint8_t usb_led) {
414 led_set_keymap(usb_led); 420 led_set_keymap(usb_led);
415} 421}
422
423void eeconfig_init_user(void) {
424 userspace_config.raw = 0;
425 eeconfig_update_user(userspace_config.raw);
426}
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h
index 49e3fc870..7e69a9f8d 100644
--- a/users/drashna/drashna.h
+++ b/users/drashna/drashna.h
@@ -19,14 +19,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19#include "quantum.h" 19#include "quantum.h"
20#include "version.h" 20#include "version.h"
21#include "eeprom.h" 21#include "eeprom.h"
22#include "send_unicode.h"
23 22
24#ifdef RGB_MATRIX_ENABLE 23#ifdef RGB_MATRIX_ENABLE
25#include "rgb_matrix.h" 24#include "rgb_matrix.h"
26#endif 25#endif
27 26
28 27
29// Define layer names 28/* Define layer names */
30enum userspace_layers { 29enum userspace_layers {
31 _QWERTY = 0, 30 _QWERTY = 0,
32 _NUMLOCK = 0, 31 _NUMLOCK = 0,
@@ -43,28 +42,27 @@ enum userspace_layers {
43 _ADJUST, 42 _ADJUST,
44}; 43};
45 44
46//define modifiers 45/*
46define modifiers here, since MOD_* doesn't seem to work for these
47 */
47#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) 48#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
48#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL)) 49#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL))
49#define MODS_ALT_MASK (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) 50#define MODS_ALT_MASK (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
50#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)) 51#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
51 52
52 53
53// RGB color codes are no longer located here anymore. Instead, you will want to 54/*
54// head to https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h 55RGB color codes are no longer located here anymore. Instead, you will want to
55 56head to https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h
56extern bool rgb_layer_change; 57*/
57 58
58#ifdef RGBLIGHT_ENABLE 59#ifdef RGBLIGHT_ENABLE
59void rgblight_sethsv_default_helper(uint8_t index); 60void rgblight_sethsv_default_helper(uint8_t index);
60#endif // RGBLIGHT_ENABLE 61#endif // RGBLIGHT_ENABLE
61 62
62inline void tap(uint16_t keycode){ register_code(keycode); unregister_code(keycode); };
63bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed); 63bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed);
64bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer); 64bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer);
65 65
66#define EECONFIG_USERSPACE (uint32_t *)19
67
68typedef union { 66typedef union {
69 uint32_t raw; 67 uint32_t raw;
70 struct { 68 struct {
@@ -149,7 +147,7 @@ enum userspace_custom_keycodes {
149#define DL_RAIS LT(_RAISE, KC_DEL) 147#define DL_RAIS LT(_RAISE, KC_DEL)
150#define ET_RAIS LT(_RAISE, KC_ENTER) 148#define ET_RAIS LT(_RAISE, KC_ENTER)
151 149
152// OSM keycodes, to keep things clean and easy to change 150/* OSM keycodes, to keep things clean and easy to change */
153#define KC_MLSF OSM(MOD_LSFT) 151#define KC_MLSF OSM(MOD_LSFT)
154#define KC_MRSF OSM(MOD_RSFT) 152#define KC_MRSF OSM(MOD_RSFT)
155 153
@@ -178,9 +176,11 @@ enum {
178#endif // TAP_DANCE_ENABLE 176#endif // TAP_DANCE_ENABLE
179 177
180 178
181// Custom Keycodes for Diablo 3 layer 179/*
182// But since TD() doesn't work when tap dance is disabled 180Custom Keycodes for Diablo 3 layer
183// We use custom codes here, so we can substitute the right stuff 181But since TD() doesn't work when tap dance is disabled
182We use custom codes here, so we can substitute the right stuff
183*/
184#ifdef TAP_DANCE_ENABLE 184#ifdef TAP_DANCE_ENABLE
185#define KC_D3_1 TD(TD_D3_1) 185#define KC_D3_1 TD(TD_D3_1)
186#define KC_D3_2 TD(TD_D3_2) 186#define KC_D3_2 TD(TD_D3_2)
@@ -193,11 +193,11 @@ enum {
193#define KC_D3_4 KC_4 193#define KC_D3_4 KC_4
194#endif // TAP_DANCE_ENABLE 194#endif // TAP_DANCE_ENABLE
195 195
196 196/*
197 197Since our quirky block definitions are basically a list of comma separated
198// Since our quirky block definitions are basically a list of comma separated 198arguments, we need a wrapper in order for these definitions to be
199// arguments, we need a wrapper in order for these definitions to be 199expanded before being used as arguments to the LAYOUT_xxx macro.
200// expanded before being used as arguments to the LAYOUT_xxx macro. 200*/
201#if (!defined(LAYOUT) && defined(KEYMAP)) 201#if (!defined(LAYOUT) && defined(KEYMAP))
202#define LAYOUT KEYMAP 202#define LAYOUT KEYMAP
203#endif 203#endif
@@ -208,112 +208,114 @@ enum {
208#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) 208#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
209#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) 209#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
210 210
211// Blocks for each of the four major keyboard layouts 211/*
212// Organized so we can quickly adapt and modify all of them 212Blocks for each of the four major keyboard layouts
213// at once, rather than for each keyboard, one at a time. 213Organized so we can quickly adapt and modify all of them
214// And this allows for much cleaner blocks in the keymaps. 214at once, rather than for each keyboard, one at a time.
215// For instance Tap/Hold for Control on all of the layouts 215And this allows for much cleaner blocks in the keymaps.
216 216For instance Tap/Hold for Control on all of the layouts
217// NOTE: These are all the same length. If you do a search/replace 217
218// then you need to add/remove underscores to keep the 218NOTE: These are all the same length. If you do a search/replace
219// lengths consistent. 219 then you need to add/remove underscores to keep the
220 lengths consistent.
221*/
220 222
221#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T 223#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
222#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G 224#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
223#define _________________QWERTY_L3_________________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B 225#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
224 226
225#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P 227#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
226#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN 228#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
227#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH) 229#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH
228 230
229 231
230#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G 232#define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
231#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D 233#define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
232#define _________________COLEMAK_L3________________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B 234#define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B
233 235
234#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN 236#define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
235#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O 237#define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
236#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH) 238#define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLASH
237 239
238#define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B 240#define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B
239#define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G 241#define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G
240#define ______________COLEMAK_MOD_DH_L3____________ CTL_T(KC_Z), KC_X, KC_C, KC_D, KC_V 242#define ______________COLEMAK_MOD_DH_L3____________ KC_Z, KC_X, KC_C, KC_D, KC_V
241 243
242#define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN 244#define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
243#define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O 245#define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O
244#define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, CTL_T(KC_SLASH) 246#define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH
245 247
246 248
247#define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y 249#define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
248#define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I 250#define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I
249#define _________________DVORAK_L3_________________ CTL_T(KC_SCLN),KC_Q, KC_J, KC_K, KC_X 251#define _________________DVORAK_L3_________________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
250 252
251#define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L 253#define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L
252#define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S 254#define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S
253#define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z) 255#define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, KC_Z
254 256
255 257
256#define _________________WORKMAN_L1________________ KC_Q, KC_D, KC_R, KC_W, KC_B 258#define _________________WORKMAN_L1________________ KC_Q, KC_D, KC_R, KC_W, KC_B
257#define _________________WORKMAN_L2________________ KC_A, KC_S, KC_H, KC_T, KC_G 259#define _________________WORKMAN_L2________________ KC_A, KC_S, KC_H, KC_T, KC_G
258#define _________________WORKMAN_L3________________ CTL_T(KC_Z), KC_X, KC_M, KC_C, KC_V 260#define _________________WORKMAN_L3________________ KC_Z, KC_X, KC_M, KC_C, KC_V
259 261
260#define _________________WORKMAN_R1________________ KC_J, KC_F, KC_U, KC_P, KC_SCLN 262#define _________________WORKMAN_R1________________ KC_J, KC_F, KC_U, KC_P, KC_SCLN
261#define _________________WORKMAN_R2________________ KC_Y, KC_N, KC_E, KC_O, KC_I 263#define _________________WORKMAN_R2________________ KC_Y, KC_N, KC_E, KC_O, KC_I
262#define _________________WORKMAN_R3________________ KC_K, KC_L, KC_COMM, KC_DOT, CTL_T(KC_SLASH) 264#define _________________WORKMAN_R3________________ KC_K, KC_L, KC_COMM, KC_DOT, KC_SLASH
263 265
264 266
265#define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K 267#define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K
266#define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G 268#define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G
267#define _________________NORMAN_L3_________________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B 269#define _________________NORMAN_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
268 270
269#define _________________NORMAN_R1_________________ KC_J, KC_U, KC_R, KC_L, KC_SCLN 271#define _________________NORMAN_R1_________________ KC_J, KC_U, KC_R, KC_L, KC_SCLN
270#define _________________NORMAN_R2_________________ KC_Y, KC_N, KC_I, KC_O, KC_U 272#define _________________NORMAN_R2_________________ KC_Y, KC_N, KC_I, KC_O, KC_U
271#define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH) 273#define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, KC_SLASH
272 274
273 275
274#define _________________MALTRON_L1________________ KC_Q, KC_P, KC_Y, KC_C, KC_B 276#define _________________MALTRON_L1________________ KC_Q, KC_P, KC_Y, KC_C, KC_B
275#define _________________MALTRON_L2________________ KC_A, KC_N, KC_I, KC_S, KC_F 277#define _________________MALTRON_L2________________ KC_A, KC_N, KC_I, KC_S, KC_F
276#define _________________MALTRON_L3________________ CTL_T(KC_SCLN), KC_SLSH, KC_J KC_G, KC_COMM 278#define _________________MALTRON_L3________________ KC_SCLN, KC_SLSH, KC_J KC_G, KC_COMM
277 279
278#define _________________MALTRON_R1________________ KC_V, KC_M, KC_U, KC_Z, KC_L 280#define _________________MALTRON_R1________________ KC_V, KC_M, KC_U, KC_Z, KC_L
279#define _________________MALTRON_R2________________ KC_D, KC_T, KC_D, KC_O, KC_R 281#define _________________MALTRON_R2________________ KC_D, KC_T, KC_D, KC_O, KC_R
280#define _________________MALTRON_R3________________ KC_DOT, KC_W, KC_K, KC_MINS, CTL_T(KC_x) 282#define _________________MALTRON_R3________________ KC_DOT, KC_W, KC_K, KC_MINS, KC_X
281 283
282 284
283#define _________________EUCALYN_L1________________ KC_SLSH, KC_COMM, KC_DOT, KC_F, KC_Q 285#define _________________EUCALYN_L1________________ KC_SLSH, KC_COMM, KC_DOT, KC_F, KC_Q
284#define _________________EUCALYN_L2________________ KC_A, KC_O, KC_E, KC_I, KC_U 286#define _________________EUCALYN_L2________________ KC_A, KC_O, KC_E, KC_I, KC_U
285#define _________________EUCALYN_L3________________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_W 287#define _________________EUCALYN_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_W
286 288
287#define _________________EUCALYN_R1________________ KC_M, KC_R, KC_D, KC_Y, KC_P 289#define _________________EUCALYN_R1________________ KC_M, KC_R, KC_D, KC_Y, KC_P
288#define _________________EUCALYN_R2________________ KC_G, KC_T, KC_K, KC_S, KC_N 290#define _________________EUCALYN_R2________________ KC_G, KC_T, KC_K, KC_S, KC_N
289#define _________________EUCALYN_R3________________ KC_B, KC_H, KC_J, KC_L, CTL_T(KC_SCLN) 291#define _________________EUCALYN_R3________________ KC_B, KC_H, KC_J, KC_L, KC_SCLN
290 292
291 293
292#define _____________CARPLAX_QFMLWY_L1_____________ KC_Q, KC_F, KC_M, KC_L, KC_W 294#define _____________CARPLAX_QFMLWY_L1_____________ KC_Q, KC_F, KC_M, KC_L, KC_W
293#define _____________CARPLAX_QFMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R 295#define _____________CARPLAX_QFMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
294#define _____________CARPLAX_QFMLWY_L3_____________ CTL_T(KC_Z), KC_V, KC_G, KC_C, KC_X 296#define _____________CARPLAX_QFMLWY_L3_____________ KC_Z, KC_V, KC_G, KC_C, KC_X
295 297
296#define _____________CARPLAX_QFMLWY_R1_____________ KC_Y, KC_U, KC_O, KC_B, KC_J 298#define _____________CARPLAX_QFMLWY_R1_____________ KC_Y, KC_U, KC_O, KC_B, KC_J
297#define _____________CARPLAX_QFMLWY_R2_____________ KC_I, KC_A, KC_E, KC_H, KC_SCLN 299#define _____________CARPLAX_QFMLWY_R2_____________ KC_I, KC_A, KC_E, KC_H, KC_SCLN
298#define _____________CARPLAX_QFMLWY_R3_____________ KC_P, KC_K, KC_COMM, KC_DOT, CTL_T(KC_SLSH) 300#define _____________CARPLAX_QFMLWY_R3_____________ KC_P, KC_K, KC_COMM, KC_DOT, KC_SLSH
299 301
300 302
301#define _____________CARPLAX_QGMLWB_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W 303#define _____________CARPLAX_QGMLWB_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W
302#define _____________CARPLAX_QGMLWB_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R 304#define _____________CARPLAX_QGMLWB_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
303#define _____________CARPLAX_QGMLWB_L3_____________ CTL_T(KC_Z), KC_X, KC_C, KC_F, KC_J 305#define _____________CARPLAX_QGMLWB_L3_____________ KC_Z, KC_X, KC_C, KC_F, KC_J
304 306
305#define _____________CARPLAX_QGMLWB_R1_____________ KC_B, KC_Y, KC_U, KC_V, KC_SCLN 307#define _____________CARPLAX_QGMLWB_R1_____________ KC_B, KC_Y, KC_U, KC_V, KC_SCLN
306#define _____________CARPLAX_QGMLWB_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H 308#define _____________CARPLAX_QGMLWB_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H
307#define _____________CARPLAX_QGMLWB_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, CTL_T(KC_SLSH) 309#define _____________CARPLAX_QGMLWB_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
308 310
309 311
310#define _____________CARPLAX_QGMLWY_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W 312#define _____________CARPLAX_QGMLWY_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W
311#define _____________CARPLAX_QGMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R 313#define _____________CARPLAX_QGMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
312#define _____________CARPLAX_QGMLWY_L3_____________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_J 314#define _____________CARPLAX_QGMLWY_L3_____________ KC_Z, KC_X, KC_C, KC_V, KC_J
313 315
314#define _____________CARPLAX_QGMLWY_R1_____________ KC_Y, KC_F, KC_U, KC_B, KC_SCLN 316#define _____________CARPLAX_QGMLWY_R1_____________ KC_Y, KC_F, KC_U, KC_B, KC_SCLN
315#define _____________CARPLAX_QGMLWY_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H 317#define _____________CARPLAX_QGMLWY_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H
316#define _____________CARPLAX_QGMLWY_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, CTL_T(KC_SLSH) 318#define _____________CARPLAX_QGMLWY_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
317 319
318 320
319#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 321#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5
@@ -352,21 +354,3 @@ enum {
352#define _________________ADJUST_R2_________________ AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN 354#define _________________ADJUST_R2_________________ AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN
353#define _________________ADJUST_R3_________________ MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT 355#define _________________ADJUST_R3_________________ MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT
354 356
355
356// Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN),
357// this allows us to quickly modify the bottom row for all of the layouts
358// so we don't have to alter it 4 times and hope that we haven't missed
359// anything
360#define ___________ERGODOX_BOTTOM_LEFT_____________ OSM(MOD_MEH), OSM(MOD_LGUI), KC_LBRC, KC_RBRC
361#define ___________ERGODOX_BOTTOM_RIGHT____________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
362
363
364#define ___________ORTHODOX_THUMP_TOP_____________ ALT_APP, OS_LGUI, KC_LALT, OS_RGUI
365#define ___________________ORTHODOX_THUMB_BOTTOM____________________ LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE
366
367
368#define __________________ERGODOX_THUMB_CLUSTER_____________________ ALT_T(KC_APP), OSM(MOD_LGUI), OSM(MOD_RGUI), CTL_T(KC_ESCAPE), \
369 KC_HOME, KC_PGUP, \
370 LT(_LOWER, KC_SPACE),KC_BSPC, KC_END, KC_PGDN, KC_DEL, LT(_RAISE, KC_ENTER)
371
372
diff --git a/users/drashna/rgb_stuff.c b/users/drashna/rgb_stuff.c
index 4a1a8de69..dc6075320 100644
--- a/users/drashna/rgb_stuff.c
+++ b/users/drashna/rgb_stuff.c
@@ -230,7 +230,7 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
230 if (record->event.pressed) { 230 if (record->event.pressed) {
231 userspace_config.rgb_layer_change ^= 1; 231 userspace_config.rgb_layer_change ^= 1;
232 xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change); 232 xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
233 eeprom_update_dword(EECONFIG_USERSPACE, userspace_config.raw); 233 eeconfig_update_user(userspace_config.raw);
234 if (userspace_config.rgb_layer_change) { 234 if (userspace_config.rgb_layer_change) {
235 layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) 235 layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better)
236 } 236 }
@@ -243,7 +243,7 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
243 if (userspace_config.rgb_layer_change) { 243 if (userspace_config.rgb_layer_change) {
244 userspace_config.rgb_layer_change = false; 244 userspace_config.rgb_layer_change = false;
245 xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change); 245 xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
246 eeprom_update_dword(EECONFIG_USERSPACE, userspace_config.raw); 246 eeconfig_update_user(userspace_config.raw);
247 } 247 }
248 } 248 }
249 return true; break; 249 return true; break;
@@ -295,31 +295,31 @@ uint32_t layer_state_set_rgb(uint32_t state) {
295 switch (biton32(state)) { 295 switch (biton32(state)) {
296 case _MACROS: 296 case _MACROS:
297 rgblight_sethsv_noeeprom_orange(); 297 rgblight_sethsv_noeeprom_orange();
298 userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18); 298 userspace_config.is_overwatch ? rgblight_effect_snake(RGBLIGHT_MODE_SNAKE + 2) : rgblight_effect_snake(RGBLIGHT_MODE_SNAKE + 3);
299 break; 299 break;
300 case _MEDIA: 300 case _MEDIA:
301 rgblight_sethsv_noeeprom_chartreuse(); 301 rgblight_sethsv_noeeprom_chartreuse();
302 rgblight_mode_noeeprom(22); 302 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 1);
303 break; 303 break;
304 case _GAMEPAD: 304 case _GAMEPAD:
305 rgblight_sethsv_noeeprom_orange(); 305 rgblight_sethsv_noeeprom_orange();
306 rgblight_mode_noeeprom(17); 306 rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2);
307 break; 307 break;
308 case _DIABLO: 308 case _DIABLO:
309 rgblight_sethsv_noeeprom_red(); 309 rgblight_sethsv_noeeprom_red();
310 rgblight_mode_noeeprom(5); 310 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
311 break; 311 break;
312 case _RAISE: 312 case _RAISE:
313 rgblight_sethsv_noeeprom_yellow(); 313 rgblight_sethsv_noeeprom_yellow();
314 rgblight_mode_noeeprom(5); 314 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
315 break; 315 break;
316 case _LOWER: 316 case _LOWER:
317 rgblight_sethsv_noeeprom_green(); 317 rgblight_sethsv_noeeprom_green();
318 rgblight_mode_noeeprom(5); 318 rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
319 break; 319 break;
320 case _ADJUST: 320 case _ADJUST:
321 rgblight_sethsv_noeeprom_red(); 321 rgblight_sethsv_noeeprom_red();
322 rgblight_mode_noeeprom(23); 322 rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
323 break; 323 break;
324 default: // for any other layers, or the default layer 324 default: // for any other layers, or the default layer
325 switch (biton32(default_layer_state)) { 325 switch (biton32(default_layer_state)) {
@@ -332,7 +332,7 @@ uint32_t layer_state_set_rgb(uint32_t state) {
332 default: 332 default:
333 rgblight_sethsv_noeeprom_cyan(); break; 333 rgblight_sethsv_noeeprom_cyan(); break;
334 } 334 }
335 biton32(state) == _MODS ? rgblight_mode_noeeprom(2) : rgblight_mode_noeeprom(1); // if _MODS layer is on, then breath to denote it 335 biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it
336 break; 336 break;
337 } 337 }
338// layer_state_set_indicator(); // Runs every scan, so need to call this here .... since I can't get it working "right" anyhow 338// layer_state_set_indicator(); // Runs every scan, so need to call this here .... since I can't get it working "right" anyhow
diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk
index 3d6213eff..964c96c52 100644
--- a/users/drashna/rules.mk
+++ b/users/drashna/rules.mk
@@ -37,6 +37,3 @@ ifdef CONSOLE_ENABLE
37 endif 37 endif
38endif 38endif
39 39
40ifeq ($(strip $(UNICODE_ENABLE)), yes)
41 SRC += send_unicode.c
42endif
diff --git a/users/drashna/tap_dances.c b/users/drashna/tap_dances.c
index c9e4b1d0f..346675853 100644
--- a/users/drashna/tap_dances.c
+++ b/users/drashna/tap_dances.c
@@ -38,16 +38,16 @@ qk_tap_dance_action_t tap_dance_actions[] = {
38 38
39// Sends the key press to system, but only if on the Diablo layer 39// Sends the key press to system, but only if on the Diablo layer
40void send_diablo_keystroke(uint8_t diablo_key) { 40void send_diablo_keystroke(uint8_t diablo_key) {
41 if (biton32(layer_state) == _DIABLO) { 41 if (IS_LAYER_ON(_DIABLO)) {
42 switch (diablo_key) { 42 switch (diablo_key) {
43 case 0: 43 case 0:
44 tap(KC_1); break; 44 tap_code(KC_1); break;
45 case 1: 45 case 1:
46 tap(KC_2); break; 46 tap_code(KC_2); break;
47 case 2: 47 case 2:
48 tap(KC_3); break; 48 tap_code(KC_3); break;
49 case 3: 49 case 3:
50 tap(KC_4); break; 50 tap_code(KC_4); break;
51 } 51 }
52 } 52 }
53} 53}