Klor Fix, Userspace Adds, Keymap tweaks

- Updated Klor config for updated haptic defines
- Music mode is now off for good
- Added userspace config for haptics and audio
- Went back to numpad 0 on the thumbs
- Added haptic and audio keys on the config layer
- removed all combos except drag scroll
- Updated and added overrides for haptics/audio/Mousekeys
This commit is contained in:
Victor 2024-05-24 00:13:24 -05:00
parent f07b0203d0
commit a1764f59ac
Failed to generate hash of commit
15 changed files with 188 additions and 75 deletions

View file

@ -38,8 +38,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
# define KLOR_SOUND W__NOTE(_DS0), W__NOTE(_DS1), H__NOTE(_DS2), H__NOTE(_DS3), Q__NOTE(_DS4), Q__NOTE(_DS5), E__NOTE(_DS6), E__NOTE(_DS7), S__NOTE(_DS8), Q__NOTE(_GS0) # define KLOR_SOUND W__NOTE(_DS0), W__NOTE(_DS1), H__NOTE(_DS2), H__NOTE(_DS3), Q__NOTE(_DS4), Q__NOTE(_DS5), E__NOTE(_DS6), E__NOTE(_DS7), S__NOTE(_DS8), Q__NOTE(_GS0)
# define STARTUP_SONG SONG(KLOR_SOUND)
# define BYE_SOUND H__NOTE(_DS4), H__NOTE(_DS3), W__NOTE(_DS1) # define BYE_SOUND H__NOTE(_DS4), H__NOTE(_DS3), W__NOTE(_DS1)
# define STARTUP_SONG SONG(KLOR_SOUND)
# define GOODBYE_SONG SONG(BYE_SOUND) # define GOODBYE_SONG SONG(BYE_SOUND)
# define DEFAULT_LAYER_SONGS \ # define DEFAULT_LAYER_SONGS \
{ SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND) } { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND) }
@ -49,15 +50,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// │ h a p t i c f e e d b a c k │ // │ h a p t i c f e e d b a c k │
// └─────────────────────────────────────────────────┘ // └─────────────────────────────────────────────────┘
#ifdef HAPTIC_ENABLE #if defined(HAPTIC_ENABLE) && defined(HAPTIC_DRV2605L)
# define FB_ERM_LRA 1 # define DRV2605L_FB_ERM_LRA 1
# define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 # define DRV2605L_FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7
# define FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 # define DRV2605L_FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3
# define RATED_VOLTAGE 2 # define DRV2605L_RATED_VOLTAGE 2
# define V_PEAK 2.8 # define DRV2605L_V_PEAK 2.8
# define V_RMS 2.0 # define DRV2605L_V_RMS 2.0
# define F_LRA 150 // resonance freq # define DRV2605L_F_LRA 150 // resonance freq
# define DRV_GREETING alert_750ms # define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100
#endif #endif
// ┌─────────────────────────────────────────────────┐ // ┌─────────────────────────────────────────────────┐

View file

@ -5,7 +5,6 @@
# keyboards\klor\rules.mk # keyboards\klor\rules.mk
# keyboards\klor\2040\rules.mk # keyboards\klor\2040\rules.mk
AUDIO_ENABLE = yes AUDIO_ENABLE = yes
MUSIC_ENABLE = yes
HAPTIC_ENABLE = yes HAPTIC_ENABLE = yes
RGB_MATRIX_ENABLE = yes RGB_MATRIX_ENABLE = yes

View file

@ -52,4 +52,12 @@
#if defined(OLED_ENABLE) #if defined(OLED_ENABLE)
# include "config/oled_config.h" # include "config/oled_config.h"
#endif
#if defined(HAPTIC_ENABLE)
# include "config/haptic_config.h"
#endif
#if defined(AUDIO_ENABLE)
# include "config/audio_config.h"
#endif #endif

View file

