diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c index c87a9869..ddc3e513 100644 --- a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c +++ b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c @@ -34,9 +34,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* These are horizontal encoders. Found I have to make it opposite the rotary encoders for it to feel intuitive*/ 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) }, + [_DEFAULT_LAYER_1] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_DEFAULT_LAYER_2] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [_DEFAULT_LAYER_3] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, diff --git a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c index 81f49131..0cf0592a 100644 --- a/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c +++ b/keyboards/bluebell/swoop/keymaps/t4corun/keymap.c @@ -34,9 +34,9 @@ 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_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) }, + [_DEFAULT_LAYER_1] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_DEFAULT_LAYER_2] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_DEFAULT_LAYER_3] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, diff --git a/users/t4corun/features/combo.c b/users/t4corun/features/combo.c index 7bc7271a..d4a10ef3 100644 --- a/users/t4corun/features/combo.c +++ b/users/t4corun/features/combo.c @@ -9,9 +9,12 @@ bool get_combo_must_tap(uint16_t index, combo_t *combo) { case MOUSE_BUTTON4: case MOUSE_BUTTON5: case MOUSE_DRGTOG: - return true; #endif //MOUSEKEY_ENABLEdf + case KEY_ENT: + case KEY_TAB: + return true; + default: return false; } @@ -26,6 +29,19 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode switch (combo_index) { + case KEY_ENT: + if ( get_highest_layer(layer_state) == _SYMBOL ) { + return false; + } + break; + + case KEY_TAB: + if ( get_highest_layer(layer_state) == _NAVIGATION || + get_highest_layer(layer_state) == _SYMBOL ) { + return false; + } + break; + case MOUSE_BUTTON1: case MOUSE_BUTTON2: case MOUSE_BUTTON3: diff --git a/users/t4corun/features/combo.h b/users/t4corun/features/combo.h index 6c9ee46f..d8d2ff8f 100644 --- a/users/t4corun/features/combo.h +++ b/users/t4corun/features/combo.h @@ -1,6 +1,24 @@ #pragma once #include "t4corun.h" + + +#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_S, KC_D, COMBO_END }; +const uint16_t PROGMEM mou_btn3_combo[] = { KC_G, KC_B, COMBO_END }; +const uint16_t PROGMEM mou_btn4_combo[] = { KC_F, KC_R, COMBO_END }; +const uint16_t PROGMEM mou_btn5_combo[] = { KC_T, KC_G, COMBO_END }; +const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_C, COMBO_END }; +#endif //MOUSEKEY_ENABLE + +const uint16_t PROGMEM key_ent_combo[] = { KC_C, KC_V, 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 }; + + + enum combos { #if defined(MOUSEKEY_ENABLE) @@ -12,34 +30,33 @@ enum combos { MOUSE_DRGTOG, #endif //MOUSEKEY_ENABLE + KEY_ENT, + KEY_TAB, + KEY_BSPC, + KEY_DEL, + COMBO_LENGTH }; + //their documentation is so confusing because you don't use COMBO_LEN defining the actions uint16_t COMBO_LEN = COMBO_LENGTH; -#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_S, KC_D, COMBO_END }; -const uint16_t PROGMEM mou_btn3_combo[] = { KC_G, KC_B, COMBO_END }; -const uint16_t PROGMEM mou_btn4_combo[] = { KC_F, KC_R, COMBO_END }; -const uint16_t PROGMEM mou_btn5_combo[] = { KC_T, KC_G, COMBO_END }; -const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_C, COMBO_END }; -#endif //MOUSEKEY_ENABLE - - - combo_t key_combos[COMBO_LENGTH] = { #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_BUTTON5] = COMBO(mou_btn5_combo, TR_BTN5), + [MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1), + [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2), + [MOUSE_BUTTON3] = COMBO(mou_btn3_combo, KC_BTN3), + [MOUSE_BUTTON4] = COMBO(mou_btn4_combo, KC_BTN4), + [MOUSE_BUTTON5] = COMBO(mou_btn5_combo, KC_BTN5), [MOUSE_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS), #endif //MOUSEKEY_ENABLE -}; + [KEY_ENT] = COMBO(key_ent_combo, KC_ENT), + [KEY_TAB] = COMBO(key_tab_combo, KC_TAB), + [KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC), + [KEY_DEL] = COMBO(key_del_combo, KC_DEL) +}; \ No newline at end of file diff --git a/users/t4corun/features/oled.c b/users/t4corun/features/oled.c index 6b8af342..8dafd329 100644 --- a/users/t4corun/features/oled.c +++ b/users/t4corun/features/oled.c @@ -35,8 +35,8 @@ void render_layer_state(void) { oled_write_P(PSTR(OLED_RENDER_LAYER_NAME), false); oled_write_P(PSTR(OLED_RENDER_LAYER_BASE), get_highest_layer(layer_state) == FIRST_DEFAULT_LAYER); 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_NUMBER), get_highest_layer(layer_state) == _NUMBER); 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 b4d6cd2a..bdda3bd7 100644 --- a/users/t4corun/features/oled.h +++ b/users/t4corun/features/oled.h @@ -12,9 +12,9 @@ #define OLED_RENDER_LAYER_NAME "Layer" #define OLED_RENDER_LAYER_BASE " Def " -#define OLED_RENDER_LAYER_NUMBER " Num " #define OLED_RENDER_LAYER_NAVIGATION " Nav " #define OLED_RENDER_LAYER_SYMBOL " Sym " +#define OLED_RENDER_LAYER_NUMBER " Num " #define OLED_RENDER_LAYER_CONFIG " Cfg " void render_crkbd_logo(void); diff --git a/users/t4corun/features/taphold.c b/users/t4corun/features/taphold.c index e9f2433a..2e41a85b 100644 --- a/users/t4corun/features/taphold.c +++ b/users/t4corun/features/taphold.c @@ -53,27 +53,15 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { case TR_SQUO: single_tap(TAPHOLD_SQUO, isHold); break; - case TR_DQUO: - single_tap(TAPHOLD_DQUO, isHold); - break; case TR_EQL: single_tap(TAPHOLD_EQL, isHold); break; - case TR_PLUS: - single_tap(TAPHOLD_PLUS, isHold); - break; - //case TR_PIPE: - // single_tap(TAPHOLD_PIPE, isHold); - // break; case TR_BSLS: single_tap(TAPHOLD_BSLS, isHold); break; case TR_SLSH: single_tap(TAPHOLD_SLSH, isHold); break; - case TR_AMPR: - single_tap(TAPHOLD_AMPR, isHold); - break; case TR_COMM: single_tap(TAPHOLD_COMM, isHold); break; @@ -86,6 +74,9 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { case TR_EXLM: single_tap(TAPHOLD_EXLM, isHold); break; + case TR_AT: + single_tap(TAPHOLD_AT, isHold); + break; case TR_MINS: single_tap(TAPHOLD_MINS, isHold); break; @@ -119,26 +110,18 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { case TR_LBRC: insert_brackets(TAPHOLD_LBRC, WAIT_DELAY); break; - case TR_SQUO: - insert_brackets(TAPHOLD_SQUO, WAIT_DELAY); - break; - case TR_DQUO: - insert_brackets(TAPHOLD_DQUO, WAIT_DELAY); - break; case TR_LPRN: insert_brackets(TAPHOLD_LPRN, WAIT_DELAY); break; + case TR_SQUO: + insert_brackets(TAPHOLD_SQUO, WAIT_DELAY); + break; + //double tap case TR_EQL: double_tap(TAPHOLD_EQL, WAIT_DELAY); break; - case TR_PLUS: - double_tap(TAPHOLD_PLUS, WAIT_DELAY); - break; - //case TR_PIPE: - // double_tap(TAPHOLD_PIPE, WAIT_DELAY); - // break; case TR_BSLS: double_tap(TAPHOLD_BSLS, WAIT_DELAY); break; @@ -160,7 +143,10 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode) { single_tap(TAPHOLD_PERC, isHold); break; case TR_EXLM: - double_tap(TAPHOLD_NEQL, WAIT_DELAY); + single_tap(TAPHOLD_EXLM, isHold); + break; + case TR_AT: + single_tap(TAPHOLD_AT, isHold); break; //simulates auto-shift diff --git a/users/t4corun/features/taphold.h b/users/t4corun/features/taphold.h index f6da313a..c7d11e19 100644 --- a/users/t4corun/features/taphold.h +++ b/users/t4corun/features/taphold.h @@ -17,24 +17,20 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t keycode); #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 +#define TAPHOLD_SQUO KC_QUOT, KC_QUOT //double tap #define TAPHOLD_EQL KC_EQL, KC_EQL -#define TAPHOLD_PLUS KC_PLUS, KC_PLUS -//#define TAPHOLD_PIPE KC_PIPE, KC_PIPE #define TAPHOLD_BSLS KC_BSLS, KC_BSLS #define TAPHOLD_SLSH KC_SLSH, KC_SLSH -#define TAPHOLD_AMPR KC_AMPR, KC_AMPR //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_EXLM -#define TAPHOLD_NEQL KC_EXLM, KC_EQL +#define TAPHOLD_EXLM KC_EXLM, KC_DLR +#define TAPHOLD_AT KC_AT, KC_AMPR //auto shift #define TAPHOLD_MINS KC_MINS, KC_UNDS diff --git a/users/t4corun/t4corun.c b/users/t4corun/t4corun.c index f2afcad8..683ceed9 100644 --- a/users/t4corun/t4corun.c +++ b/users/t4corun/t4corun.c @@ -49,10 +49,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case TR_LBRC: case TR_LPRN: case TR_SQUO: - case TR_DQUO: case TR_EQL: - case TR_PLUS: - //case TR_PIPE: case TR_BSLS: case TR_SLSH: case TR_AMPR: diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index 7bd7b0b1..28841a99 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -21,19 +21,16 @@ enum keycodes { TH_LBRC, TH_LPRN, TH_SQUO, - TH_DQUO, TH_EQL, - TH_PLUS, - //TH_PIPE, TH_BSLS, TH_SLSH, - TH_AMPR, TH_COMM, TH_DOT, TH_PERC, TH_EXLM, + TH_AT, TH_MINS, TH_GRV, @@ -87,19 +84,16 @@ enum keycodes { #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, TH_EQL) // double tap -#define TR_PLUS LT(_DEFAULT_LAYER_1, TH_PLUS) -//#define TR_PIPE LT(_DEFAULT_LAYER_1, TH_PIPE) #define TR_BSLS LT(_DEFAULT_LAYER_1, TH_BSLS) #define TR_SLSH LT(_DEFAULT_LAYER_1, TH_SLSH) -#define TR_AMPR LT(_DEFAULT_LAYER_1, TH_AMPR) #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) @@ -108,47 +102,18 @@ enum keycodes { #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 -# define TR_BTN4 KC_BTN4 -# define TR_BTN5 KC_BTN5 - -# if defined(KEYBOARD_bastardkb_charybdis_3x5) -//these codes are defined in charybdis.h +#if defined(KEYBOARD_bastardkb_charybdis_3x5) +//these mouse codes are defined in charybdis.h # define TR_SNIP SNIPING # define TR_DRGS DRG_TOG # define TR_SDPI S_D_MOD //sniping dpi # define TR_PDPI DPI_MOD //pointer dpi -# else +#else # define TR_SNIP ___x___ # define TR_DRGS PN_DRGS //use host status for ploopy nano drag scroll # define TR_SDPI ___x___ # define TR_PDPI PN_PDPI //use host status for ploopy nano dpi switch -# endif //KEYBOARD_bastardkb_charybdis_3x5 - -#else - -# define TR_MWHU ___x___ -# define TR_MWHD ___x___ - -# define TR_BTN1 ___x___ -# define TR_BTN2 ___x___ -# define TR_BTN3 ___x___ -# define TR_BTN4 ___x___ -# define TR_BTN5 ___x___ - -# define TR_SNIP ___x___ -# define TR_DRGS ___x___ -# define TR_SDPI ___x___ -# define TR_PDPI ___x___ - -#endif //MOUSEKEY_ENABLE +#endif //KEYBOARD_bastardkb_charybdis_3x5 #if defined(DYNAMIC_MACRO_ENABLE) @@ -159,6 +124,7 @@ enum keycodes { # define TR_DMP1 ___x___ #endif //DYNAMIC_MACRO_ENABLE + #if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) # define TR_RHUI RGB_HUI # define TR_RSAI RGB_SAI @@ -178,7 +144,6 @@ enum keycodes { #endif //RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE - #define _DEFAULT_LAYER_1 FIRST_DEFAULT_LAYER #define _DEFAULT_LAYER_2 (FIRST_DEFAULT_LAYER + 1) #define _DEFAULT_LAYER_3 (FIRST_DEFAULT_LAYER + 2) @@ -226,8 +191,8 @@ enum keycodes { #define LAYER_SYMBOL \ - KC_ESC, TR_PERC, KC_ASTR, KC_DLR, TR_GRV, TR_EQL, KC_HASH, TR_LABK, KC_RABK, TR_AMPR, \ - _GACS_MODS________________________, TR_SCLN, KC_AT, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \ + 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___