diff --git a/users/t4corun/features/keyoverride.c b/users/t4corun/features/keyoverride.c index 8e5fd858..50874a55 100644 --- a/users/t4corun/features/keyoverride.c +++ b/users/t4corun/features/keyoverride.c @@ -1,25 +1,24 @@ #include "keyoverride.h" -//https://docs.qmk.fm/#/feature_key_overrides?id=simple-example +/* +Key Override + Here we will override some shifted versions of keys + https://docs.qmk.fm/#/feature_key_overrides?id=simple-example + +Intentionally did not convert all the override/autoshit tap holds to this format +- Here I could type faster and be able to hold to repeat the keycodes however +- I had tons of same finger bigrams doing trying to get ~ and : +- I didn't feel the need to be able to repeat those symbols +*/ + const key_override_t delete_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL); const key_override_t media_next_override = ko_make_basic(MOD_MASK_SHIFT, KC_MNXT, KC_MPRV); -const key_override_t at_sym_override = ko_make_basic(MOD_MASK_SHIFT, KC_AT, KC_AMPR); -const key_override_t exlm_sym_override = ko_make_basic(MOD_MASK_SHIFT, KC_EXLM, KC_DLR); -const key_override_t perc_sym_override = ko_make_basic(MOD_MASK_SHIFT, KC_PERC, KC_CIRC); -const key_override_t comm_sym_override = ko_make_basic(MOD_MASK_SHIFT, KC_COMM, KC_LPRN); -const key_override_t dot_sym_override = ko_make_basic(MOD_MASK_SHIFT, KC_DOT, KC_RPRN); - const key_override_t **key_overrides = (const key_override_t *[]){ &delete_override, &media_next_override, - &at_sym_override, - &exlm_sym_override, - &perc_sym_override, - &comm_sym_override, - &dot_sym_override, NULL // Null terminate the array of overrides! }; \ No newline at end of file diff --git a/users/t4corun/features/taphold.c b/users/t4corun/features/taphold.c index ec8381af..ce74bcb6 100644 --- a/users/t4corun/features/taphold.c +++ b/users/t4corun/features/taphold.c @@ -22,15 +22,15 @@ void insert_brackets(uint16_t left, uint16_t right, uint32_t ms) { tap_code16(KC_LEFT); } -//here we can have the holds be more complex, like sending "" when you hold " +// here we can have the holds be more complex, like sending "" when you hold " bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { - //tap is record->tap.count && record->event.pressed - //hold is record->event.pressed + // tap is record->tap.count && record->event.pressed + // hold is record->event.pressed - //just saving this to handle mods - //bool isShift = ( (get_mods() & MOD_BIT(KC_LSFT)) || (get_oneshot_mods() & MOD_BIT(KC_LSFT)) ); - //isShift ? insert_brackets(LSFT(key), LSFT(altkey)) : insert_brackets(key, altkey); + // just saving this to handle mods + // bool isShift = ( (get_mods() & MOD_BIT(KC_LSFT)) || (get_oneshot_mods() & MOD_BIT(KC_LSFT)) ); + // isShift ? insert_brackets(LSFT(key), LSFT(altkey)) : insert_brackets(key, altkey); bool isHold = false; @@ -62,7 +62,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { case TR_SLSH: single_tap(TAPHOLD_SLSH, isHold); break; -/* case TR_COMM: + case TR_COMM: single_tap(TAPHOLD_COMM, isHold); break; case TR_DOT: @@ -88,7 +88,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { break; case TR_QUOT: single_tap(TAPHOLD_QUOT, isHold); - break;*/ + break; } @@ -100,7 +100,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { switch(keycode) { - //Brackets + // Brackets case TR_LCBR: insert_brackets(TAPHOLD_LCBR, WAIT_DELAY); break; @@ -118,7 +118,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { break; - //double tap + // double tap case TR_EQL: double_tap(TAPHOLD_EQL, WAIT_DELAY); break; @@ -129,8 +129,8 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { double_tap(TAPHOLD_SLSH, WAIT_DELAY); break; - //custom action -/* case TR_COMM: + // custom override without holding shift + case TR_COMM: single_tap(TAPHOLD_COMM, isHold); break; case TR_DOT: @@ -146,7 +146,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { single_tap(TAPHOLD_AT, isHold); break; - //simulates auto-shift + // simulates auto-shift case TR_MINS: single_tap(TAPHOLD_MINS, isHold); break; @@ -159,7 +159,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { case TR_QUOT: single_tap(TAPHOLD_QUOT, isHold); break; -*/ + } return false; diff --git a/users/t4corun/features/taphold.h b/users/t4corun/features/taphold.h index 4525e969..58ced043 100644 --- a/users/t4corun/features/taphold.h +++ b/users/t4corun/features/taphold.h @@ -13,29 +13,29 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode); * and easier to maintain */ -//Brackets: open and close brackets and put the cursor inside +// Brackets: open and close brackets and put the cursor inside #define TAPHOLD_LCBR KC_LCBR, KC_RCBR #define TAPHOLD_LABK KC_LABK, KC_RABK #define TAPHOLD_LBRC KC_LBRC, KC_RBRC #define TAPHOLD_LPRN KC_LPRN, KC_RPRN #define TAPHOLD_SQUO KC_QUOT, KC_QUOT -//double tap +// double tap #define TAPHOLD_EQL KC_EQL, KC_EQL #define TAPHOLD_BSLS KC_BSLS, KC_BSLS #define TAPHOLD_SLSH KC_SLSH, KC_SLSH -//Custom: things like overriding default shifted key -//#define TAPHOLD_COMM KC_COMM, KC_LPRN -//#define TAPHOLD_DOT KC_DOT, KC_RPRN -//#define TAPHOLD_PERC KC_PERC, KC_CIRC -//#define TAPHOLD_EXLM KC_EXLM, KC_DLR -//#define TAPHOLD_AT KC_AT, KC_AMPR +// Custom override without holding shift +#define TAPHOLD_COMM KC_COMM, KC_LPRN +#define TAPHOLD_DOT KC_DOT, KC_RPRN +#define TAPHOLD_PERC KC_PERC, KC_CIRC +#define TAPHOLD_EXLM KC_EXLM, KC_DLR +#define TAPHOLD_AT KC_AT, KC_AMPR -//auto shift -//#define TAPHOLD_MINS KC_MINS, KC_UNDS -//#define TAPHOLD_GRV KC_GRV, KC_TILD -//#define TAPHOLD_SCLN KC_SCLN, KC_COLN -//#define TAPHOLD_QUOT KC_QUOT, KC_DQUO +// auto shift +#define TAPHOLD_MINS KC_MINS, KC_UNDS +#define TAPHOLD_GRV KC_GRV, KC_TILD +#define TAPHOLD_SCLN KC_SCLN, KC_COLN +#define TAPHOLD_QUOT KC_QUOT, KC_DQUO diff --git a/users/t4corun/t4corun.c b/users/t4corun/t4corun.c index b4c71831..49f8b417 100644 --- a/users/t4corun/t4corun.c +++ b/users/t4corun/t4corun.c @@ -92,6 +92,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } */ + //https://docs.qmk.fm/#/mod_tap?id=changing-both-tasp-and-hold //https://getreuer.info/posts/keyboards/triggers/index.html#tap-vs.-long-press //https://www.jonashietala.se/series/t-34/ he focuses on a keymap for programming/VIM @@ -103,7 +104,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case TR_EQL: case TR_BSLS: case TR_SLSH: -/* case TR_COMM: + case TR_COMM: case TR_DOT: case TR_PERC: case TR_EXLM: @@ -111,7 +112,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case TR_MINS: case TR_GRV: case TR_SCLN: - case TR_QUOT: */ + case TR_QUOT: return process_tap_hold_key(record, keycode); } diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index 7613344f..f7bafcef 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -26,7 +26,7 @@ enum keycodes { TH_BSLS, TH_SLSH, -/* TH_COMM, + TH_COMM, TH_DOT, TH_PERC, TH_EXLM, @@ -35,7 +35,7 @@ enum keycodes { TH_MINS, TH_GRV, TH_SCLN, - TH_QUOT, */ + TH_QUOT, PN_DRGS, PN_PDPI, @@ -78,7 +78,7 @@ enum keycodes { #define TR_LGUI OSM(MOD_LGUI) -//tap hoLd. These will be intercepted and overridden. The LT will be ignored +// tap hoLd. These will be intercepted and overridden. The LT will be ignored #define TR_LCBR LT(_DEFAULT_LAYER_1, TH_LCBR) // bracket behvavior #define TR_LABK LT(_DEFAULT_LAYER_1, TH_LABK) #define TR_LBRC LT(_DEFAULT_LAYER_1, TH_LBRC) @@ -89,17 +89,16 @@ enum keycodes { #define TR_BSLS LT(_DEFAULT_LAYER_1, TH_BSLS) #define TR_SLSH LT(_DEFAULT_LAYER_1, TH_SLSH) -//#define TR_COMM LT(_DEFAULT_LAYER_1, TH_COMM) // custom behavior -//#define TR_DOT LT(_DEFAULT_LAYER_1, TH_DOT) -//#define TR_PERC LT(_DEFAULT_LAYER_1, TH_PERC) -//#define TR_EXLM LT(_DEFAULT_LAYER_1, TH_EXLM) -//#define TR_AT LT(_DEFAULT_LAYER_1, TH_AT) +#define TR_COMM LT(_DEFAULT_LAYER_1, TH_COMM) // custom behavior +#define TR_DOT LT(_DEFAULT_LAYER_1, TH_DOT) +#define TR_PERC LT(_DEFAULT_LAYER_1, TH_PERC) +#define TR_EXLM LT(_DEFAULT_LAYER_1, TH_EXLM) +#define TR_AT LT(_DEFAULT_LAYER_1, TH_AT) - // basically auto shift -//#define TR_MINS LT(_DEFAULT_LAYER_1, TH_MINS) -//#define TR_GRV LT(_DEFAULT_LAYER_1, TH_GRV) -//#define TR_SCLN LT(_DEFAULT_LAYER_1, TH_SCLN) -//#define TR_QUOT LT(_DEFAULT_LAYER_1, TH_QUOT) +#define TR_MINS LT(_DEFAULT_LAYER_1, TH_MINS) // auto shift +#define TR_GRV LT(_DEFAULT_LAYER_1, TH_GRV) +#define TR_SCLN LT(_DEFAULT_LAYER_1, TH_SCLN) +#define TR_QUOT LT(_DEFAULT_LAYER_1, TH_QUOT) #if defined(KEYBOARD_bastardkb_charybdis_3x5) @@ -164,15 +163,15 @@ enum keycodes { #define LAYER_QWERTY \ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \ - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \ - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_MINS, \ + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TR_QUOT, \ + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \ _BASE_L4_________________, _BASE_R4_________________ #define LAYER_COLEMAK_DH \ - KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, \ + KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TR_QUOT, \ KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \ - KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_MINS, \ + KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \ _BASE_L4_________________, _BASE_R4_________________ @@ -191,16 +190,16 @@ enum keycodes { #define LAYER_SYMBOL \ - KC_ESC, KC_BTN3, KC_BTN2, KC_BTN1, KC_GRV, TR_EQL, KC_HASH, TR_LABK, KC_RABK, KC_PERC, \ - _GACS_MODS________________________, KC_SCLN, KC_AT, KC_ASTR, TR_LBRC, KC_RBRC, TR_SQUO, \ - _UCCPR_L___________________________________, TR_BSLS, TR_SLSH, TR_LPRN, KC_RPRN, KC_MINS, \ - _LAYER_TRANS_____________, KC_EXLM, _______, ___x___ + KC_ESC, KC_BTN3, KC_BTN2, KC_BTN1, TR_GRV, TR_EQL, KC_HASH, TR_LABK, KC_RABK, TR_PERC, \ + _GACS_MODS________________________, TR_SCLN, TR_AT, KC_ASTR, TR_LBRC, KC_RBRC, TR_SQUO, \ + _UCCPR_L___________________________________, TR_BSLS, TR_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \ + _LAYER_TRANS_____________, TR_EXLM, _______, ___x___ #define LAYER_NUMBER \ KC_F7, KC_F5, KC_F3, KC_F1, KC_F9, KC_F8, KC_F10, KC_F2, KC_F4, KC_F6, \ KC_7, KC_5, KC_3, KC_1, KC_9, KC_8, KC_0, KC_2, KC_4, KC_6, \ - KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_F11, KC_F12, KC_COMM, KC_DOT, KC_MINS, \ + KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_F11, KC_F12, TR_COMM, TR_DOT, TR_MINS, \ _LAYER_TRANS_____________, _LAYER_TRANS_____________