@ -0,0 +1,30 @@
#pragma once
/* Audio
*
* https://docs.qmk.fm/#/feature_audio
* https://docs.qmk.fm/#/squeezing_avr?id=audio-settings
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef NO_MUSIC_MODE
#undef AUDIO_CLICKY
#undef STARTUP_SONG
#undef GOODBYE_SONG
#undef DEFAULT_LAYER_SONGS
#undef KLOR_SOUND
//Set common configuration for all keyboards
#define KLOR_SOUND W__NOTE(_DS0), W__NOTE(_DS1), H__NOTE(_DS2), H__NOTE(_DS3), Q__NOTE(_DS4), Q__NOTE(_DS5), E__NOTE(_DS6), E__NOTE(_DS7), S__NOTE(_DS8), Q__NOTE(_GS0)
#define BYE_SOUND H__NOTE(_DS4), H__NOTE(_DS3), W__NOTE(_DS1)
#define NO_MUSIC_MODE
#define AUDIO_CLICKY
#define STARTUP_SONG SONG(KLOR_SOUND)
#define GOODBYE_SONG SONG(BYE_SOUND)
#define DEFAULT_LAYER_SONGS \
{ SONG(QWERTY_SOUND) \
,SONG(COLEMAK_SOUND) \
,SONG(GUITAR_SOUND) \
}

View file

@ -22,5 +22,5 @@
#define COMBO_TERM 35 #define COMBO_TERM 35
#define COMBO_MUST_TAP_PER_COMBO //#define COMBO_MUST_TAP_PER_COMBO
#define COMBO_SHOULD_TRIGGER #define COMBO_SHOULD_TRIGGER

View file

@ -0,0 +1,17 @@
#pragma once
/* Haptic Feedback
*
* https://docs.qmk.fm/#/feature_haptic_feedback
*
*/
#if defined(HAPTIC_DRV2605L)
//Clear variables we plan to use that might be set elsewhere
# undef DRV2605L_GREETING
# undef DRV2605L_DEFAULT_MODE
//Set common configuration for all keyboards
# define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100
# define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_STRONG_CLICK_1_100
#endif //HAPTIC_DRV2605L

View file

@ -139,7 +139,10 @@
#define RGB_MATRIX_DEFAULT_SPD 32 #define RGB_MATRIX_DEFAULT_SPD 32
//Set per keyboard configuration //Set per keyboard configuration
#if defined(KEYBOARD_bastardkb_charybdis_3x5) || defined(KEYBOARD_dztech_dz60rgb_v2_1) || defined(KEYBOARD_bluebell_swoop) #if defined(KEYBOARD_bastardkb_charybdis_3x5) \
|| defined(KEYBOARD_dztech_dz60rgb_v2_1) \
|| defined(KEYBOARD_bluebell_swoop) \
|| defined(KEYBOARD_klor_2040)
# define ENABLE_RGB_MATRIX_BREATHING # define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
@ -165,7 +168,7 @@
# define ENABLE_RGB_MATRIX_BREATHING # define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING
#endif //defined(KEYBOARD_bastardkb_charybdis_3x5) || defined(KEYBOARD_dztech_dz60rgb_v2_1) #endif //KEYBOARD_bastardkb_charybdis_3x5...
//heatmap specific settings //heatmap specific settings
#if defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP) #if defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP)

View file

@ -27,6 +27,7 @@
#define WAIT_DELAY 5 //custom variable to configure time between taps #define WAIT_DELAY 5 //custom variable to configure time between taps
#define TAPPING_TERM 175 #define TAPPING_TERM 175
#define TAPPING_TERM_PER_KEY
#define QUICK_TAP_TERM 120 #define QUICK_TAP_TERM 120

View file

