diff --git a/README.md b/README.md index 80e02e1f..c9116c7d 100644 --- a/README.md +++ b/README.md @@ -38,9 +38,13 @@ Hold both thumb momentary layer keys `NAVIGATION` and `NUMBER` to access the `SY One Shot Mods is here to minimize holding, simplify layers, and avoid misfires from having Home Row Mods. Here we have bi-lateral(ish) GACS mods. +### Mouse Keys + +This layout is designed to be used with a Ploopy Nano. Mouse buttons and scroll wheel is handled on the keyboard side via combos. There are macros with the host status (Caps lock, Num Lock) to toggle Ploopy Nano settings and switch to drag scrolling (simulates scroll wheel) + ### Caps Word -Caps Word enables temporary all-caps typing without holding shift. Useful to typing programming variables. Tap `shift` twice to enable Caps Word. It cancels when any key is pressed except +Caps Word enables temporary all-caps typing without holding shift. Useful to typing programming variables. Tap `shift` twice to enable Caps Word. It cancels when any key is pressed except - `numbers 0-9` - `backspace` @@ -74,20 +78,32 @@ Opted to implement overrides here instead of using built-in Key Override functio ### Combos -Enables additional keys to be mapped by pressing multiple keys simultaneously. Primarily used to implement mouse buttons and make important keys (enter, backspace, etc) available on base layer +Enables additional keys to be mapped by pressing multiple keys simultaneously. Primarily used to implement mouse buttons and make important keys (tab, backspace, etc) available on base layer. Combos are mapped based on the QWERTY layout but will work on any layer*. All Combos are disabled when `CONFIG` layer is active + +| Combo | Result | Comment | +| ------------- | -------------------- | ------------------------------------------------- | +| `D` + `F` | `Mouse Button 1` | Left click. Mouse buttons only work on base layer | +| `S` + `D` | `Mouse Button 2` | RIght click | +| `F` + `G` | `Mouse Button 3` | Middle click | +| `R` + `F` | `Mouse Button 4` | Back | +| `T` + `G` | `Mouse Button 5` | Forward | +| `T` + `G` | `Drag Scroll Toggle` | | +| `C` + `V` | `Enter` | Disabled on `SYMBOL` layer | +| `U` + `I` | `Tab` | Disabled on `SYMBOL` layer | +| `M` + `Comma` | `Backspace` | | ### Key Overrides -Primarily used to minimize the layout +Enables us to customize the result of applying certain mods to keycodes. For example, Shift + Backspace will give Delete. Primarily used to minimize the number of layers required and the layout itself -| Keycode | Shift Mod Applied | Comment | -| --------- | ----------------- | -------------------------------------- | -| `KC_BSPC` | `KC_DEL` | Implemented to reduce amount of combos | -| `KC_MNXT` | `KC_MPRV` | | - -### Mouse Keys - -This layout is designed to be used with a Ploopy Nano. Mouse buttons and scroll wheel is handled on the keyboard side. There are macros with the host status (Caps lock, Num Lock) to toggle Ploopy Nano settings or change the tracking to simulate a scroll wheel +| Shortcut | Result | Comment | +| ----------------------- | ----------- | ----------------------------------------------------------------------------- | +| `Shift` + `Backspace` | `Delete` | Backspace is a combo. There are no dedicated backspace and delete keys mapped | +| `Shift` + `Next Song` | `Prev Song` | Only works on `NAVIGATION` layer | +| `Meh` + `numbers 1...9` | `F1...F9` | Only works on `NUMBER` layer. Meh is Shift + Ctrl + Alt. | +| `Meh` + `Comma` | `F10` | Only works on `NUMBER` layer | +| `Meh` + `Dot` | `F11` | Only works on `NUMBER` layer | +| `Meh` + `Minus` | `F12` | Only works on `NUMBER` layer | ## Optional Features diff --git a/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c b/keyboards/barbellboards/rollow/keymaps/t4corun/keymap.c index ab8b2ece..7f38c73b 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) }; @@ -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(___x___, ___x___) }, [_CONFIG] = { ENCODER_CCW_CW(BASELYR, RBSELYR), ENCODER_CCW_CW(TR_RMOD, TR_RRMD) } }; diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/t4corun/keymap.c index b12607a7..6354ed87 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 5250e2e9..bd1bd389 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(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___) }, - //[_FUNCTION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, [_CONFIG] = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD) } }; diff --git a/keyboards/crkbd/keymaps/t4corun/keymap.c b/keyboards/crkbd/keymaps/t4corun/keymap.c index 6d864e98..097ce3ad 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 9169b139..173f6c08 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/keymap-drawer.yml b/keymap-drawer.yml index 9e4a13dc..e52c5624 100644 --- a/keymap-drawer.yml +++ b/keymap-drawer.yml @@ -45,7 +45,7 @@ layers: NUM: - [Esc, Mouse 3, Mouse 2, Mouse 1, Print Screen, null, "7", "8" ,"9", {s: "<", t: ","} ] - [Gui, Alt, Ctrl, Shift, null, null, "4", "5" ,"6", {s: ">", t: "."}] - - [Undo, Cut, Copy, Paste, Redo, null, "1", "2" ,"3", {h: "_", t: "-"}] + - [Undo, Cut, Copy, Paste, Redo, null, "1", "2" ,"3", {s: "_", t: "-"}] - {type: ghost} - {type: held} - null diff --git a/my_keymap.png b/my_keymap.png index cad4dd90..73de6256 100644 Binary files a/my_keymap.png and b/my_keymap.png differ diff --git a/users/t4corun/features/combo.c b/users/t4corun/features/combo.c index f4d80506..835ae85d 100644 --- a/users/t4corun/features/combo.c +++ b/users/t4corun/features/combo.c @@ -30,11 +30,8 @@ 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; - case KEY_TAB: - if ( get_highest_layer(layer_state) == _NAVIGATION || - get_highest_layer(layer_state) == _SYMBOL ) return false; + if ( get_highest_layer(layer_state) == _SYMBOL ) return false; case MOUSE_BUTTON1: case MOUSE_BUTTON2: diff --git a/users/t4corun/features/oled.c b/users/t4corun/features/oled.c index 12fca159..d545be25 100644 --- a/users/t4corun/features/oled.c +++ b/users/t4corun/features/oled.c @@ -48,7 +48,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 0b0000f5..2259e365 100644 --- a/users/t4corun/features/oled.h +++ b/users/t4corun/features/oled.h @@ -15,7 +15,6 @@ #define OLED_RENDER_LAYER_NAVIGATION " Nav " #define OLED_RENDER_LAYER_NUMBER " Num " #define OLED_RENDER_LAYER_SYMBOL " Sym " -//#define OLED_RENDER_LAYER_FUNCTION " Fun " #define OLED_RENDER_LAYER_CONFIG " Cfg " void render_crkbd_logo(void); diff --git a/users/t4corun/t4corun.h b/users/t4corun/t4corun.h index a6208a8d..599aa2cf 100644 --- a/users/t4corun/t4corun.h +++ b/users/t4corun/t4corun.h @@ -11,7 +11,6 @@ enum layers { _NAVIGATION, _NUMBER, _SYMBOL, - //_FUNCTION, _CONFIG }; @@ -51,7 +50,6 @@ enum keycodes { #define NAV MO(_NAVIGATION) #define NAV_0 LT(_NAVIGATION, KC_0) #define NUM MO(_NUMBER) -//f#define FUNC MO(_FUNCTION) #define CONFIG MO(_CONFIG) // Windows Shortcuts @@ -64,8 +62,8 @@ enum keycodes { #define SC_FILE LGUI(KC_E) // Zoom for encoders -#define ZOOMIN LCTL(LSFT(KC_EQL)) -#define ZOOMOUT LCTL(KC_MINS) +#define ZOOMIN LCTL(KC_WH_U) +#define ZOOMOUT LCTL(KC_WH_D) #define ZOOMRST LCTL(KC_0) /* @@ -107,6 +105,7 @@ enum keycodes { #define TR_SCLN LT(_DEFAULT_LAYER_1, TH_SCLN) #define TR_QUOT LT(_DEFAULT_LAYER_1, TH_QUOT) +// Tells the process_tap_hold_key what kind of hold action is wanted #define HOLD_SINGLETP 0 #define HOLD_DOUBLETP 1 #define HOLD_BRACKETS 2 @@ -204,7 +203,7 @@ enum keycodes { #define LAYER_NUMBER \ KC_ESC, KC_BTN3, KC_BTN2, KC_BTN1, KC_PSCR, ___x___, KC_7, KC_8, KC_9, KC_COMM, \ _GACS_MODS________________________, ___x___, ___x___, KC_4, KC_5, KC_6, KC_DOT, \ - _UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, TR_MINS, \ + _UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \ _LAYER_TRANS_____________, _BASE_R4_ZERO____________ @@ -214,27 +213,9 @@ enum keycodes { ___x___, TR_LABK, KC_RABK, TR_BSLS, TR_PIPE, KC_DLR, TR_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \ _LAYER_TRANS_____________, _LAYER_TRANS_____________ -/* -#define LAYER_FUNCTION \ - _NONE_5____________________________________, ___x___, KC_F7, KC_F8, KC_F9, KC_F10, \ - ___x___, ___x___, ___x___, ___x___, _______, KC_CAPS, KC_F4, KC_F5, KC_F6, KC_F11, \ - _NONE_5____________________________________, ___x___, KC_F1, KC_F2, KC_F3, KC_F12, \ - _LAYER_TRANS_____________, _NONE_3__________________ -*/ #define LAYER_CONFIG \ _NONE_5____________________________________, ___x___, ___x___, EE_CLR, QK_BOOT, _______, \ _NONE_5____________________________________, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \ _NONE_5____________________________________, TR_RTOG, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \ - BASELYR, ___x___, ___x___, TR_DMP1, TR_DMR1, TR_RTOG - - -/* -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___ -*/ \ No newline at end of file + BASELYR, ___x___, ___x___, TR_DMP1, TR_DMR1, TR_RTOG \ No newline at end of file