Trying to simplify the taphold code

- only on semicolon
- removed the TR LT define and only doing TH
This commit is contained in:
Victor 2024-04-21 08:21:20 -05:00
parent 49f130585f
commit 052b2795a2
Failed to generate hash of commit
4 changed files with 68 additions and 10 deletions

View file

@ -76,7 +76,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) {
key = KC_GRV;
altkey = KC_TILDE;
break;
case TR_SCLN: //tap for semicolon, hold for colon
case TH_SCLN: //tap for semicolon, hold for colon
key = KC_SCLN;
altkey = KC_COLN;
break;
@ -116,7 +116,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) {
case TR_EQL:
case TR_MINS:
case TR_GRV:
case TR_SCLN:
case TH_SCLN:
case TR_QUOT:
tap_code16(altkey);
break;

View file

@ -3,4 +3,37 @@
void insert_brackets(uint16_t left, uint16_t right);
void double_tap(uint16_t keycode, uint32_t ms);
bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode);
bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode);
/* the first element is the key
* the second is altkey
* for the most part it will be tap for key, hold for alt key
*
* I was doing a switch statement to assign these each time, but this is faster
* and easier to maintain
*/
/*
//Brackets: open and close brackets and put the cursor inside
static const uint16_t TR_LCBR_taphold[] = { KC_LCBR, KC_RCBR };
static const uint16_t TR_LABK_taphold[] = { KC_LABK, KC_RABK };
static const uint16_t TR_LBRC_taphold[] = { KC_LBRC, KC_RBRC };
static const uint16_t TR_SQUO_taphold[] = { KC_QUOT, KC_QUOT };
static const uint16_t TR_DQUO_taphold[] = { KC_DQUO, KC_DQUO };
//double tap
static const uint16_t TR_EQL_taphold[] = { KC_EQL, KC_EQL };
static const uint16_t TR_PLUS_taphold[] = { KC_PLUS, KC_PLUS };
static const uint16_t TR_PIPE_taphold[] = { KC_PIPE, KC_PIPE };
//Custom: things like overriding default shifted key
static const uint16_t TR_LPRN_taphold[] = { KC_LPRN, KC_LPRN };
static const uint16_t TR_COMM_taphold[] = { KC_COMM, KC_LPRN };
static const uint16_t TR_DOT_taphold[] = { KC_DOT, KC_RPRN };
static const uint16_t TR_PERC_taphold[] = { KC_PERC, KC_CIRC };
//Faux auto shift
static const uint16_t TR_MINS_taphold[] = { KC_MINS, KC_UNDS };
static const uint16_t TR_GRV_taphold[] = { KC_GRV, KC_TILDE };
static const uint16_t TR_SCLN_taphold[] = { KC_SCLN, KC_COLN };
static const uint16_t TR_QUOT_taphold[] = { KC_QUOT, KC_DQUO };
*/

View file

@ -47,7 +47,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case TR_EQL:
case TR_MINS:
case TR_GRV:
case TR_SCLN:
case TH_SCLN:
case TR_QUOT:
return process_tap_hold_key(record, keycode);

View file

@ -90,7 +90,7 @@ enum keycodes {
#define TR_EQL LT(_DEFAULT_LAYER_1, TH_EQL) // 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_SCLN LT(_DEFAULT_LAYER_1, TH_SCLN)
#define TR_QUOT LT(_DEFAULT_LAYER_1, TH_QUOT)
@ -216,28 +216,46 @@ enum keycodes {
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_1, KC_2, KC_3, CM_TOGG, \
KC_ENT, KC_LSFT, KC_SPC, KC_SPC, NAV_0, KC_MUTE
/*
#define LAYER_NAVIGATION \
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_INS, KC_CAPS, KC_SCRL, ___x___, ___x___, \
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
ZOOMRST, _______, KC_ENT, _LAYER_TRANS_____________
*/
#define LAYER_NAVIGATION \
___x___, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, TR_DRGS, TR_SNIP, TR_SDPI, TR_PDPI, \
KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
ZOOMRST, _______, KC_ENT, _LAYER_TRANS_____________
#define LAYER_NUMBER \
___x___, SC_SNIP, SC_FILE, ___x___, TR_GRV, ___x___, KC_7, KC_8, KC_9, ___x___, \
_GACS_MODS________________________, TR_SCLN, ___x___, KC_4, KC_5, KC_6, KC_DOT, \
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, TR_MINS, \
___x___, SC_SNIP, SC_FILE, ___x___, ___x___, ___x___, KC_7, KC_8, KC_9, ___x___, \
_GACS_MODS________________________, ___x___, KC_DOT, KC_4, KC_5, KC_6, ___x___, \
_UCCPR_L___________________________________, KC_COMM, KC_1, KC_2, KC_3, TR_MINS, \
_LAYER_TRANS_____________, KC_SPC, NAV_0, ___x___
#define LAYER_SYMBOL \
___x___, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
KC_AMPR, TR_LCBR, KC_RCBR, KC_PIPE, TR_SCLN, ___x___, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
KC_AMPR, TR_LCBR, KC_RCBR, KC_PIPE, TH_SCLN, TR_PLUS, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
TR_PERC, TR_LABK, KC_RABK, KC_BSLS, KC_EXLM, ___x___, KC_SLSH, TR_LPRN, TR_DOT, TR_MINS, \
_LAYER_TRANS_____________, _LAYER_TRANS_____________
/*
If I was going to combine number and symbols together, it'd look like this
#define LAYER_NUMBER \
___x___, SC_SNIP, SC_FILE, TR_LABK, KC_RABK, TR_LBRC, KC_7, KC_8, KC_9, KC_RBRC, \
_GACS_MODS________________________, TR_GRV, TR_SCLN, KC_4, KC_5, KC_6, TR_EQL, \
_UCCPR_L___________________________________, KC_SLSH, KC_1, KC_2, KC_3, KC_BSLS, \
_LAYER_TRANS_____________, KC_SPC, NAV_0, ___x___
*/
/*
#define LAYER_FUNCTION \
___x___, ___x___, TR_MOUU, ___x___, TR_MWHU, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, \
___x___, TR_MOUL, TR_MOUD, TR_MOUR, TR_MWHD, KC_NUM, KC_F4, KC_F5, KC_F6, KC_F11, \
@ -250,3 +268,10 @@ enum keycodes {
TR_RTOG, TR_RMOD, _NONE_3__________________, BASELYR, _SCAG_MODS________________________, \
TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, ___x___, _NONE_5____________________________________, \
_NONE_3__________________, _NONE_3__________________
*/
#define LAYER_CONFIG \
KC_F10, KC_F7, KC_F8, KC_F9, ___x___, ___x___, ___x___, ___x___, ___x___, QK_BOOT, \
KC_F11, KC_F4, KC_F5, KC_F6, ___x___, BASELYR, TR_LSFT, _NONE_3__________________, \
KC_F12, KC_F1, KC_F2, KC_F3, ___x___, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, TR_RTOG, \
_NONE_3__________________, _NONE_3__________________