diff --git a/users/t4corun/features/combo.c b/users/t4corun/features/combo.c index 7215b8ac..0eb41769 100644 --- a/users/t4corun/features/combo.c +++ b/users/t4corun/features/combo.c @@ -1,27 +1,5 @@ #include "combo.h" - -//only need to make it for the qwerty layer -//const uint16_t PROGMEM dragtog_combo[] = {TR_COMM, TR_DOT, COMBO_END}; -//const uint16_t PROGMEM sniptog_combo[] = {KC_M, TR_DOT, COMBO_END}; -//const uint16_t PROGMEM moubtn4_combo[] = {KC_SPC, NAV, COMBO_END}; - -/* -mouse buttons to map -- mb1 left 1 df -- mb2 right 3 dg -- mb3 middle -- mb4 back 2 cv -- mb5 forward - -bigrams that may work for mouse -- cv -- cb -- xc -- cv -*/ - - bool get_combo_must_hold(uint16_t index, combo_t *combo) { switch (index) { @@ -38,25 +16,12 @@ bool get_combo_must_tap(uint16_t index, combo_t *combo) { switch (index) { - /* - case DRAGTOGGLE: - case SNIPERTOGGLE: - case MOUSEBUTTON4: - return true; - */ - -#if defined(MOUSEKEY_ENABLE) - case MOUSE_BUTTON1: - case MOUSE_BUTTON2: - case MOUSE_BUTTON4: - case MOUSE_DRGTOG: -#endif //MOUSEKEY_ENABLE - - case KB_TAB: - case KB_BSPC: + case LYR_CONFIG: + case LYR_FUNCTION: + return false; default: - return false; + return true; } } diff --git a/users/t4corun/features/combo.h b/users/t4corun/features/combo.h index 1ea10664..25f226af 100644 --- a/users/t4corun/features/combo.h +++ b/users/t4corun/features/combo.h @@ -2,49 +2,74 @@ #include "t4corun.h" enum combos { - //DRAGTOGGLE, - //SNIPERTOGGLE,c - //MOUSEBUTTON4, + // left hand combos #if defined(MOUSEKEY_ENABLE) MOUSE_BUTTON1, MOUSE_BUTTON2, + MOUSE_BUTTON3, MOUSE_BUTTON4, + MOUSE_BUTTON5, MOUSE_DRGTOG, #endif //MOUSEKEY_ENABLE - KB_TAB, - KB_BSPC, - LYR_CONFIG, + KEY_ESC, + KEY_TAB, + KEY_ENT, LYR_FUNCTION, + + // right hand combos + KEY_DEL, + KEY_BSPC, + LYR_CONFIG, + COMBO_LENGTH }; + +// left hand combos #if defined(MOUSEKEY_ENABLE) const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END }; -const uint16_t PROGMEM mou_btn2_combo[] = { KC_D, KC_G, COMBO_END }; -const uint16_t PROGMEM mou_btn4_combo[] = { KC_C, KC_V, COMBO_END }; -const uint16_t PROGMEM mou_drg_combo[] = { TR_COMM, TR_DOT, COMBO_END }; +const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END }; +const uint16_t PROGMEM mou_btn3_combo[] = { KC_E, KC_R, COMBO_END }; +const uint16_t PROGMEM mou_btn4_combo[] = { KC_W, KC_E, COMBO_END }; +const uint16_t PROGMEM mou_btn5_combo[] = { KC_W, KC_R, COMBO_END }; +const uint16_t PROGMEM mou_drg_combo[] = { KC_A, KC_S, COMBO_END }; #endif //MOUSEKEY_ENABLE -const uint16_t PROGMEM kb_tab_combo[] = { KC_S, KC_F, COMBO_END }; -const uint16_t PROGMEM kb_bspc_combo[] = { KC_J, KC_L, COMBO_END }; -const uint16_t PROGMEM lyr_cfg_combo[] = { KC_SPC, NAV, COMBO_END }; +const uint16_t PROGMEM kb_esc_combo[] = { KC_Q, KC_W, COMBO_END }; +const uint16_t PROGMEM kb_tab_combo[] = { KC_C, KC_V, COMBO_END }; +const uint16_t PROGMEM kb_ent_combo[] = { KC_X, KC_V, COMBO_END }; const uint16_t PROGMEM lyr_fun_combo[] = { NUM, TR_LSFT, COMBO_END }; +// right hand combos +const uint16_t PROGMEM kb_del_combo[] = { KC_M, TR_DOT, COMBO_END }; +const uint16_t PROGMEM kb_bspc_combo[] = { KC_M, TR_COMM, COMBO_END }; +const uint16_t PROGMEM lyr_cfg_combo[] = { KC_SPC, NAV, COMBO_END }; + + combo_t key_combos[COMBO_LENGTH] = { + // left hand combos #if defined(MOUSEKEY_ENABLE) [MOUSE_BUTTON1] = COMBO(mou_btn1_combo, TR_BTN1), [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, TR_BTN2), + [MOUSE_BUTTON3] = COMBO(mou_btn3_combo, TR_BTN3), [MOUSE_BUTTON4] = COMBO(mou_btn4_combo, TR_BTN4), - [MOUSE_BUTTON4] = COMBO(mou_drg_combo, TR_DRGS), + [MOUSE_BUTTON5] = COMBO(mou_btn5_combo, TR_BTN5), + [MOUSE_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS), #endif //MOUSEKEY_ENABLE - [KB_TAB] = COMBO(kb_tab_combo, KC_TAB), - [KB_BSPC] = COMBO(kb_bspc_combo, KC_BSPC), - [LYR_CONFIG] = COMBO(lyr_cfg_combo, CONFIG), - [LYR_FUNCTION] = COMBO(lyr_fun_combo, FUNC) + [KEY_ESC] = COMBO(kb_esc_combo, KC_ESC), + [KEY_TAB] = COMBO(kb_tab_combo, KC_TAB), + [KEY_ENT] = COMBO(kb_end_combo, KC_ENT), + [LYR_FUNCTION] = COMBO(lyr_fun_combo, FUNC), + + // right hand combos + [KEY_DEL] = COMBO(kb_del_combo, KC_DEL), + [KEY_BSPC] = COMBO(kb_bspc_combo, KC_BSPC), + [LYR_CONFIG] = COMBO(lyr_cfg_combo, CONFIG) + }; //their documentation is so confusing because you don't use COMBO_LEN defining the actions diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index f728b692..53bca42b 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -237,7 +237,7 @@ enum keycodes { #define LAYER_NUMBER \ - KC_ESC, SC_SNIP, SC_FILE, FUNC, TR_GRV, KC_ENT, KC_7, KC_8, KC_9, KC_TAB, \ + KC_ESC, SC_SNIP, SC_FILE, ___x___, TR_GRV, KC_ENT, KC_7, KC_8, KC_9, KC_TAB, \ _GACS_MODS________________________, TR_SCLN, KC_BSPC, KC_4, KC_5, KC_6, KC_DOT, \ _UCCPR_L___________________________________, KC_DEL, KC_1, KC_2, KC_3, TR_MINS, \ _LAYER_TRANS_____________, KC_SPC, NAV_0, ___x___