From a1764f59acdf693562f8b37c41a3fae8989c1698 Mon Sep 17 00:00:00 2001 From: Victor Date: Fri, 24 May 2024 00:13:24 -0500 Subject: [PATCH] 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 --- keyboards/klor/config.h | 21 +++++---- keyboards/klor/keymaps/t4corun/rules.mk | 1 - users/t4corun/config.h | 8 ++++ users/t4corun/config/audio_config.h | 30 ++++++++++++ users/t4corun/config/combo_config.h | 2 +- users/t4corun/config/haptic_config.h | 17 +++++++ users/t4corun/config/rgbmatrix_config.h | 7 ++- users/t4corun/config/tapping_config.h | 1 + users/t4corun/features/combo.c | 28 +++++------ users/t4corun/features/combo.h | 62 +++++++++++-------------- users/t4corun/features/keyoverride.c | 23 +++++++-- users/t4corun/features/tapping.c | 11 +++++ users/t4corun/features/tapping.h | 2 + users/t4corun/rules.mk | 5 +- users/t4corun/t4corun.h | 45 ++++++++++++++---- 15 files changed, 188 insertions(+), 75 deletions(-) create mode 100644 users/t4corun/config/audio_config.h create mode 100644 users/t4corun/config/haptic_config.h create mode 100644 users/t4corun/features/tapping.c create mode 100644 users/t4corun/features/tapping.h diff --git a/keyboards/klor/config.h b/keyboards/klor/config.h index d67cf801..1d88248c 100644 --- a/keyboards/klor/config.h +++ b/keyboards/klor/config.h @@ -38,8 +38,9 @@ along with this program. If not, see . #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 STARTUP_SONG SONG(KLOR_SOUND) # 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 DEFAULT_LAYER_SONGS \ { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND) } @@ -49,15 +50,15 @@ along with this program. If not, see . // │ h a p t i c f e e d b a c k │ // └─────────────────────────────────────────────────┘ -#ifdef HAPTIC_ENABLE -# define 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 FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 -# define RATED_VOLTAGE 2 -# define V_PEAK 2.8 -# define V_RMS 2.0 -# define F_LRA 150 // resonance freq -# define DRV_GREETING alert_750ms +#if defined(HAPTIC_ENABLE) && defined(HAPTIC_DRV2605L) +# define DRV2605L_FB_ERM_LRA 1 +# define DRV2605L_FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 +# define DRV2605L_FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 +# define DRV2605L_RATED_VOLTAGE 2 +# define DRV2605L_V_PEAK 2.8 +# define DRV2605L_V_RMS 2.0 +# define DRV2605L_F_LRA 150 // resonance freq +# define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 #endif // ┌─────────────────────────────────────────────────┐ diff --git a/keyboards/klor/keymaps/t4corun/rules.mk b/keyboards/klor/keymaps/t4corun/rules.mk index 9125104c..956e11ac 100644 --- a/keyboards/klor/keymaps/t4corun/rules.mk +++ b/keyboards/klor/keymaps/t4corun/rules.mk @@ -5,7 +5,6 @@ # keyboards\klor\rules.mk # keyboards\klor\2040\rules.mk AUDIO_ENABLE = yes -MUSIC_ENABLE = yes HAPTIC_ENABLE = yes RGB_MATRIX_ENABLE = yes diff --git a/users/t4corun/config.h b/users/t4corun/config.h index 312fdd42..8cce84d5 100644 --- a/users/t4corun/config.h +++ b/users/t4corun/config.h @@ -52,4 +52,12 @@ #if defined(OLED_ENABLE) # 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 \ No newline at end of file diff --git a/users/t4corun/config/audio_config.h b/users/t4corun/config/audio_config.h new file mode 100644 index 00000000..46baa0b9 --- /dev/null +++ b/users/t4corun/config/audio_config.h @@ -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) \ + } diff --git a/users/t4corun/config/combo_config.h b/users/t4corun/config/combo_config.h index bf15c3bd..ba731e1f 100644 --- a/users/t4corun/config/combo_config.h +++ b/users/t4corun/config/combo_config.h @@ -22,5 +22,5 @@ #define COMBO_TERM 35 -#define COMBO_MUST_TAP_PER_COMBO +//#define COMBO_MUST_TAP_PER_COMBO #define COMBO_SHOULD_TRIGGER \ No newline at end of file diff --git a/users/t4corun/config/haptic_config.h b/users/t4corun/config/haptic_config.h new file mode 100644 index 00000000..bd1ef320 --- /dev/null +++ b/users/t4corun/config/haptic_config.h @@ -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 \ No newline at end of file diff --git a/users/t4corun/config/rgbmatrix_config.h b/users/t4corun/config/rgbmatrix_config.h index 5612f3e1..adddafc3 100644 --- a/users/t4corun/config/rgbmatrix_config.h +++ b/users/t4corun/config/rgbmatrix_config.h @@ -139,7 +139,10 @@ #define RGB_MATRIX_DEFAULT_SPD 32 //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_BAND_PINWHEEL_VAL @@ -165,7 +168,7 @@ # define ENABLE_RGB_MATRIX_BREATHING # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN # 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 #if defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP) diff --git a/users/t4corun/config/tapping_config.h b/users/t4corun/config/tapping_config.h index ef891794..d3215835 100644 --- a/users/t4corun/config/tapping_config.h +++ b/users/t4corun/config/tapping_config.h @@ -27,6 +27,7 @@ #define WAIT_DELAY 5 //custom variable to configure time between taps #define TAPPING_TERM 175 +#define TAPPING_TERM_PER_KEY #define QUICK_TAP_TERM 120 diff --git a/users/t4corun/features/combo.c b/users/t4corun/features/combo.c index 38d17391..2ecdffe5 100644 --- a/users/t4corun/features/combo.c +++ b/users/t4corun/features/combo.c @@ -1,18 +1,18 @@ #include "combo.h" +/* bool get_combo_must_tap(uint16_t index, combo_t *combo) { switch (index) { -#if defined(MOUSEKEY_ENABLE) - case MOUSE_BUTTON3: - case MOUSE_BUTTON4: - case MOUSE_BUTTON5: - case MOUSE_DRGTOG: -#endif //MOUSEKEY_ENABLEdf +// case MOUSE_BUTTON3: +// case MOUSE_BUTTON4: +// case MOUSE_BUTTON5: +// case MOUSE_DRGTOG: + case KEY_ENT: - case KEY_TAB: +// case KEY_TAB: return true; 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) { @@ -29,11 +29,13 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode switch (combo_index) { - case MOUSE_BUTTON1: - case MOUSE_BUTTON2: - case MOUSE_BUTTON3: - case MOUSE_BUTTON4: - case MOUSE_BUTTON5: + +// case MOUSE_BUTTON1: +// case MOUSE_BUTTON2: +// case MOUSE_BUTTON3: +// case MOUSE_BUTTON4: +// case MOUSE_BUTTON5: + case MOUSE_DRGTOG: if ( get_highest_layer(layer_state | default_layer_state) > _DEFAULT_LAYER_1 ) return false; diff --git a/users/t4corun/features/combo.h b/users/t4corun/features/combo.h index b4790cd6..4ced55b4 100644 --- a/users/t4corun/features/combo.h +++ b/users/t4corun/features/combo.h @@ -2,39 +2,32 @@ #include "t4corun.h" - -#if defined(MOUSEKEY_ENABLE) -const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END }; -const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END }; -const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, 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_btn1_combo[] = { KC_D, KC_F, COMBO_END }; +//const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END }; +//const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, 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 }; -#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_bspc_combo[] = { KC_M, TR_COMM, COMBO_END }; + +//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_bspc_combo[] = { KC_M, TR_COMM, COMBO_END }; enum combos { - -#if defined(MOUSEKEY_ENABLE) - MOUSE_BUTTON1, - MOUSE_BUTTON2, - MOUSE_BUTTON3, - MOUSE_BUTTON4, - MOUSE_BUTTON5, +// MOUSE_BUTTON1, +// MOUSE_BUTTON2, +// MOUSE_BUTTON3, +// MOUSE_BUTTON4, +// MOUSE_BUTTON5, MOUSE_DRGTOG, -#endif //MOUSEKEY_ENABLE - - KEY_ENT, - KEY_TAB, - KEY_BSPC, +// KEY_ENT, +// KEY_TAB, +// KEY_BSPC, COMBO_LENGTH - }; @@ -43,18 +36,15 @@ uint16_t COMBO_LEN = 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) - [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), -#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) +// [KEY_ENT] = COMBO(key_ent_combo, KC_ENT), +// [KEY_TAB] = COMBO(key_tab_combo, KC_TAB), +// [KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC) }; \ No newline at end of file diff --git a/users/t4corun/features/keyoverride.c b/users/t4corun/features/keyoverride.c index a21b2e28..60ea2b09 100644 --- a/users/t4corun/features/keyoverride.c +++ b/users/t4corun/features/keyoverride.c @@ -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 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_ALT, KC_BTN2, SC_FILE, 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 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 *[]) { @@ -50,8 +57,18 @@ const key_override_t **key_overrides = (const key_override_t *[]) { &f10_override, &f11_override, &f12_override, - &mb1_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! }; \ No newline at end of file diff --git a/users/t4corun/features/tapping.c b/users/t4corun/features/tapping.c new file mode 100644 index 00000000..8f74b616 --- /dev/null +++ b/users/t4corun/features/tapping.c @@ -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; + } +} \ No newline at end of file diff --git a/users/t4corun/features/tapping.h b/users/t4corun/features/tapping.h new file mode 100644 index 00000000..2a576cc3 --- /dev/null +++ b/users/t4corun/features/tapping.h @@ -0,0 +1,2 @@ +#pragma once +#include "t4corun.h" \ No newline at end of file diff --git a/users/t4corun/rules.mk b/users/t4corun/rules.mk index 8100f634..e4d9e80a 100644 --- a/users/t4corun/rules.mk +++ b/users/t4corun/rules.mk @@ -25,20 +25,23 @@ POINTING_DEVICE_ENABLE ?= no OLED_ENABLE ?= no ENCODER_ENABLE ?= no ENCODER_MAP_ENABLE ?= no +HAPTIC_ENABLE ?= no +AUDIO_ENABLE ?= no # qmk features we will force EXTRAKEY_ENABLE = yes -AUDIO_ENABLE = no CAPS_WORD_ENABLE = yes MOUSEKEY_ENABLE = yes COMBO_ENABLE = yes KEY_OVERRIDE_ENABLE = yes +MUSIC_MODE = no # --------------------------------------------------------- # include my code that will be common across all my keyboards SRC += \ t4corun.c \ + features/tapping.c \ features/taphold.c \ features/capsword.c \ features/keyoverride.c \ diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index 76ddbc44..ee85be7b 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -47,7 +47,7 @@ enum keycodes { #define ___x___ KC_NO // momentary layer -#define NAV MO(_NAVIGATION) +#define NAV LT(_NAVIGATION, KC_0) #define NUM MO(_NUMBER) #define CONFIG MO(_CONFIG) @@ -152,6 +152,36 @@ enum keycodes { #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_2 (FIRST_DEFAULT_LAYER + 1) #define _DEFAULT_LAYER_3 (FIRST_DEFAULT_LAYER + 2) @@ -192,15 +222,15 @@ enum keycodes { #define LAYER_NAVIGATION \ - KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, ___x___, ___x___, ___x___, CONFIG, \ - ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \ - _UCCPR_L___________________________________, ___x___, KC_APP, TR_SNIP, TR_SDPI, TR_PDPI, \ + 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, KC_BSPC, _SCAG_MODS________________________, \ + _UCCPR_L___________________________________, ___x___, KC_TAB, TR_SNIP, TR_SDPI, TR_PDPI, \ ZOOMRST, NUM, KC_ENT, _LAYER_TRANS_____________ #define LAYER_NUMBER \ 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, \ _LAYER_TRANS_____________, _BASE_R4_________________ @@ -213,8 +243,7 @@ enum keycodes { #define LAYER_CONFIG \ - _NONE_5____________________________________, ___x___, ___x___, EE_CLR, QK_BOOT, _______, \ - _NONE_5____________________________________, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \ + TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, ___x___, EE_CLR, QK_BOOT, _______, \ + 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, \ BASELYR, TR_DMR1, TR_DMP1, ___x___, ___x___, TR_RTOG -