@ -1,18 +1,18 @@
#include "combo.h" #include "combo.h"
/*
bool get_combo_must_tap(uint16_t index, combo_t *combo) { bool get_combo_must_tap(uint16_t index, combo_t *combo) {
switch (index) { switch (index) {
#if defined(MOUSEKEY_ENABLE) // case MOUSE_BUTTON3:
case MOUSE_BUTTON3: // case MOUSE_BUTTON4:
case MOUSE_BUTTON4: // case MOUSE_BUTTON5:
case MOUSE_BUTTON5: // case MOUSE_DRGTOG:
case MOUSE_DRGTOG:
#endif //MOUSEKEY_ENABLEdf
case KEY_ENT: case KEY_ENT:
case KEY_TAB: // case KEY_TAB:
return true; return true;
default: default:
@ -20,7 +20,7 @@ bool get_combo_must_tap(uint16_t index, combo_t *combo) {
} }
} } */
bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) { bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
@ -29,11 +29,13 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode
switch (combo_index) { switch (combo_index) {
case MOUSE_BUTTON1:
case MOUSE_BUTTON2: // case MOUSE_BUTTON1:
case MOUSE_BUTTON3: // case MOUSE_BUTTON2:
case MOUSE_BUTTON4: // case MOUSE_BUTTON3:
case MOUSE_BUTTON5: // case MOUSE_BUTTON4:
// case MOUSE_BUTTON5:
case MOUSE_DRGTOG: case MOUSE_DRGTOG:
if ( get_highest_layer(layer_state | default_layer_state) > _DEFAULT_LAYER_1 ) return false; if ( get_highest_layer(layer_state | default_layer_state) > _DEFAULT_LAYER_1 ) return false;

View file

@ -2,39 +2,32 @@
#include "t4corun.h" #include "t4corun.h"
//const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END };
#if defined(MOUSEKEY_ENABLE) //const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END };
const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END }; //const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, KC_G, COMBO_END };
const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END }; //const uint16_t PROGMEM mou_btn4_combo[] = { KC_F, KC_R, COMBO_END };
const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, KC_G, COMBO_END }; //const uint16_t PROGMEM mou_btn5_combo[] = { KC_T, KC_G, COMBO_END };
const uint16_t PROGMEM mou_btn4_combo[] = { KC_F, KC_R, COMBO_END };
const uint16_t PROGMEM mou_btn5_combo[] = { KC_T, KC_G, COMBO_END };
const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_C, COMBO_END }; const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_C, COMBO_END };
#endif //MOUSEKEY_ENABLE
const uint16_t PROGMEM key_ent_combo[] = { KC_C, KC_V, COMBO_END };
const uint16_t PROGMEM key_tab_combo[] = { KC_U, KC_I, COMBO_END }; //const uint16_t PROGMEM key_ent_combo[] = { KC_C, KC_V, COMBO_END };
const uint16_t PROGMEM key_bspc_combo[] = { KC_M, TR_COMM, COMBO_END }; //const uint16_t PROGMEM key_tab_combo[] = { KC_U, KC_I, COMBO_END };
//const uint16_t PROGMEM key_bspc_combo[] = { KC_M, TR_COMM, COMBO_END };
enum combos { enum combos {
// MOUSE_BUTTON1,
#if defined(MOUSEKEY_ENABLE) // MOUSE_BUTTON2,
MOUSE_BUTTON1, // MOUSE_BUTTON3,
MOUSE_BUTTON2, // MOUSE_BUTTON4,
MOUSE_BUTTON3, // MOUSE_BUTTON5,
MOUSE_BUTTON4,
MOUSE_BUTTON5,
MOUSE_DRGTOG, MOUSE_DRGTOG,
#endif //MOUSEKEY_ENABLE
KEY_ENT,
KEY_TAB,
KEY_BSPC,
// KEY_ENT,
// KEY_TAB,
// KEY_BSPC,
COMBO_LENGTH COMBO_LENGTH
}; };
@ -43,18 +36,15 @@ uint16_t COMBO_LEN = COMBO_LENGTH;
combo_t key_combos[COMBO_LENGTH] = { combo_t key_combos[COMBO_LENGTH] = {
// [MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1),
// [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2),
// [MOUSE_BUTTON3] = COMBO(mou_btn3_combo, KC_BTN3),
// [MOUSE_BUTTON4] = COMBO(mou_btn4_combo, KC_BTN4),
// [MOUSE_BUTTON5] = COMBO(mou_btn5_combo, KC_BTN5),
[MOUSE_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS)
#if defined(MOUSEKEY_ENABLE) // [KEY_ENT] = COMBO(key_ent_combo, KC_ENT),
[MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1), // [KEY_TAB] = COMBO(key_tab_combo, KC_TAB),
[MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2), // [KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC)
[MOUSE_BUTTON3] = COMBO(mou_btn3_combo, KC_BTN3),
[MOUSE_BUTTON4] = COMBO(mou_btn4_combo, KC_BTN4),
[MOUSE_BUTTON5] = COMBO(mou_btn5_combo, KC_BTN5),
[MOUSE_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS),
#endif //MOUSEKEY_ENABLE
[KEY_ENT] = COMBO(key_ent_combo, KC_ENT),
[KEY_TAB] = COMBO(key_tab_combo, KC_TAB),
[KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC)
}; };

