Reverting back to tap holds

- per documentation I felt the gains were not worth having to press
shift to get those alt keycodes.
- on symbol layer split side, there were alot of same finger bigrams
This commit is contained in:
Victor 2024-05-07 23:51:38 -05:00
parent aace26eec5
commit aaa2269240
Failed to generate hash of commit
5 changed files with 62 additions and 63 deletions

View file

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

View file

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

View file

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

View file

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

View file

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