From b706b3e92846136917af722270f16712c41629e8 Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Mon, 24 Apr 2023 00:14:55 -0400 Subject: [PATCH] feat: tweaking some of my last changes. Moving combo keys to thumb plus homerow key. This allow you to let hold the mode key by keeping the thumb key down and letting go the homerow key. This way you still have the full Qwerty keyboard at your finger tip. changing nav and sys layout so that we can use some chording with mod keys. --- users/sjb/combos.c | 57 +++++++++++++++++++++++++++------------------- users/sjb/sjb.h | 20 ++++++++-------- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/users/sjb/combos.c b/users/sjb/combos.c index 42e194880d0d..c2f046dc5d9f 100644 --- a/users/sjb/combos.c +++ b/users/sjb/combos.c @@ -22,6 +22,8 @@ #define SJB_DEFINE_KEY(name, args...) const uint16_t PROGMEM combo_##name[] = {args, COMBO_END} #define SJB_COMBO(name, action) COMBO(combo_##name, action) +#define CB_LLEADER SB_NAV +#define CB_RLEADER SB_RSE SJB_DEFINE_KEY(CK_LBOOT, KC_Q, KC_T); SJB_DEFINE_KEY(CK_RBOOT, KC_P, KC_Y); @@ -30,30 +32,34 @@ SJB_DEFINE_KEY(CK_POWER, KC_Q, KC_Z); SJB_DEFINE_KEY(CK_LAYER_LOCK, KC_M, KC_COMM); SJB_DEFINE_KEY(CK_KEY_LOCK, KC_V, KC_C); -SJB_DEFINE_KEY(CK_LSFT, KC_C, KC_X); -SJB_DEFINE_KEY(CK_RSFT, KC_COMM, KC_DOT); - -SJB_DEFINE_KEY(CK_LALT, HR_F, HR_A); -SJB_DEFINE_KEY(CK_LGUI, HR_F, HR_S); -SJB_DEFINE_KEY(CK_LCTL, HR_F, HR_D); -SJB_DEFINE_KEY(CK_LCG , HR_F, HR_D, HR_S); -SJB_DEFINE_KEY(CK_LCA , HR_F, HR_D, HR_A); -SJB_DEFINE_KEY(CK_LGA , HR_F, HR_S, HR_A); -SJB_DEFINE_KEY(CK_LCGA, HR_F, HR_D, HR_S, HR_A); - -SJB_DEFINE_KEY(CK_RALT, HR_J, HR_SCLN); -SJB_DEFINE_KEY(CK_RGUI, HR_J, HR_L); -SJB_DEFINE_KEY(CK_RCTL, HR_J, HR_K); -SJB_DEFINE_KEY(CK_RCG , HR_J, HR_K, HR_L); -SJB_DEFINE_KEY(CK_RCA , HR_J, HR_K, HR_SCLN); -SJB_DEFINE_KEY(CK_RGA , HR_J, HR_L, HR_SCLN); -SJB_DEFINE_KEY(CK_RCGA, HR_J, HR_K, HR_L, HR_SCLN); - -SJB_DEFINE_KEY(CK_TG_NUM, HR_F, SB_NAV); -SJB_DEFINE_KEY(CK_TG_MOUSE, HR_J, SB_RSE); - -SJB_DEFINE_KEY(CK_RLEADER, HR_K, HR_L); -SJB_DEFINE_KEY(CK_LTAB, HR_D, HR_S); +//SJB_DEFINE_KEY(CK_LSFT, KC_C, KC_X); +//SJB_DEFINE_KEY(CK_RSFT, KC_COMM, KC_DOT); +SJB_DEFINE_KEY(CK_LSFT, CB_LLEADER, HR_F); +SJB_DEFINE_KEY(CK_RSFT, CB_RLEADER, HR_J); + +SJB_DEFINE_KEY(CK_LALT, CB_LLEADER, HR_A); +SJB_DEFINE_KEY(CK_LGUI, CB_LLEADER, HR_S); +SJB_DEFINE_KEY(CK_LCTL, CB_LLEADER, HR_D); +SJB_DEFINE_KEY(CK_LCG , CB_LLEADER, HR_D, HR_S); +SJB_DEFINE_KEY(CK_LCA , CB_LLEADER, HR_D, HR_A); +SJB_DEFINE_KEY(CK_LGA , CB_LLEADER, HR_S, HR_A); +SJB_DEFINE_KEY(CK_LCGA, CB_LLEADER, HR_D, HR_S, HR_A); + +SJB_DEFINE_KEY(CK_RALT, CB_RLEADER, HR_SCLN); +SJB_DEFINE_KEY(CK_RGUI, CB_RLEADER, HR_L); +SJB_DEFINE_KEY(CK_RCTL, CB_RLEADER, HR_K); +SJB_DEFINE_KEY(CK_RCG , CB_RLEADER, HR_K, HR_L); +SJB_DEFINE_KEY(CK_RCA , CB_RLEADER, HR_K, HR_SCLN); +SJB_DEFINE_KEY(CK_RGA , CB_RLEADER, HR_L, HR_SCLN); +SJB_DEFINE_KEY(CK_RCGA, CB_RLEADER, HR_K, HR_L, HR_SCLN); + +SJB_DEFINE_KEY(CK_TG_NUM, CB_LLEADER, HR_G); +SJB_DEFINE_KEY(CK_TG_MOUSE, CB_RLEADER, HR_H); + +SJB_DEFINE_KEY(CK_RLEADER, HR_J, HR_K); +SJB_DEFINE_KEY(CK_APP, HR_K, HR_L); +SJB_DEFINE_KEY(CK_LTAB, HR_F, HR_D); +SJB_DEFINE_KEY(CK_CWTOGG, HR_D, HR_S); combo_t key_combos[] = { SJB_COMBO(CK_LBOOT, QK_BOOT), @@ -85,6 +91,9 @@ combo_t key_combos[] = { SJB_COMBO(CK_RLEADER, KC_APP), SJB_COMBO(CK_LTAB, KC_TAB), + SJB_COMBO(CK_APP, G(KC_SPC)), + SJB_COMBO(CK_CWTOGG, CW_TOGG), + SJB_COMBO(CK_TG_NUM, TG(_NUMPAD)), SJB_COMBO(CK_TG_MOUSE, TG(_MOUSE)), }; diff --git a/users/sjb/sjb.h b/users/sjb/sjb.h index e70b504ef7e8..56728ed3e4c1 100644 --- a/users/sjb/sjb.h +++ b/users/sjb/sjb.h @@ -105,8 +105,8 @@ enum custom_keycodes { #define TRANS_ROW _______, _______, _______, _______, _______ #define BLANK_ROW KC_NO, KC_NO, KC_NO, KC_NO, KC_NO -#define LEFT_HOME_ROW OSM_ALT , OSM_GUI, OSM_CTL, OSM_SFT, CW_TOGG -#define RIGHT_HOME_ROW G(KC_SPC), OSM_SFT, OSM_CTL, OSM_GUI, OSM_ALT +#define LEFT_HOME_ROW OSM_ALT , OSM_GUI, OSM_CTL, OSM_SFT, KC_APP +#define RIGHT_HOME_ROW CW_TOGG, OSM_SFT, OSM_CTL, OSM_GUI, OSM_ALT #define LEFT_HOME_ROW_A _______, HR_J , _______, _______, _______ #define RIGHT_HOME_ROW_A _______, _______, _______, HR_F , _______ @@ -142,7 +142,7 @@ enum custom_keycodes { #define FUNCPAD_ROW_1 KC_F1, KC_F2 , KC_F3 , KC_F4 , KC_PSCR #define FUNCPAD_ROW_2 KC_F5, KC_F6 , KC_F7 , KC_F8 , KC_INS -#define FUNCPAD_ROW_3 KC_F9, KC_F10, KC_F11, KC_F12, G(KC_SPC) +#define FUNCPAD_ROW_3 KC_F9, KC_F10, KC_F11, KC_F12, QK_LOCK #define RIGHT_MOUSE_ROW_1 KC_BTN7, KC_BTN4, KC_MS_U, KC_BTN5, KC_BTN6 #define RIGHT_MOUSE_ROW_2 KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_ACL0 @@ -156,16 +156,16 @@ enum custom_keycodes { //#define LEFT_MOUSE_ROW_2 KC_ACL0, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U //#define LEFT_MOUSE_ROW_3 KC_ACL1, KC_WH_L, KC_BTN3, KC_WH_R, KC_WH_D -#define LEFT_SYS_ROW_1 OSM_RALT, CW_TOGG, KC_APP , KC_LBRC, KC_RBRC -#define LEFT_SYS_ROW_2 OSM_ALT , OSM_GUI, OSM_CTL , KC_LPRN, KC_RPRN -#define LEFT_SYS_ROW_3 OSM_MEH , QK_LOCK, KC_TAB , KC_LCBR, KC_RCBR +#define LEFT_SYS_ROW_1 OSM_RALT, CW_TOGG, KC_APP , KC_LBRC, KC_RBRC +#define LEFT_SYS_ROW_2 OSM_ALT , OSM_GUI, OSM_CTL , KC_LPRN, KC_RPRN +#define LEFT_SYS_ROW_3 OSM_MEH , QK_LOCK, G(KC_MUTE) , KC_LCBR, KC_RCBR -#define RIGHT_SYS_ROW_1 KC_LBRC, KC_RBRC, KC_APP , CW_TOGG, OSM_RALT -#define RIGHT_SYS_ROW_2 KC_LPRN, KC_RPRN, OSM_CTL , OSM_GUI, OSM_ALT -#define RIGHT_SYS_ROW_3 KC_LCBR, KC_RCBR, KC_TAB , QK_LOCK, OSM_MEH +#define RIGHT_SYS_ROW_1 KC_LBRC, KC_RBRC, KC_APP , CW_TOGG, OSM_RALT +#define RIGHT_SYS_ROW_2 KC_LPRN, KC_RPRN, OSM_CTL , OSM_GUI, OSM_ALT +#define RIGHT_SYS_ROW_3 KC_LCBR, KC_RCBR, G(KC_SPC) , QK_LOCK, OSM_MEH #define LEFT_NAV_ROW_1 KC_MPRV , KC_VOLU , KC_UP , KC_PGUP , KC_HOME -#define LEFT_NAV_ROW_2 KC_MNXT , KC_LEFT , KC_DOWN , KC_RIGHT, OSM_SFT +#define LEFT_NAV_ROW_2 KC_MNXT , KC_LEFT , KC_DOWN , KC_RIGHT, KC_TAB #define LEFT_NAV_ROW_3 KC_MPLY , KC_VOLD , KC_MUTE , KC_PGDN , KC_END #define RIGHT_NAV_ROW_1 KC_HOME , KC_PGUP, KC_UP , KC_VOLU , KC_MPRV