View file

@ -29,10 +29,17 @@ const key_override_t f10_override = ko_make_with_layers(MOD_MASK_CSA, K
const key_override_t f11_override = ko_make_with_layers(MOD_MASK_CSA, KC_DOT, KC_F11, 1<<_NUMBER); const key_override_t f11_override = ko_make_with_layers(MOD_MASK_CSA, KC_DOT, KC_F11, 1<<_NUMBER);
const key_override_t f12_override = ko_make_with_layers(MOD_MASK_CSA, KC_MINS, KC_F12, 1<<_NUMBER); const key_override_t f12_override = ko_make_with_layers(MOD_MASK_CSA, KC_MINS, KC_F12, 1<<_NUMBER);
const key_override_t mb1_override = ko_make_with_layers(MOD_MASK_CTRL, KC_BTN1, KC_PSCR, 1<<_NUMBER); const key_override_t mb2_override = ko_make_with_layers(MOD_MASK_CTRL, KC_BTN2, KC_BTN4, 1<<_NUMBER);
const key_override_t mb2_override = ko_make_with_layers(MOD_MASK_ALT, KC_BTN2, SC_FILE, 1<<_NUMBER); const key_override_t mb3_override = ko_make_with_layers(MOD_MASK_ALT, KC_BTN3, KC_BTN5, 1<<_NUMBER);
#if defined(HAPTIC_ENABLE)
const key_override_t hfnext_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HNXT, HF_PREV, 1<<_CONFIG);
const key_override_t hfconu_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HCNU, HF_COND, 1<<_CONFIG);
#endif //HAPTIC_ENABLE
#if defined(AUDIO_ENABLE)
const key_override_t ckup_override = ko_make_with_layers(MOD_MASK_SHIFT, CK_UP, CK_DOWN, 1<<_CONFIG);
#endif //AUDIO_ENABLE
const key_override_t **key_overrides = (const key_override_t *[]) { const key_override_t **key_overrides = (const key_override_t *[]) {
@ -50,8 +57,18 @@ const key_override_t **key_overrides = (const key_override_t *[]) {
&f10_override, &f10_override,
&f11_override, &f11_override,
&f12_override, &f12_override,
&mb1_override,
&mb2_override, &mb2_override,
&mb3_override,
#if defined(HAPTIC_ENABLE)
&hfnext_override,
&hfconu_override,
#endif //HAPTIC_ENABLE
#if defined(AUDIO_ENABLE)
&ckup_override,
#endif //AUDIO_ENABLE
NULL // Null terminate the array of overrides! NULL // Null terminate the array of overrides!
}; };

View file

@ -0,0 +1,11 @@
#include tapping.h
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case NAV:
return TAPPING_TERM - 40;
default:
return TAPPING_TERM;
}
}

View file

@ -0,0 +1,2 @@
#pragma once
#include "t4corun.h"

View file

@ -25,20 +25,23 @@ POINTING_DEVICE_ENABLE ?= no
OLED_ENABLE ?= no OLED_ENABLE ?= no
ENCODER_ENABLE ?= no ENCODER_ENABLE ?= no
ENCODER_MAP_ENABLE ?= no ENCODER_MAP_ENABLE ?= no
HAPTIC_ENABLE ?= no
AUDIO_ENABLE ?= no
# qmk features we will force # qmk features we will force
EXTRAKEY_ENABLE = yes EXTRAKEY_ENABLE = yes
AUDIO_ENABLE = no
CAPS_WORD_ENABLE = yes CAPS_WORD_ENABLE = yes
MOUSEKEY_ENABLE = yes MOUSEKEY_ENABLE = yes
COMBO_ENABLE = yes COMBO_ENABLE = yes
KEY_OVERRIDE_ENABLE = yes KEY_OVERRIDE_ENABLE = yes
MUSIC_MODE = no
# --------------------------------------------------------- # ---------------------------------------------------------
# include my code that will be common across all my keyboards # include my code that will be common across all my keyboards
SRC += \ SRC += \
t4corun.c \ t4corun.c \
features/tapping.c \
features/taphold.c \ features/taphold.c \
features/capsword.c \ features/capsword.c \
features/keyoverride.c \ features/keyoverride.c \

