mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-05-20 14:25:28 -04:00
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:
parent
aace26eec5
commit
aaa2269240
5 changed files with 62 additions and 63 deletions
|
@ -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!
|
||||
|
||||
};
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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_____________
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue