From fd8e45aed383f1f3d737ab5db0e480577c5ae209 Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 20 Apr 2024 16:09:17 -0500 Subject: [PATCH 01/14] Putting the right side combos back - It felt weird to go up to press backspace - moved tab to the top --- users/t4corun/features/combo.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/users/t4corun/features/combo.h b/users/t4corun/features/combo.h index 1096fc69..458b1c53 100644 --- a/users/t4corun/features/combo.h +++ b/users/t4corun/features/combo.h @@ -43,9 +43,9 @@ const uint16_t PROGMEM lyr_fun_combo[] = { NUM, TR_LSFT, COMBO_END }; // right hand combos -const uint16_t PROGMEM key_tab_combo[] = { KC_M, TR_COMM, COMBO_END }; -const uint16_t PROGMEM key_del_combo[] = { KC_U, KC_I, COMBO_END }; -const uint16_t PROGMEM key_bspc_combo[] = { KC_I, KC_O, COMBO_END }; +const uint16_t PROGMEM key_tab_combo[] = { KC_U, I, COMBO_END }; +const uint16_t PROGMEM key_bspc_combo[] = { KC_M, TR_COMM, COMBO_END }; +const uint16_t PROGMEM key_del_combo[] = { TR_COMM, TR_DOT, COMBO_END }; const uint16_t PROGMEM lyr_cfg_combo[] = { KC_SPC, NAV, COMBO_END }; From 49f130585f840eefdde83d7fb41fec7138f95fed Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 20 Apr 2024 21:28:54 -0500 Subject: [PATCH 02/14] Had I instead of KC_I --- users/t4corun/features/combo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/t4corun/features/combo.h b/users/t4corun/features/combo.h index 458b1c53..bed15198 100644 --- a/users/t4corun/features/combo.h +++ b/users/t4corun/features/combo.h @@ -43,7 +43,7 @@ const uint16_t PROGMEM lyr_fun_combo[] = { NUM, TR_LSFT, COMBO_END }; // right hand combos -const uint16_t PROGMEM key_tab_combo[] = { KC_U, I, 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_del_combo[] = { TR_COMM, TR_DOT, COMBO_END }; const uint16_t PROGMEM lyr_cfg_combo[] = { KC_SPC, NAV, COMBO_END }; From 052b2795a285464158ddc9259117bcdffdb485d4 Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 21 Apr 2024 08:21:20 -0500 Subject: [PATCH 03/14] Trying to simplify the taphold code - only on semicolon - removed the TR LT define and only doing TH --- users/t4corun/features/taphold.c | 4 ++-- users/t4corun/features/taphold.h | 35 +++++++++++++++++++++++++++++- users/t4corun/t4corun.c | 2 +- users/t4corun/t4corun.h | 37 ++++++++++++++++++++++++++------ 4 files changed, 68 insertions(+), 10 deletions(-) diff --git a/users/t4corun/features/taphold.c b/users/t4corun/features/taphold.c index 20c88cb3..28f32484 100644 --- a/users/t4corun/features/taphold.c +++ b/users/t4corun/features/taphold.c @@ -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; diff --git a/users/t4corun/features/taphold.h b/users/t4corun/features/taphold.h index 03f59374..96c2a43a 100644 --- a/users/t4corun/features/taphold.h +++ b/users/t4corun/features/taphold.h @@ -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); \ No newline at end of file +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 }; +*/ \ No newline at end of file diff --git a/users/t4corun/t4corun.c b/users/t4corun/t4corun.c index f3c98efb..1193ece6 100644 --- a/users/t4corun/t4corun.c +++ b/users/t4corun/t4corun.c @@ -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); diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index eb1a9c94..5eb23f06 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -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__________________ \ No newline at end of file From 0d194ac08f223f01f2a8072b06747067fa0b70f2 Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 21 Apr 2024 08:29:53 -0500 Subject: [PATCH 04/14] Forgot end of line on wrapper --- users/t4corun/t4corun.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index 5eb23f06..b4cfd96f 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -274,4 +274,4 @@ If I was going to combine number and symbols together, it'd look like this 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__________________ \ No newline at end of file + _NONE_3__________________, _NONE_3__________________ From 7c665ff65a673c710806172010075df8addc176e Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 21 Apr 2024 08:34:53 -0500 Subject: [PATCH 05/14] More Cleanup so we can do the test - I forgot I removed the function layer --- keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c | 4 ++-- keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c | 2 +- keyboards/bluebell/swoop/keymaps/t4corun/keymap.c | 4 ++-- keyboards/crkbd/keymaps/t4corun/keymap.c | 2 +- keyboards/planck/keymaps/t4corun/keymap.c | 2 +- users/t4corun/features/combo.c | 2 +- users/t4corun/features/combo.h | 4 ++-- users/t4corun/t4corun.h | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c index 2b9473fc..fb7618cc 100644 --- a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c +++ b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = ROLLOW(LAYER_NAVIGATION), [_NUMBER] = ROLLOW(LAYER_NUMBER), [_SYMBOL] = ROLLOW(LAYER_SYMBOL), - [_FUNCTION] = ROLLOW(LAYER_FUNCTION), + //[_FUNCTION] = ROLLOW(LAYER_FUNCTION), [_CONFIG] = ROLLOW(LAYER_CONFIG) }; @@ -41,7 +41,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, - [_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_DOWN, KC_UP ) }, + //[_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_DOWN, KC_UP ) }, [_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, }; diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c index 2345a290..5ae6753e 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = CNANO(LAYER_NAVIGATION), [_NUMBER] = CNANO(LAYER_NUMBER), [_SYMBOL] = CNANO(LAYER_SYMBOL), - [_FUNCTION] = CNANO(LAYER_FUNCTION), + //[_FUNCTION] = CNANO(LAYER_FUNCTION), [_CONFIG] = CNANO(LAYER_CONFIG) }; \ No newline at end of file diff --git a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c index f5f000b4..55d1dea9 100644 --- a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c +++ b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = SWOOP(LAYER_NAVIGATION), [_NUMBER] = SWOOP(LAYER_NUMBER), [_SYMBOL] = SWOOP(LAYER_SYMBOL), - [_FUNCTION] = SWOOP(LAYER_FUNCTION), + //[_FUNCTION] = SWOOP(LAYER_FUNCTION), [_CONFIG] = SWOOP(LAYER_CONFIG) }; @@ -42,7 +42,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, - [_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_DOWN, KC_UP ) }, + //[_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_DOWN, KC_UP ) }, [_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, }; diff --git a/keyboards/crkbd/keymaps/t4corun/keymap.c b/keyboards/crkbd/keymaps/t4corun/keymap.c index 0e961767..17fc604b 100644 --- a/keyboards/crkbd/keymaps/t4corun/keymap.c +++ b/keyboards/crkbd/keymaps/t4corun/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = CRKBD(LAYER_NAVIGATION), [_NUMBER] = CRKBD(LAYER_NUMBER), [_SYMBOL] = CRKBD(LAYER_SYMBOL), - [_FUNCTION] = CRKBD(LAYER_FUNCTION), + //[_FUNCTION] = CRKBD(LAYER_FUNCTION), [_CONFIG] = CRKBD(LAYER_CONFIG) }; \ No newline at end of file diff --git a/keyboards/planck/keymaps/t4corun/keymap.c b/keyboards/planck/keymaps/t4corun/keymap.c index 00d8c44b..cb461c1b 100644 --- a/keyboards/planck/keymaps/t4corun/keymap.c +++ b/keyboards/planck/keymaps/t4corun/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = PLANCK(LAYER_NAVIGATION), [_NUMBER] = PLANCK(LAYER_NUMBER), [_SYMBOL] = PLANCK(LAYER_SYMBOL), - [_FUNCTION] = PLANCK(LAYER_FUNCTION), + //[_FUNCTION] = PLANCK(LAYER_FUNCTION), [_CONFIG] = PLANCK(LAYER_CONFIG) }; \ No newline at end of file diff --git a/users/t4corun/features/combo.c b/users/t4corun/features/combo.c index 1d4a19b8..4d857c50 100644 --- a/users/t4corun/features/combo.c +++ b/users/t4corun/features/combo.c @@ -39,7 +39,7 @@ bool get_combo_must_hold(uint16_t index, combo_t *combo) { switch (index) { case LYR_CONFIG: - case LYR_FUNCTION: + //case LYR_FUNCTION: return true; default: diff --git a/users/t4corun/features/combo.h b/users/t4corun/features/combo.h index bed15198..cd18df84 100644 --- a/users/t4corun/features/combo.h +++ b/users/t4corun/features/combo.h @@ -39,7 +39,7 @@ const uint16_t PROGMEM mou_drg_combo[] = { KC_S, KC_D, COMBO_END }; const uint16_t PROGMEM key_esc_combo[] = { KC_W, KC_E, COMBO_END }; const uint16_t PROGMEM key_ent_combo[] = { KC_X, KC_C, COMBO_END }; -const uint16_t PROGMEM lyr_fun_combo[] = { NUM, TR_LSFT, COMBO_END }; +//const uint16_t PROGMEM lyr_fun_combo[] = { NUM, TR_LSFT, COMBO_END }; // right hand combos @@ -64,7 +64,7 @@ combo_t key_combos[COMBO_LENGTH] = { [KEY_ESC] = COMBO(key_esc_combo, KC_ESC), [KEY_ENT] = COMBO(key_ent_combo, KC_ENT), - [LYR_FUNCTION] = COMBO(lyr_fun_combo, FUNC), + //[LYR_FUNCTION] = COMBO(lyr_fun_combo, FUNC), // right hand combos [KEY_TAB] = COMBO(key_tab_combo, KC_TAB), diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index b4cfd96f..1c992332 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -44,7 +44,7 @@ enum keycodes { #define NAV MO(_NAVIGATION) #define NAV_0 LT(_NAVIGATION, KC_0) #define NUM MO(_NUMBER) -#define FUNC MO(_FUNCTION) +//#define FUNC MO(_FUNCTION) #define CONFIG MO(_CONFIG) // Windows Shortcuts @@ -241,7 +241,7 @@ enum keycodes { #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, TH_SCLN, TR_PLUS, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \ + KC_AMPR, TR_LCBR, KC_RCBR, KC_PIPE, TH_SCLN, KC_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_____________ From 082926a4e1d363e97edd9884e9625b656f621ee8 Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 21 Apr 2024 10:32:13 -0500 Subject: [PATCH 06/14] Polish and cleanup - Redid the tap hold to simplify maintenance - moved the ploopy nano stuff into tap hold - removed all mention of function layer - added double taps for programming macros --- .../rollow/keymaps/t4corun/keymap.c | 2 - .../charybdis/3x5/keymaps/t4corun/keymap.c | 1 - .../bluebell/swoop/keymaps/t4corun/keymap.c | 2 - keyboards/crkbd/keymaps/t4corun/keymap.c | 1 - keyboards/planck/keymaps/t4corun/keymap.c | 1 - users/t4corun/features/taphold.c | 210 +++++++++++------- users/t4corun/features/taphold.h | 53 +++-- users/t4corun/t4corun.c | 66 +++--- users/t4corun/t4corun.h | 113 +++------- 9 files changed, 217 insertions(+), 232 deletions(-) diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c index fb7618cc..5c69c0d0 100644 --- a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c +++ b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c @@ -25,7 +25,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = ROLLOW(LAYER_NAVIGATION), [_NUMBER] = ROLLOW(LAYER_NUMBER), [_SYMBOL] = ROLLOW(LAYER_SYMBOL), - //[_FUNCTION] = ROLLOW(LAYER_FUNCTION), [_CONFIG] = ROLLOW(LAYER_CONFIG) }; @@ -41,7 +40,6 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, - //[_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_DOWN, KC_UP ) }, [_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, }; diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c index 5ae6753e..37f70165 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c @@ -25,7 +25,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = CNANO(LAYER_NAVIGATION), [_NUMBER] = CNANO(LAYER_NUMBER), [_SYMBOL] = CNANO(LAYER_SYMBOL), - //[_FUNCTION] = CNANO(LAYER_FUNCTION), [_CONFIG] = CNANO(LAYER_CONFIG) }; \ No newline at end of file diff --git a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c index 55d1dea9..479fd38a 100644 --- a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c +++ b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c @@ -25,7 +25,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = SWOOP(LAYER_NAVIGATION), [_NUMBER] = SWOOP(LAYER_NUMBER), [_SYMBOL] = SWOOP(LAYER_SYMBOL), - //[_FUNCTION] = SWOOP(LAYER_FUNCTION), [_CONFIG] = SWOOP(LAYER_CONFIG) }; @@ -42,7 +41,6 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, - //[_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_DOWN, KC_UP ) }, [_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, }; diff --git a/keyboards/crkbd/keymaps/t4corun/keymap.c b/keyboards/crkbd/keymaps/t4corun/keymap.c index 17fc604b..2d82da80 100644 --- a/keyboards/crkbd/keymaps/t4corun/keymap.c +++ b/keyboards/crkbd/keymaps/t4corun/keymap.c @@ -25,7 +25,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = CRKBD(LAYER_NAVIGATION), [_NUMBER] = CRKBD(LAYER_NUMBER), [_SYMBOL] = CRKBD(LAYER_SYMBOL), - //[_FUNCTION] = CRKBD(LAYER_FUNCTION), [_CONFIG] = CRKBD(LAYER_CONFIG) }; \ No newline at end of file diff --git a/keyboards/planck/keymaps/t4corun/keymap.c b/keyboards/planck/keymaps/t4corun/keymap.c index cb461c1b..dfa3e5fc 100644 --- a/keyboards/planck/keymaps/t4corun/keymap.c +++ b/keyboards/planck/keymaps/t4corun/keymap.c @@ -25,7 +25,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAVIGATION] = PLANCK(LAYER_NAVIGATION), [_NUMBER] = PLANCK(LAYER_NUMBER), [_SYMBOL] = PLANCK(LAYER_SYMBOL), - //[_FUNCTION] = PLANCK(LAYER_FUNCTION), [_CONFIG] = PLANCK(LAYER_CONFIG) }; \ No newline at end of file diff --git a/users/t4corun/features/taphold.c b/users/t4corun/features/taphold.c index 28f32484..c2201dae 100644 --- a/users/t4corun/features/taphold.c +++ b/users/t4corun/features/taphold.c @@ -1,128 +1,172 @@ #include "taphold.h" -void insert_brackets(uint16_t left, uint16_t right) { +void single_tap(uint16_t key, uint16_t altkey, bool isHold) { + isHold ? tap_code16(altkey) : tap_code16(key); +} + +void double_tap(uint16_t key, uint16_t altkey, uint32_t ms) { + tap_code16(key); + wait_ms(ms); + tap_code16(altkey); +} + +void insert_brackets(uint16_t left, uint16_t right, uint32_t ms) { tap_code16(left); + wait_ms(ms); tap_code16(right); + wait_ms(ms); tap_code16(KC_LEFT); } -void double_tap(uint16_t keycode, uint32_t ms) { - tap_code16(keycode); - wait_ms(ms); - tap_code16(keycode); -} - - //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 + //just saving this to handle mods //bool isShift = ( (get_mods() & MOD_BIT(KC_LSFT)) || (get_oneshot_mods() & MOD_BIT(KC_LSFT)) ); - uint16_t key = KC_NO; - uint16_t altkey = KC_NO; - - switch(keycode) { - - //Brackets - //open and close brackets and put the cursor inside - case TR_LCBR: - key = KC_LCBR; - altkey = KC_RCBR; - break; - case TR_LABK: - key = KC_LABK; - altkey = KC_RABK; - break; - case TR_LBRC: - key = KC_LBRC; - altkey = KC_RBRC; - break; - case TR_SQUO: - key = KC_QUOT; - altkey = KC_QUOT; - break; - case TR_DQUO: - key = KC_DQUO; - altkey = KC_DQUO; - break; - - //Custom - case TR_LPRN: //tap for comma, hold for bracket parenthesis - case TR_COMM: //tap for comma, hold for left parenthesis - key = KC_COMM; - altkey = KC_LPRN; - break; - case TR_DOT: //tap for dot, hold for right parenthesis - key = KC_DOT; - altkey = KC_RPRN; - break; - case TR_PERC: //tap for percent, hold for carat. for saving room on symbols layer - key = KC_PERC; - altkey = KC_CIRC; - break; - - //faux auto-shift - case TR_EQL: //tap for equal, hold for plus - key = KC_EQL; - altkey = KC_PLUS; - break; - case TR_MINS: //tap for minus, hold for underscore - key = KC_MINS; - altkey = KC_UNDS; - break; - case TR_GRV: //tap for grave, hold for tilde - key = KC_GRV; - altkey = KC_TILDE; - break; - case TH_SCLN: //tap for semicolon, hold for colon - key = KC_SCLN; - altkey = KC_COLN; - break; - case TR_QUOT: //tap for single quote, hold for double quote - key = KC_QUOT; - altkey = KC_DQUO; - break; - } + //isShift ? insert_brackets(LSFT(key), LSFT(altkey)) : insert_brackets(key, altkey); + bool isHold = false; if (record->tap.count && record->event.pressed) { - tap_code16(key); + switch(keycode) { + + case TR_LCBR: + single_tap(TH_LCBR, isHold); + break; + case TR_LABK: + single_tap(TH_LABK, isHold); + break; + case TR_LBRC: + single_tap(TH_LBRC, isHold); + break; + case TR_LPRN: + single_tap(TH_LPRN, isHold); + break; + case TR_SQUO: + single_tap(TH_SQUO, isHold); + break; + case TR_DQUO: + single_tap(TH_DQUO, isHold); + break; + case TR_EQL: + single_tap(TH_LPRN, isHold); + break; + case TR_PLUS: + single_tap(TH_PLUS, isHold); + break; + case TR_PIPE: + single_tap(TH_PIPE, isHold); + break; + case TR_COMM: + single_tap(TH_COMM, isHold); + break; + case TR_DOT: + single_tap(TH_DOT, isHold); + break; + case TR_PERC: + single_tap(TH_PERC, isHold); + break; + case TR_EXLM: + single_tap(TH_EXLM, isHold); + break; + case TR_MINS: + single_tap(TH_MINS, isHold); + break; + case TR_GRV: + single_tap(TH_GRV, isHold); + break; + case TH_SCLN: + single_tap(TH_SCLN, isHold); + break; + case TR_QUOT: + single_tap(TH_QUOT, isHold); + break; + + //tap numlock twice to toggle ploopy nano drag scroll + case PN_DRGS: + double_tap(TH_NUM, WAIT_DELAY); + break; + + //tap capslock twice to cycle ploopy nano pointer DPI + case PN_PDPI: + double_tap(TH_CAPS, WAIT_DELAY); + break; + } + return false; } else if (record->tap.count == 0 && record->event.pressed) { + isHold = true; + switch(keycode) { //Brackets case TR_LCBR: + insert_brackets(TH_LCBR); + break; case TR_LABK: + insert_brackets(TH_LABK); + break; case TR_LBRC: + insert_brackets(TH_LBRC); + break; case TR_SQUO: + insert_brackets(TH_SQUO); + break; case TR_DQUO: - //isShift ? insert_brackets(LSFT(key), LSFT(altkey)) : insert_brackets(key, altkey); - insert_brackets(key, altkey); + insert_brackets(TH_DQUO); break; - - //custom and faux auto-shift case TR_LPRN: - insert_brackets(KC_LPRN, KC_RPRN); + insert_brackets(TH_LPRN); break; - case TR_COMM: - case TR_DOT: - case TR_PERC: + + //double tap case TR_EQL: + double_tap(TH_LPRN); + break; + case TR_PLUS: + double_tap(TH_PLUS); + break; + case TR_PIPE: + double_tap(TH_PIPE); + break; + + //custom action + case TR_COMM: + single_tap(TH_COMM, isHold); + break; + case TR_DOT: + single_tap(TH_DOT, isHold); + break; + case TR_PERC: + single_tap(TH_PERC, isHold); + break; + case TR_EXLM: + double_tap(TH_NEQL); + break; + + //simulates auto-shift case TR_MINS: + single_tap(TH_MINS, isHold); + break; case TR_GRV: + single_tap(TH_GRV, isHold); + break; case TH_SCLN: + single_tap(TH_SCLN, isHold); + break; case TR_QUOT: - tap_code16(altkey); + single_tap(TH_QUOT, isHold); break; } return false; + } return true; // Continue default handling. diff --git a/users/t4corun/features/taphold.h b/users/t4corun/features/taphold.h index 96c2a43a..fc74b7d6 100644 --- a/users/t4corun/features/taphold.h +++ b/users/t4corun/features/taphold.h @@ -1,39 +1,44 @@ #pragma once #include "t4corun.h" -void insert_brackets(uint16_t left, uint16_t right); -void double_tap(uint16_t keycode, uint32_t ms); +void single_tap(uint16_t key, uint16_t altkey, bool isHold); +void double_tap(uint16_t key, uint16_t altkey, uint32_t ms); +void insert_brackets(uint16_t left, uint16_t right, uint32_t ms); 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 +/* the first element is the alt key (tap action) + * the second is altkey (hold action usually) * * 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 }; +#define TH_LCBR KC_LCBR, KC_RCBR +#define TH_LABK KC_LABK, KC_RABK +#define TH_LBRC KC_LBRC, KC_RBRC +#define TH_SQUO KC_QUOT, KC_QUOT +#define TH_DQUO KC_DQUO, KC_DQUO +#define TH_LPRN KC_LPRN, KC_RPRN //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 }; +#define TH_EQL KC_EQL, KC_EQL +#define TH_PLUS KC_PLUS, KC_PLUS +#define TH_PIPE KC_PIPE, KC_PIPE +#define TH_NUM KC_NUM, KC_NUM //For ploopy nano +#define TH_CAPS KC_CAPS, KC_CAPS //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 }; +#define TH_COMM KC_COMM, KC_LPRN +#define TH_DOT KC_DOT, KC_RPRN +#define TH_PERC KC_PERC, KC_CIRC +#define TH_EXLM KC_EXLM, KC_EXLM +#define TH_NEQL KC_EXLM, KC_EQL + +//auto shift +#define TH_MINS KC_MINS, KC_UNDS +#define TH_GRV KC_GRV, KC_TILD +#define TH_SCLN KC_SCLN, KC_COLN +#define TH_QUOT KC_QUOT, KC_DQUO + -//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 }; -*/ \ No newline at end of file diff --git a/users/t4corun/t4corun.c b/users/t4corun/t4corun.c index 1193ece6..c7bd8abe 100644 --- a/users/t4corun/t4corun.c +++ b/users/t4corun/t4corun.c @@ -13,44 +13,36 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case BASELYR: - if (record->event.pressed) { - current_base_layer = (current_base_layer + 1) % NUM_BASE_LAYER; - set_single_persistent_default_layer(current_base_layer); - } - return false; - - case PN_DRGS: - if (record->event.pressed) { - double_tap(KC_NUM, WAIT_DELAY); - } - return false; - - case PN_PDPI: - if (record->event.pressed) { - double_tap(KC_CAPS, WAIT_DELAY); - } - return false; - - //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 - case TR_LCBR: - case TR_LABK: - case TR_LBRC: - case TR_SQUO: - case TR_DQUO: - case TR_LPRN: - case TR_COMM: - case TR_DOT: - case TR_PERC: - case TR_EQL: - case TR_MINS: - case TR_GRV: - case TH_SCLN: - case TR_QUOT: - return process_tap_hold_key(record, keycode); + case BASELYR: + if (record->event.pressed) { + current_base_layer = (current_base_layer + 1) % NUM_BASE_LAYER; + set_single_persistent_default_layer(current_base_layer); + } + return false; + //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 + case TR_LCBR: + case TR_LABK: + case TR_LBRC: + case TR_LPRN: + case TR_SQUO: + case TR_DQUO: + case TR_EQL: + case TR_PLUS: + case TR_PIPE: + case TR_COMM: + case TR_DOT: + case TR_PERC: + case TR_EXLM: + case TR_MINS: + case TR_GRV: + case TH_SCLN: + case TR_QUOT: + case PN_DRGS: + case PN_PDPI: + return process_tap_hold_key(record, keycode); } return true; diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index 1c992332..44b206fd 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -11,26 +11,12 @@ enum layers { _NAVIGATION, _NUMBER, _SYMBOL, - _FUNCTION, _CONFIG }; enum keycodes { - //These are only here to make the case statements unique in taphold.c - TH_LCBR = QK_USER, - TH_LABK, - TH_LBRC, - TH_SQUO, - TH_DQUO, - TH_LPRN, - TH_COMM, - TH_DOT, - TH_PERC, - TH_EQL, - TH_MINS, - TH_GRV, - TH_SCLN, - TH_QUOT, + //These are only here to make the taphold/defines unique + KY_SQUO = QK_USER, PN_DRGS, PN_PDPI, @@ -44,7 +30,6 @@ enum keycodes { #define NAV MO(_NAVIGATION) #define NAV_0 LT(_NAVIGATION, KC_0) #define NUM MO(_NUMBER) -//#define FUNC MO(_FUNCTION) #define CONFIG MO(_CONFIG) // Windows Shortcuts @@ -75,35 +60,32 @@ enum keycodes { #define TR_LGUI OSM(MOD_LGUI) -//tap hoLd -#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) -#define TR_SQUO LT(_DEFAULT_LAYER_1, TH_SQUO) -#define TR_DQUO LT(_DEFAULT_LAYER_1, TH_DQUO) +//tap hoLd. These will be intercepted and overridden. The LT will be ignored +#define TR_LCBR LT(_DEFAULT_LAYER_1, KC_LCBR) // bracket behvavior +#define TR_LABK LT(_DEFAULT_LAYER_1, KC_LABK) +#define TR_LBRC LT(_DEFAULT_LAYER_1, KC_LBRC) +#define TR_LPRN LT(_DEFAULT_LAYER_1, KC_LPRN) +#define TR_SQUO LT(_DEFAULT_LAYER_1, KY_SQUO) +#define TR_DQUO LT(_DEFAULT_LAYER_1, KC_DQUO) -#define TR_LPRN LT(_DEFAULT_LAYER_1, TH_LPRN) // custom behavior -#define TR_COMM LT(_DEFAULT_LAYER_1, TH_COMM) -#define TR_DOT LT(_DEFAULT_LAYER_1, TH_DOT) -#define TR_PERC LT(_DEFAULT_LAYER_1, TH_PERC) +#define TR_EQL LT(_DEFAULT_LAYER_1, KC_EQL) // double tap +#define TR_PLUS LT(_DEFAULT_LAYER_1, KC_PLUS) +#define TR_PIPE LT(_DEFAULT_LAYER_1, KC_PIPE) -#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_QUOT LT(_DEFAULT_LAYER_1, TH_QUOT) +#define TR_COMM LT(_DEFAULT_LAYER_1, KC_COMM) // custom behavior +#define TR_DOT LT(_DEFAULT_LAYER_1, KC_DOT) +#define TR_PERC LT(_DEFAULT_LAYER_1, KC_PERC) +#define TR_EXLM LT(_DEFAULT_LAYER_1, KC_EXLM) + + // basically auto shift +#define TR_MINS LT(_DEFAULT_LAYER_1, KC_MINS) +#define TR_GRV LT(_DEFAULT_LAYER_1, KC_GRV) +#define TR_SCLN LT(_DEFAULT_LAYER_1, KC_SCLN) +#define TR_QUOT LT(_DEFAULT_LAYER_1, KC_QUOT) #if defined(MOUSEKEY_ENABLE) -# define TR_MOUU KC_MS_U -# define TR_MOUD KC_MS_D -# define TR_MOUL KC_MS_L -# define TR_MOUR KC_MS_R - -# define TR_MWHU KC_WH_U //Mouse wheel keys are not needed unless the board has no encoders -# define TR_MWHD KC_WH_D - # define TR_BTN1 KC_BTN1 # define TR_BTN2 KC_BTN2 # define TR_BTN3 KC_BTN3 @@ -125,14 +107,6 @@ enum keycodes { #else -# define TR_MOUU ___x___ -# define TR_MOUD ___x___ -# define TR_MOUL ___x___ -# define TR_MOUR ___x___ - -# define TR_MWHU ___x___ -# define TR_MWHD ___x___ - # define TR_BTN1 ___x___ # define TR_BTN2 ___x___ # define TR_BTN3 ___x___ @@ -185,7 +159,6 @@ enum keycodes { #define _NONE_3__________________ ___x___, ___x___, ___x___ #define _NONE_5____________________________________ ___x___, ___x___, ___x___, ___x___, ___x___ #define _GACS_MODS________________________ TR_LGUI, TR_LALT, TR_LCTL, TR_LSFT -#define _GACS_MOUSE_MODS_________ TR_LALT, TR_LCTL, TR_LSFT #define _SCAG_MODS________________________ TR_LSFT, TR_LCTL, TR_LALT, TR_LGUI #define _UCCPR_L___________________________________ SC_UNDO, SC_CUT, SC_COPY, SC_PAST, SC_REDO @@ -216,14 +189,6 @@ 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, \ @@ -241,10 +206,17 @@ enum keycodes { #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, TH_SCLN, KC_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, \ + KC_AMPR, TR_LCBR, KC_RCBR, TR_PIPE, TH_SCLN, TR_PLUS, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \ + TR_PERC, TR_LABK, KC_RABK, KC_BSLS, TR_EXLM, ___x___, KC_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \ _LAYER_TRANS_____________, _LAYER_TRANS_____________ + +#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, \ + ___x___, TR_DMR1, TR_DMP1, _NONE_3__________________ + /* If I was going to combine number and symbols together, it'd look like this @@ -253,25 +225,4 @@ If I was going to combine number and symbols together, it'd look like this _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, \ - TR_PDPI, TR_SDPI, ___x___, TR_DRGS, TR_SNIP, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F12, \ - _LAYER_TRANS_____________, TR_DMP1, TR_DMR1, ___x___ - - -#define LAYER_CONFIG \ - _NONE_5____________________________________, EE_CLR, QK_RBT, QK_BOOT, ___x___, ___x___, \ - 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__________________ +*/ \ No newline at end of file From f8bded656b2c343a91a4dea00b6fac4b45542914 Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 21 Apr 2024 10:37:53 -0500 Subject: [PATCH 07/14] Forgot to undo the test name --- users/t4corun/t4corun.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/t4corun/t4corun.c b/users/t4corun/t4corun.c index c7bd8abe..5a0c03e8 100644 --- a/users/t4corun/t4corun.c +++ b/users/t4corun/t4corun.c @@ -38,7 +38,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case TR_EXLM: case TR_MINS: case TR_GRV: - case TH_SCLN: + case TR_SCLN: case TR_QUOT: case PN_DRGS: case PN_PDPI: From cc64b41f4bfa6b88400678a2b06e54df82da6600 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 22 Apr 2024 00:10:09 -0500 Subject: [PATCH 08/14] Testing out the swoop finally - Had to revert the keycode enumerators - Adjusted the Swoop encoder mappings - Had to put the mouse wheels back in --- .../bluebell/swoop/keymaps/t4corun/keymap.c | 12 ++-- users/t4corun/t4corun.h | 61 +++++++++++++------ 2 files changed, 49 insertions(+), 24 deletions(-) diff --git a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c index 479fd38a..1f52df5b 100644 --- a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c +++ b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c @@ -35,13 +35,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* The encoder presses are handled in the keymap */ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_DEFAULT_LAYER_1] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_DEFAULT_LAYER_2] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_DEFAULT_LAYER_3] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) }, - [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, + [_DEFAULT_LAYER_1] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_DEFAULT_LAYER_2] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_DEFAULT_LAYER_3] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT,dddddddf ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) }, + [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, - [_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, + [_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(LSFT(TR_RMOD), TR_RMOD) }, }; #endif \ No newline at end of file diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index 44b206fd..030e332d 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -16,7 +16,26 @@ enum layers { enum keycodes { //These are only here to make the taphold/defines unique - KY_SQUO = QK_USER, + TH_LCBR = QK_USER, + TH_LABK, + TH_LBRC, + TH_LPRN, + TH_SQUO, + TH_DQUO, + + TH_EQL, + TH_PLUS, + TH_PIPE, + + TH_COMM, + TH_DOT, + TH_PERC, + TH_EXLM, + + TH_MINS, + TH_GRV, + TH_SCLN, + TH_QUOT, PN_DRGS, PN_PDPI, @@ -61,31 +80,34 @@ enum keycodes { //tap hoLd. These will be intercepted and overridden. The LT will be ignored -#define TR_LCBR LT(_DEFAULT_LAYER_1, KC_LCBR) // bracket behvavior -#define TR_LABK LT(_DEFAULT_LAYER_1, KC_LABK) -#define TR_LBRC LT(_DEFAULT_LAYER_1, KC_LBRC) -#define TR_LPRN LT(_DEFAULT_LAYER_1, KC_LPRN) -#define TR_SQUO LT(_DEFAULT_LAYER_1, KY_SQUO) -#define TR_DQUO LT(_DEFAULT_LAYER_1, KC_DQUO) +#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) +#define TR_LPRN LT(_DEFAULT_LAYER_1, TH_LPRN) +#define TR_SQUO LT(_DEFAULT_LAYER_1, TH_SQUO) +#define TR_DQUO LT(_DEFAULT_LAYER_1, TH_DQUO) -#define TR_EQL LT(_DEFAULT_LAYER_1, KC_EQL) // double tap -#define TR_PLUS LT(_DEFAULT_LAYER_1, KC_PLUS) -#define TR_PIPE LT(_DEFAULT_LAYER_1, KC_PIPE) +#define TR_EQL LT(_DEFAULT_LAYER_1, TH_EQL) // double tap +#define TR_PLUS LT(_DEFAULT_LAYER_1, TH_PLUS) +#define TR_PIPE LT(_DEFAULT_LAYER_1, TH_PIPE) -#define TR_COMM LT(_DEFAULT_LAYER_1, KC_COMM) // custom behavior -#define TR_DOT LT(_DEFAULT_LAYER_1, KC_DOT) -#define TR_PERC LT(_DEFAULT_LAYER_1, KC_PERC) -#define TR_EXLM LT(_DEFAULT_LAYER_1, KC_EXLM) +#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) // basically auto shift -#define TR_MINS LT(_DEFAULT_LAYER_1, KC_MINS) -#define TR_GRV LT(_DEFAULT_LAYER_1, KC_GRV) -#define TR_SCLN LT(_DEFAULT_LAYER_1, KC_SCLN) -#define TR_QUOT LT(_DEFAULT_LAYER_1, KC_QUOT) +#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) #if defined(MOUSEKEY_ENABLE) +# define TR_MWHU KC_WH_U +# define TR_MWHD KC_WH_D + # define TR_BTN1 KC_BTN1 # define TR_BTN2 KC_BTN2 # define TR_BTN3 KC_BTN3 @@ -107,6 +129,9 @@ enum keycodes { #else +# define TR_MWHU ___x___ +# define TR_MWHD ___x___ + # define TR_BTN1 ___x___ # define TR_BTN2 ___x___ # define TR_BTN3 ___x___ From 5768daedd46c887b1e9a7ee098ceb6fa8c534e7f Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 22 Apr 2024 00:20:10 -0500 Subject: [PATCH 09/14] Turned out I had duplicate defines - Had to rename my tap hold mappings --- users/t4corun/features/taphold.c | 76 ++++++++++++++++---------------- users/t4corun/features/taphold.h | 40 ++++++++--------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/users/t4corun/features/taphold.c b/users/t4corun/features/taphold.c index c2201dae..715c1b46 100644 --- a/users/t4corun/features/taphold.c +++ b/users/t4corun/features/taphold.c @@ -35,65 +35,65 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { switch(keycode) { case TR_LCBR: - single_tap(TH_LCBR, isHold); + single_tap(TAPHOLD_LCBR, isHold); break; case TR_LABK: - single_tap(TH_LABK, isHold); + single_tap(TAPHOLD_LABK, isHold); break; case TR_LBRC: - single_tap(TH_LBRC, isHold); + single_tap(TAPHOLD_LBRC, isHold); break; case TR_LPRN: - single_tap(TH_LPRN, isHold); + single_tap(TAPHOLD_LPRN, isHold); break; case TR_SQUO: - single_tap(TH_SQUO, isHold); + single_tap(TAPHOLD_SQUO, isHold); break; case TR_DQUO: - single_tap(TH_DQUO, isHold); + single_tap(TAPHOLD_DQUO, isHold); break; case TR_EQL: - single_tap(TH_LPRN, isHold); + single_tap(TAPHOLD_LPRN, isHold); break; case TR_PLUS: - single_tap(TH_PLUS, isHold); + single_tap(TAPHOLD_PLUS, isHold); break; case TR_PIPE: - single_tap(TH_PIPE, isHold); + single_tap(TAPHOLD_PIPE, isHold); break; case TR_COMM: - single_tap(TH_COMM, isHold); + single_tap(TAPHOLD_COMM, isHold); break; case TR_DOT: - single_tap(TH_DOT, isHold); + single_tap(TAPHOLD_DOT, isHold); break; case TR_PERC: - single_tap(TH_PERC, isHold); + single_tap(TAPHOLD_PERC, isHold); break; case TR_EXLM: - single_tap(TH_EXLM, isHold); + single_tap(TAPHOLD_EXLM, isHold); break; case TR_MINS: - single_tap(TH_MINS, isHold); + single_tap(TAPHOLD_MINS, isHold); break; case TR_GRV: - single_tap(TH_GRV, isHold); + single_tap(TAPHOLD_GRV, isHold); break; - case TH_SCLN: - single_tap(TH_SCLN, isHold); + case TAPHOLD_SCLN: + single_tap(TAPHOLD_SCLN, isHold); break; case TR_QUOT: - single_tap(TH_QUOT, isHold); + single_tap(TAPHOLD_QUOT, isHold); break; //tap numlock twice to toggle ploopy nano drag scroll case PN_DRGS: - double_tap(TH_NUM, WAIT_DELAY); + double_tap(TAPHOLD_NUM, WAIT_DELAY); break; //tap capslock twice to cycle ploopy nano pointer DPI case PN_PDPI: - double_tap(TH_CAPS, WAIT_DELAY); + double_tap(TAPHOLD_CAPS, WAIT_DELAY); break; } @@ -107,61 +107,61 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { //Brackets case TR_LCBR: - insert_brackets(TH_LCBR); + insert_brackets(TAPHOLD_LCBR); break; case TR_LABK: - insert_brackets(TH_LABK); + insert_brackets(TAPHOLD_LABK); break; case TR_LBRC: - insert_brackets(TH_LBRC); + insert_brackets(TAPHOLD_LBRC); break; case TR_SQUO: - insert_brackets(TH_SQUO); + insert_brackets(TAPHOLD_SQUO); break; case TR_DQUO: - insert_brackets(TH_DQUO); + insert_brackets(TAPHOLD_DQUO); break; case TR_LPRN: - insert_brackets(TH_LPRN); + insert_brackets(TAPHOLD_LPRN); break; //double tap case TR_EQL: - double_tap(TH_LPRN); + double_tap(TAPHOLD_LPRN); break; case TR_PLUS: - double_tap(TH_PLUS); + double_tap(TAPHOLD_PLUS); break; case TR_PIPE: - double_tap(TH_PIPE); + double_tap(TAPHOLD_PIPE); break; //custom action case TR_COMM: - single_tap(TH_COMM, isHold); + single_tap(TAPHOLD_COMM, isHold); break; case TR_DOT: - single_tap(TH_DOT, isHold); + single_tap(TAPHOLD_DOT, isHold); break; case TR_PERC: - single_tap(TH_PERC, isHold); + single_tap(TAPHOLD_PERC, isHold); break; case TR_EXLM: - double_tap(TH_NEQL); + double_tap(TAPHOLD_NEQL); break; //simulates auto-shift case TR_MINS: - single_tap(TH_MINS, isHold); + single_tap(TAPHOLD_MINS, isHold); break; case TR_GRV: - single_tap(TH_GRV, isHold); + single_tap(TAPHOLD_GRV, isHold); break; - case TH_SCLN: - single_tap(TH_SCLN, isHold); + case TAPHOLD_SCLN: + single_tap(TAPHOLD_SCLN, isHold); break; case TR_QUOT: - single_tap(TH_QUOT, isHold); + single_tap(TAPHOLD_QUOT, isHold); break; } diff --git a/users/t4corun/features/taphold.h b/users/t4corun/features/taphold.h index fc74b7d6..4767f683 100644 --- a/users/t4corun/features/taphold.h +++ b/users/t4corun/features/taphold.h @@ -14,31 +14,31 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode); */ //Brackets: open and close brackets and put the cursor inside -#define TH_LCBR KC_LCBR, KC_RCBR -#define TH_LABK KC_LABK, KC_RABK -#define TH_LBRC KC_LBRC, KC_RBRC -#define TH_SQUO KC_QUOT, KC_QUOT -#define TH_DQUO KC_DQUO, KC_DQUO -#define TH_LPRN KC_LPRN, KC_RPRN +#define TAPHOLD_LCBR KC_LCBR, KC_RCBR +#define TAPHOLD_LABK KC_LABK, KC_RABK +#define TAPHOLD_LBRC KC_LBRC, KC_RBRC +#define TAPHOLD_SQUO KC_QUOT, KC_QUOT +#define TAPHOLD_DQUO KC_DQUO, KC_DQUO +#define TAPHOLD_LPRN KC_LPRN, KC_RPRN //double tap -#define TH_EQL KC_EQL, KC_EQL -#define TH_PLUS KC_PLUS, KC_PLUS -#define TH_PIPE KC_PIPE, KC_PIPE -#define TH_NUM KC_NUM, KC_NUM //For ploopy nano -#define TH_CAPS KC_CAPS, KC_CAPS +#define TAPHOLD_EQL KC_EQL, KC_EQL +#define TAPHOLD_PLUS KC_PLUS, KC_PLUS +#define TAPHOLD_PIPE KC_PIPE, KC_PIPE +#define TAPHOLD_NUM KC_NUM, KC_NUM //For ploopy nano +#define TAPHOLD_CAPS KC_CAPS, KC_CAPS //Custom: things like overriding default shifted key -#define TH_COMM KC_COMM, KC_LPRN -#define TH_DOT KC_DOT, KC_RPRN -#define TH_PERC KC_PERC, KC_CIRC -#define TH_EXLM KC_EXLM, KC_EXLM -#define TH_NEQL KC_EXLM, KC_EQL +#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_EXLM +#define TAPHOLD_NEQL KC_EXLM, KC_EQL //auto shift -#define TH_MINS KC_MINS, KC_UNDS -#define TH_GRV KC_GRV, KC_TILD -#define TH_SCLN KC_SCLN, KC_COLN -#define TH_QUOT KC_QUOT, KC_DQUO +#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 From b829c056d2f9ccbcd0a9a6b516e0b21fbf04c878 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 22 Apr 2024 00:26:08 -0500 Subject: [PATCH 10/14] Another typo to fix --- users/t4corun/features/taphold.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/users/t4corun/features/taphold.c b/users/t4corun/features/taphold.c index 715c1b46..3cbf5541 100644 --- a/users/t4corun/features/taphold.c +++ b/users/t4corun/features/taphold.c @@ -79,7 +79,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { case TR_GRV: single_tap(TAPHOLD_GRV, isHold); break; - case TAPHOLD_SCLN: + case TR_SCLN: single_tap(TAPHOLD_SCLN, isHold); break; case TR_QUOT: @@ -157,7 +157,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { case TR_GRV: single_tap(TAPHOLD_GRV, isHold); break; - case TAPHOLD_SCLN: + case TR_SCLN: single_tap(TAPHOLD_SCLN, isHold); break; case TR_QUOT: From 42376480cd3682af48499eebbeae00ca72eb6949 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 22 Apr 2024 00:32:28 -0500 Subject: [PATCH 11/14] Almost there - had the wrong number of arguments for insert_brackets --- users/t4corun/features/taphold.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/users/t4corun/features/taphold.c b/users/t4corun/features/taphold.c index 3cbf5541..c65ba2a1 100644 --- a/users/t4corun/features/taphold.c +++ b/users/t4corun/features/taphold.c @@ -107,33 +107,33 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { //Brackets case TR_LCBR: - insert_brackets(TAPHOLD_LCBR); + insert_brackets(TAPHOLD_LCBR, WAIT_DELAY); break; case TR_LABK: - insert_brackets(TAPHOLD_LABK); + insert_brackets(TAPHOLD_LABK, WAIT_DELAY); break; case TR_LBRC: - insert_brackets(TAPHOLD_LBRC); + insert_brackets(TAPHOLD_LBRC, WAIT_DELAY); break; case TR_SQUO: - insert_brackets(TAPHOLD_SQUO); + insert_brackets(TAPHOLD_SQUO, WAIT_DELAY); break; case TR_DQUO: - insert_brackets(TAPHOLD_DQUO); + insert_brackets(TAPHOLD_DQUO, WAIT_DELAY); break; case TR_LPRN: - insert_brackets(TAPHOLD_LPRN); + insert_brackets(TAPHOLD_LPRN, WAIT_DELAY); break; //double tap case TR_EQL: - double_tap(TAPHOLD_LPRN); + double_tap(TAPHOLD_LPRN, WAIT_DELAY); break; case TR_PLUS: - double_tap(TAPHOLD_PLUS); + double_tap(TAPHOLD_PLUS, WAIT_DELAY); break; case TR_PIPE: - double_tap(TAPHOLD_PIPE); + double_tap(TAPHOLD_PIPE, WAIT_DELAY); break; //custom action @@ -147,7 +147,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { single_tap(TAPHOLD_PERC, isHold); break; case TR_EXLM: - double_tap(TAPHOLD_NEQL); + double_tap(TAPHOLD_NEQL, WAIT_DELAY); break; //simulates auto-shift From 734782e538bac9f691e587d0fd5ad245b76e0e22 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 22 Apr 2024 00:37:53 -0500 Subject: [PATCH 12/14] Forgot to remove function from OLED - also added RGB Matrix Effects to Swoop --- users/t4corun/config/rgbmatrix_config.h | 2 +- users/t4corun/features/oled.c | 1 - users/t4corun/features/oled.h | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/users/t4corun/config/rgbmatrix_config.h b/users/t4corun/config/rgbmatrix_config.h index 0af300cd..f3faca0e 100644 --- a/users/t4corun/config/rgbmatrix_config.h +++ b/users/t4corun/config/rgbmatrix_config.h @@ -98,7 +98,7 @@ Explore These #define RGB_MATRIX_DEFAULT_SPD 32 //Set per keyboard configuration -#if defined(KEYBOARD_bastardkb_charybdis_3x5) || defined(KEYBOARD_dztech_dz60rgb_v2_1) +#if defined(KEYBOARD_bastardkb_charybdis_3x5) || defined(KEYBOARD_dztech_dz60rgb_v2_1) || defined(KEYBOARD_bluebell_swoop) # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_KEYPRESSES diff --git a/users/t4corun/features/oled.c b/users/t4corun/features/oled.c index 5b0ec8f2..6b8af342 100644 --- a/users/t4corun/features/oled.c +++ b/users/t4corun/features/oled.c @@ -37,7 +37,6 @@ void render_layer_state(void) { oled_write_P(PSTR(OLED_RENDER_LAYER_NAVIGATION), get_highest_layer(layer_state) == _NAVIGATION); oled_write_P(PSTR(OLED_RENDER_LAYER_NUMBER), get_highest_layer(layer_state) == _NUMBER); oled_write_P(PSTR(OLED_RENDER_LAYER_SYMBOL), get_highest_layer(layer_state) == _SYMBOL); - oled_write_P(PSTR(OLED_RENDER_LAYER_FUNCTION), get_highest_layer(layer_state) == _FUNCTION); oled_write_P(PSTR(OLED_RENDER_LAYER_CONFIG), get_highest_layer(layer_state) == _CONFIG); } diff --git a/users/t4corun/features/oled.h b/users/t4corun/features/oled.h index 96688394..8a1397fd 100644 --- a/users/t4corun/features/oled.h +++ b/users/t4corun/features/oled.h @@ -16,7 +16,6 @@ #define OLED_RENDER_LAYER_NUMBER " Num " #define OLED_RENDER_LAYER_NAVIGATION " Nav " #define OLED_RENDER_LAYER_SYMBOL " Sym " -#define OLED_RENDER_LAYER_FUNCTION " Fun " #define OLED_RENDER_LAYER_CONFIG " Cfg " void render_crkbd_logo(void); From 94849eef7254aa8cd39ae111b2f1e1ee60ffa55d Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 22 Apr 2024 00:40:58 -0500 Subject: [PATCH 13/14] Keep finding small typos --- keyboards/bluebell/swoop/keymaps/t4corun/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c index 1f52df5b..1eba509c 100644 --- a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c +++ b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_DEFAULT_LAYER_1] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_DEFAULT_LAYER_2] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_DEFAULT_LAYER_3] = { ENCODER_CCW_CW(TR_MWHU, TR_MWHD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT,dddddddf ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) }, + [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, [_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(LSFT(TR_RMOD), TR_RMOD) }, From a370965d1ca95e7cf61f297f062bd939a190fbc3 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 22 Apr 2024 07:35:57 -0500 Subject: [PATCH 14/14] fixing bugs and setting up encoder debug environment - Had to fix bugs with TR_SCLN and ploopy nano drag scroll - added mouse scroll wheel and rgb mode for debug purposes --- users/t4corun/features/taphold.c | 13 ++----------- users/t4corun/features/taphold.h | 2 -- users/t4corun/t4corun.c | 16 ++++++++++++++-- users/t4corun/t4corun.h | 8 ++++---- 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/users/t4corun/features/taphold.c b/users/t4corun/features/taphold.c index c65ba2a1..1488c524 100644 --- a/users/t4corun/features/taphold.c +++ b/users/t4corun/features/taphold.c @@ -53,7 +53,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { single_tap(TAPHOLD_DQUO, isHold); break; case TR_EQL: - single_tap(TAPHOLD_LPRN, isHold); + single_tap(TAPHOLD_EQL, isHold); break; case TR_PLUS: single_tap(TAPHOLD_PLUS, isHold); @@ -85,16 +85,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { case TR_QUOT: single_tap(TAPHOLD_QUOT, isHold); break; - - //tap numlock twice to toggle ploopy nano drag scroll - case PN_DRGS: - double_tap(TAPHOLD_NUM, WAIT_DELAY); - break; - //tap capslock twice to cycle ploopy nano pointer DPI - case PN_PDPI: - double_tap(TAPHOLD_CAPS, WAIT_DELAY); - break; } return false; @@ -127,7 +118,7 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { //double tap case TR_EQL: - double_tap(TAPHOLD_LPRN, WAIT_DELAY); + double_tap(TAPHOLD_EQL, WAIT_DELAY); break; case TR_PLUS: double_tap(TAPHOLD_PLUS, WAIT_DELAY); diff --git a/users/t4corun/features/taphold.h b/users/t4corun/features/taphold.h index 4767f683..953ad4a7 100644 --- a/users/t4corun/features/taphold.h +++ b/users/t4corun/features/taphold.h @@ -25,8 +25,6 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode); #define TAPHOLD_EQL KC_EQL, KC_EQL #define TAPHOLD_PLUS KC_PLUS, KC_PLUS #define TAPHOLD_PIPE KC_PIPE, KC_PIPE -#define TAPHOLD_NUM KC_NUM, KC_NUM //For ploopy nano -#define TAPHOLD_CAPS KC_CAPS, KC_CAPS //Custom: things like overriding default shifted key #define TAPHOLD_COMM KC_COMM, KC_LPRN diff --git a/users/t4corun/t4corun.c b/users/t4corun/t4corun.c index 5a0c03e8..c788547a 100644 --- a/users/t4corun/t4corun.c +++ b/users/t4corun/t4corun.c @@ -20,6 +20,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; + case PN_DRGS: + if (record->event.pressed) { + //tap numlock twice to toggle ploopy nano drag scroll + double_tap(KC_NUM, KC_NUM,WAIT_DELAY); + } + return false; + + case PN_PDPI: + if (record->event.pressed) { + //tap capslock twice to cycle ploopy nano pointer DPI + double_tap(KC_CAPS, KC_CAPS, WAIT_DELAY); + } + return false; + //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 @@ -40,8 +54,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case TR_GRV: case TR_SCLN: case TR_QUOT: - case PN_DRGS: - case PN_PDPI: return process_tap_hold_key(record, keycode); } diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index 030e332d..03be30f4 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -216,8 +216,8 @@ enum keycodes { #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________________________, \ + ___x___, KC_HOME, KC_UP, KC_END, KC_PGUP, TR_MWHU, TR_DRGS, TR_SNIP, TR_SDPI, TR_PDPI, \ + KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, TR_MWHD, _SCAG_MODS________________________, \ _UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \ ZOOMRST, _______, KC_ENT, _LAYER_TRANS_____________ @@ -231,13 +231,13 @@ enum keycodes { #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, TR_PIPE, TH_SCLN, TR_PLUS, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \ + KC_AMPR, TR_LCBR, KC_RCBR, TR_PIPE, TR_SCLN, TR_PLUS, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \ TR_PERC, TR_LABK, KC_RABK, KC_BSLS, TR_EXLM, ___x___, KC_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \ _LAYER_TRANS_____________, _LAYER_TRANS_____________ #define LAYER_CONFIG \ - KC_F10, KC_F7, KC_F8, KC_F9, ___x___, ___x___, ___x___, ___x___, ___x___, QK_BOOT, \ + KC_F10, KC_F7, KC_F8, KC_F9, ___x___, TR_RMOD, ___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, \ ___x___, TR_DMR1, TR_DMP1, _NONE_3__________________