View file

@ -47,7 +47,7 @@ enum keycodes {
#define ___x___ KC_NO #define ___x___ KC_NO
// momentary layer // momentary layer
#define NAV MO(_NAVIGATION) #define NAV LT(_NAVIGATION, KC_0)
#define NUM MO(_NUMBER) #define NUM MO(_NUMBER)
#define CONFIG MO(_CONFIG) #define CONFIG MO(_CONFIG)
@ -152,6 +152,36 @@ enum keycodes {
#endif //RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE #endif //RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE
#if defined(HAPTIC_ENABLE)
# define TR_HTOG HF_TOGG
# define TR_HFBK HF_FDBK
# define TR_HNXT HF_NEXT
# define TR_HCNU HF_CONU
# define TR_HRST HF_RST
#else
# define TR_HTOG ___x___
# define TR_HFBK ___x___
# define TR_HNXT ___x___
# define TR_HCNU ___x___
# define TR_HRST ___x___
#endif //HAPTIC_ENABLe
#if defined(AUDIO_ENABLE)
# define TR_ATOG AU_TOGG
# define TR_CTOG CK_TOGG
# define TR_CKUP CK_UP
# define TR_CRST CK_RST
#else
# define TR_ATOG ___x___
# define TR_CTOG ___x___
# define TR_CKUP ___x___
# define TR_CRST ___x___
#endif //AUDIO_ENABLE
#define _DEFAULT_LAYER_1 FIRST_DEFAULT_LAYER #define _DEFAULT_LAYER_1 FIRST_DEFAULT_LAYER
#define _DEFAULT_LAYER_2 (FIRST_DEFAULT_LAYER + 1) #define _DEFAULT_LAYER_2 (FIRST_DEFAULT_LAYER + 1)
#define _DEFAULT_LAYER_3 (FIRST_DEFAULT_LAYER + 2) #define _DEFAULT_LAYER_3 (FIRST_DEFAULT_LAYER + 2)
@ -192,15 +222,15 @@ enum keycodes {
#define LAYER_NAVIGATION \ #define LAYER_NAVIGATION \
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, ___x___, ___x___, ___x___, CONFIG, \ KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, KC_APP, SC_FILE, SC_SNIP, CONFIG, \
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \ ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
_UCCPR_L___________________________________, ___x___, KC_APP, TR_SNIP, TR_SDPI, TR_PDPI, \ _UCCPR_L___________________________________, ___x___, KC_TAB, TR_SNIP, TR_SDPI, TR_PDPI, \
ZOOMRST, NUM, KC_ENT, _LAYER_TRANS_____________ ZOOMRST, NUM, KC_ENT, _LAYER_TRANS_____________
#define LAYER_NUMBER \ #define LAYER_NUMBER \
KC_ESC, KC_BTN3, KC_BTN2, KC_BTN1, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \ KC_ESC, KC_BTN3, KC_BTN2, KC_BTN1, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
_GACS_MODS________________________, TR_SCLN, KC_0, KC_4, KC_5, KC_6, KC_DOT, \ _GACS_MODS________________________, TR_SCLN, KC_BSPC, KC_4, KC_5, KC_6, KC_DOT, \
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \ _UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \
_LAYER_TRANS_____________, _BASE_R4_________________ _LAYER_TRANS_____________, _BASE_R4_________________
@ -213,8 +243,7 @@ enum keycodes {
#define LAYER_CONFIG \ #define LAYER_CONFIG \
_NONE_5____________________________________, ___x___, ___x___, EE_CLR, QK_BOOT, _______, \ TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, ___x___, EE_CLR, QK_BOOT, _______, \
_NONE_5____________________________________, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \ TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \
KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, TR_RTOG, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \ KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, TR_RTOG, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
BASELYR, TR_DMR1, TR_DMP1, ___x___, ___x___, TR_RTOG BASELYR, TR_DMR1, TR_DMP1, ___x___, ___x___, TR_RTOG