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
# 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 <http://www.gnu.org/licenses/>.
// │ 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
// ┌─────────────────────────────────────────────────┐

View file

@ -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

View file

@ -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

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_MUST_TAP_PER_COMBO
//#define COMBO_MUST_TAP_PER_COMBO
#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
//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)

View file

@ -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

View file

@ -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;

View file

@ -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)
};

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 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!
};

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
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 \

View file

@ -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