mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-05-01 13:14:18 -04:00
Keymap tweaks
- Brought back Mouse Z for temporary mouse usage - Combined Mouse and Function Keys into one Layer - Cleaned up unused code (e.g. combos, key overrides) - Updated all keyboards with new layer - Updated documentation - I think this will be it for now. Making a list somewhere else for future enhancements
This commit is contained in:
parent
2f6929eae1
commit
82832d4fc7
17 changed files with 127 additions and 172 deletions
54
README.md
54
README.md
|
@ -14,7 +14,6 @@ The custom layout optimizes for programming (SQL, Powershell, C) and minimizes h
|
|||
Notes:
|
||||
|
||||
- Outside thumb keys are encoder clicks. Some keyboards may have extra thumb keys
|
||||
- Pressing Pointer DPI and Drag Scroll Toggle together will enter Ploopy Nano's boot loader
|
||||
|
||||

|
||||
|
||||
|
@ -40,7 +39,7 @@ One Shot Mods is here to minimize holding, simplify layers, and avoid misfires f
|
|||
|
||||
### 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)
|
||||
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 (Scroll lock, Num Lock) to switch DPI and enable momentary drag scrolling
|
||||
|
||||
### Caps Word
|
||||
|
||||
|
@ -82,30 +81,22 @@ Enables additional keys to be mapped by pressing multiple keys simultaneously. P
|
|||
|
||||
| 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` | |
|
||||
| `U` + `I` | `Tab` | |
|
||||
| `M` + `Comma` | `Backspace` | |
|
||||
| `C` + `V` | `KC_BTN1` | Left click. Mouse buttons only work on base layer |
|
||||
| `X` + `V` | `Drag Scroll Toggle` | Actual command varies per board |
|
||||
| `D` + `F` | `KC_ENT` | |
|
||||
| `J` + `K` | `KC_TAB` | |
|
||||
| `M` + `Comma` | `KC_BSPC` | |
|
||||
|
||||
### Key Overrides
|
||||
|
||||
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
|
||||
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 and the layout
|
||||
|
||||
| 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` + `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 |
|
||||
| `Ctrl` + `Mouse 1` | `Print Screen` | Only works on `NUMBER` layer |
|
||||
| `Alt` + `Mouse 2` | `Open File Explorer` | Only works on `NUMBER` layer. Keyboard Shortcut `GUI` + `E` |
|
||||
| Shortcut | Result | Comment |
|
||||
| ------------------- | --------- | ----------------------------------------------------------------------------- |
|
||||
| `Shift` + `KC_BSPC` | `KC_DEL` | Backspace is a combo. There are no dedicated backspace and delete keys mapped |
|
||||
| `Shift` + `HF_NEXT` | `HF_PREV` | Only works on `CONFIG` layer Only for keyboards with Haptic feedback enabled |
|
||||
| `Shift` + `HF_CONU` | `HF_COND` | Only works on `CONFIG` layer. Only for keyboards with Haptic feedback enabled |
|
||||
| `Shift` + `CK_UP` | `CK_DOWN` | Only works on `CONFIG` layer. Only for keyboards with Audio enabled |
|
||||
|
||||
## Optional Features
|
||||
|
||||
|
@ -115,31 +106,36 @@ These features can be disabled due to MCU size constraints or because certain ke
|
|||
|
||||
Enables trackball functionality on certain boards (e.g., Ploopy Nano and Bastardkb Charybdis Nano). The board definitions enables unique functionality:
|
||||
|
||||
- Charybdis Nano: "Sniper" precision tracking, drag Scroll, DPI changes
|
||||
- Ploopy Nano: Ties with Host Status LED macros to enable drag scroll, dpi changes, and bootloader
|
||||
- Charybdis Nano: "Sniper" precision tracking, toggle/momentary drag scroll, DPI changes
|
||||
- Ploopy Nano: Ties with Host State for momentary drag scroll, dpi changes, and bootloader
|
||||
|
||||
Note: `MOUSEKEY_ENABLE` do not need to be enabled in tandem with this to get the mouse buttons.
|
||||
Note: Enabling Num Lock, Caps Lock, and Scroll Lock simultaneously will tell the Ploopy Nano to enter bootloader mode
|
||||
|
||||
### RGB Matrix
|
||||
|
||||
Taste the rainbow for boards with RGB LEDs and large MCU memory footprints. Enables RGB lighting effects and layer/host status indicators. Review the keyboard files to identify the key position for each LED and update the preprocessor definitions in `config\rgbmatrix_config.h`
|
||||
Enable RGB lighting effects for large MCU memory footprints. Review the keyboard files to identify the key position for each LED and update the preprocessor definitions in `config.h`
|
||||
|
||||
### OLED
|
||||
|
||||
Enables keyboard status visualization. Shows currently selected layer, active modifiers, and host status (e.g, Num / Caps / Scroll Lock)
|
||||
Enables keyboard status visualization. Shows information like selected layer, active modifiers, and host state (e.g, Num / Caps / Scroll Lock), and Luna pet animation
|
||||
|
||||
### Haptic Feedback and Audio
|
||||
|
||||
Basic keyboard buzzing and key click audio for the Geist KLOR.
|
||||
|
||||
## Target Keyboards
|
||||
|
||||
All boards use my keymaps unless noted
|
||||
|
||||
- Ploopy Nano: `lkbm` keymap
|
||||
- Ploopy Nano
|
||||
- Bastardkb Charybdis Nano 3x5
|
||||
- Crkbd 3x6
|
||||
- Planck Rev6
|
||||
- Ferris Swoop
|
||||
- Barbell Rollow (non-tree)
|
||||
- Geist KLOR (non-tree)
|
||||
- DZRGB60v2 (coming)
|
||||
- Geist KLOR (coming)
|
||||
- Crkbd 3x6 (deprecated)
|
||||
|
||||
## Links
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NAVIGATION] = ROLLOW(LAYER_NAVIGATION),
|
||||
[_NUMBER] = ROLLOW(LAYER_NUMBER),
|
||||
[_SYMBOL] = ROLLOW(LAYER_SYMBOL),
|
||||
[_MOUSE_FUNC] = ROLLOW(LAYER_MOUSE_FUNC),
|
||||
[_CONFIG] = ROLLOW(LAYER_CONFIG)
|
||||
|
||||
};
|
||||
|
@ -41,6 +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___) },
|
||||
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[_CONFIG] = { ENCODER_CCW_CW(BASELYR, RBSELYR), ENCODER_CCW_CW(TR_RMOD, TR_RRMD) }
|
||||
|
||||
};
|
||||
|
|
|
@ -40,6 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NAVIGATION] = CNANO(LAYER_NAVIGATION),
|
||||
[_NUMBER] = CNANO(LAYER_NUMBER),
|
||||
[_SYMBOL] = CNANO(LAYER_SYMBOL),
|
||||
[_MOUSE_FUNC] = CNANO(LAYER_MOUSE_FUNC),
|
||||
[_CONFIG] = CNANO(LAYER_CONFIG)
|
||||
|
||||
};
|
|
@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NAVIGATION] = SWOOP(LAYER_NAVIGATION),
|
||||
[_NUMBER] = SWOOP(LAYER_NUMBER),
|
||||
[_SYMBOL] = SWOOP(LAYER_SYMBOL),
|
||||
[_MOUSE] = SWOOP(LAYER_MOUSE),
|
||||
[_MOUSE_FUNC] = SWOOP(LAYER_MOUSE_FUNC),
|
||||
[_CONFIG] = SWOOP(LAYER_CONFIG)
|
||||
|
||||
};
|
||||
|
@ -58,7 +58,7 @@ 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___) },
|
||||
[_MOUSE] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_CONFIG] = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD) }
|
||||
|
||||
};
|
||||
|
|
|
@ -40,6 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NAVIGATION] = CRKBD(LAYER_NAVIGATION),
|
||||
[_NUMBER] = CRKBD(LAYER_NUMBER),
|
||||
[_SYMBOL] = CRKBD(LAYER_SYMBOL),
|
||||
[_MOUSE_FUNC] = CRKBD(LAYER_MOUSE_FUNC),
|
||||
[_CONFIG] = CRKBD(LAYER_CONFIG)
|
||||
|
||||
};
|
|
@ -25,6 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NAVIGATION] = KLOR(LAYER_NAVIGATION),
|
||||
[_NUMBER] = KLOR(LAYER_NUMBER),
|
||||
[_SYMBOL] = KLOR(LAYER_SYMBOL),
|
||||
[_MOUSE_FUNC] = KLOR(LAYER_MOUSE_FUNC),
|
||||
[_CONFIG] = KLOR(LAYER_CONFIG)
|
||||
|
||||
};
|
||||
|
@ -40,6 +41,7 @@ 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___) },
|
||||
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_CONFIG] = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD) }
|
||||
|
||||
};
|
||||
|
|
|
@ -25,6 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NAVIGATION] = PLANCK(LAYER_NAVIGATION),
|
||||
[_NUMBER] = PLANCK(LAYER_NUMBER),
|
||||
[_SYMBOL] = PLANCK(LAYER_SYMBOL),
|
||||
[_MOUSE_FUNC] = PLANCK(LAYER_MOUSE_FUNC),
|
||||
[_CONFIG] = PLANCK(LAYER_CONFIG)
|
||||
|
||||
};
|
|
@ -5,7 +5,7 @@ layers:
|
|||
base_QWERTY:
|
||||
- [Q, W, E, R, T, Y, U, I ,O, P]
|
||||
- [A, S, D, F, G, H, J, K ,L, {h: "\"", t: "'"}]
|
||||
- [Z, X, C, V, B, N, M, {h: "(", t: ","} , {h: ")", t: "."}, {h: "_", t: "-"}]
|
||||
- [{h: "MOUSE", t: "Z"}, X, C, V, B, N, M, {h: "(", t: ","} , {h: ")", t: "."}, {h: "_", t: "-"}]
|
||||
- {type: ghost}
|
||||
- NUM
|
||||
- Shift
|
||||
|
@ -15,7 +15,7 @@ layers:
|
|||
base_COLEMAK_DH:
|
||||
- [Q, W, F, P, B, J, L, U ,Y, {h: "\"", t: "'"}]
|
||||
- [A, R, S, T, G, M, N, E ,I, O]
|
||||
- [Z, X, C, D, V, K, H, {h: "(", t: ","} , {h: ")", t: "."}, {h: "_", t: "-"}]
|
||||
- [{h: "MOUSE", t: "Z"}, X, C, D, V, K, H, {h: "(", t: ","} , {h: ")", t: "."}, {h: "_", t: "-"}]
|
||||
- {type: ghost}
|
||||
- NUM
|
||||
- Shift
|
||||
|
@ -33,9 +33,9 @@ layers:
|
|||
- NAV
|
||||
- {t: Mute, type: ghost}
|
||||
NAV:
|
||||
- [Esc, Home, ▲, End, Page Up, null, null, null, null, CONFIG ]
|
||||
- [Esc, Home, ▲, End, Page Up, null, null, null, Caps Lock, CONFIG ]
|
||||
- [null, ◄, ▼, ►, Page Down, null, Shift, Ctrl, Alt, Gui ]
|
||||
- [Undo, Cut, Copy, Paste, Redo, null, App, Sniper Toggle, Sniper DPI, Pointer DPI ]
|
||||
- [Undo, Cut, Copy, Paste, Redo, null, App, Vol -, Vol +, Mute ]
|
||||
- {t: Zoom Reset, type: ghost}
|
||||
- NUM
|
||||
- Ent
|
||||
|
@ -43,7 +43,7 @@ layers:
|
|||
- {type: held}
|
||||
- {type: ghost}
|
||||
NUM:
|
||||
- [Esc, Mouse 3, Mouse 2, Mouse 1, {h: "~", t: "`"}, null, "7", "8" ,"9", {s: "<", t: ","} ]
|
||||
- [Esc, Win Snip, File Explorer, null, {h: "~", t: "`"}, null, "7", "8" ,"9", {s: "<", t: ","} ]
|
||||
- [Gui, Alt, Ctrl, Shift, {h: ":", t: ";"}, "0", "4", "5" ,"6", {s: ">", t: "."}]
|
||||
- [Undo, Cut, Copy, Paste, Redo, null, "1", "2" ,"3", {s: "_", t: "-"}]
|
||||
- {type: ghost}
|
||||
|
@ -53,34 +53,40 @@ layers:
|
|||
- NAV
|
||||
- {t: Mute, type: ghost}
|
||||
SYM:
|
||||
- [null, null, "&", {h: "%", t: "^"}, {h: "~", t: "`"}, {h: "+", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
|
||||
- [Caps Lock, {h: "{}", t: "{"}, "}", "!", {h: ":", t: ";"}, "@", "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
|
||||
- [null, {h: "<>", t: "<"}, ">", {h: "\\\\", t: "\\"}, {h: "||", t: "|"}, "$", {h: "//", t: "/"}, {h: "()", t: "("}, ")", {h: "_", t: "-"}]
|
||||
- [null, null, "@", "$", {h: "~", t: "`"}, {h: "+", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
|
||||
- [null, {h: "{}", t: "{"}, "}", "!", {h: ":", t: ";"}, "&", "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
|
||||
- [null, {h: "<>", t: "<"}, ">", {h: "\\\\", t: "\\"}, {h: "||", t: "|"}, {h: "%", t: "^"}, {h: "//", t: "/"}, {h: "()", t: "("}, ")", {h: "_", t: "-"}]
|
||||
- {type: ghost}
|
||||
- {type: held}
|
||||
- null
|
||||
- null
|
||||
- {type: held}
|
||||
- {type: ghost}
|
||||
MOUSE_FUNCTION:
|
||||
- [null, Prev Song, Next Song, Play Pause, Null, null, F7, F8 ,F9, F10]
|
||||
- [Gui, Alt, Ctrl, Shift, Drag Scroll, null, F4, F5 ,F6, F11]
|
||||
- [{type: held}, Mouse 5, Mouse 4, Mouse 3, Sniper, null, F1, F2 ,F3, F12]
|
||||
- {type: ghost}
|
||||
- "Mouse 1"
|
||||
- "Mouse 2"
|
||||
- "Pointer DPI"
|
||||
- "Sniper DPI"
|
||||
- {t: Mute, type: ghost}
|
||||
CONFIG:
|
||||
- [null, null, null, null, null, null, null, EEPROM Clear, Boot Loader, {type: held}]
|
||||
- [null, null, null, null, null, null, Shift, null, null, RGB Mode]
|
||||
- [Mute, Vol-, Vol+, Next Song, Play Pause, RGB Toggle, RGB Hue, RGB Sat, RGB Vib, RGB Spd]
|
||||
- [Haptic Reset, Haptic Strength+, Haptic Waveform+, Haptic Feedback Toggle, Haptic Toggle, null, Nano Reboot, EEPROM Clear, Boot Loader, {type: held}]
|
||||
- [Audio Click Reset, Audio Click+, Audio Click Toggle, null, Audio Toggle, null, Shift, null, null, Base Layer]
|
||||
- [null, null, null, null, RGB Toggle, RGB Mode, RGB Hue, RGB Sat, RGB Vib, RGB Spd]
|
||||
- {t: Base Layer, type: ghost}
|
||||
- null
|
||||
- null
|
||||
- Macro Play
|
||||
- Macro Rec
|
||||
- Macro Rec 1
|
||||
- Macro Play 1
|
||||
- Macro Play 2
|
||||
- Macro Rec 2
|
||||
- {t: RGB Toggle, type: ghost}
|
||||
combos:
|
||||
- { p: [12, 13], k: MB1, l: [base_QWERTY] }
|
||||
- { p: [11, 12], k: MB2, l: [base_QWERTY] }
|
||||
- { p: [13, 14], k: MB3, l: [base_QWERTY] }
|
||||
- { p: [3, 13], k: MB4, l: [base_QWERTY] }
|
||||
- { p: [4, 14], k: MB5, l: [base_QWERTY] }
|
||||
- { p: [21, 22], k: DrgScr Tog, l: [base_QWERTY] }
|
||||
- { p: [6, 7], k: Tab, l: [base_QWERTY] }
|
||||
- { p: [22, 23], k: Enter, l: [base_QWERTY] }
|
||||
- { p: [22, 23], k: MB1, l: [base_QWERTY] }
|
||||
- { p: [21, 23], k: DrgScr Tog, l: [base_QWERTY] }
|
||||
- { p: [16, 17], k: Tab, l: [base_QWERTY] }
|
||||
- { p: [12, 13], k: Enter, l: [base_QWERTY] }
|
||||
- { p: [26, 27], k: Bksp, l: [base_QWERTY] }
|
||||
draw_config:
|
||||
small_pad: 6
|
BIN
my_keymap.png
BIN
my_keymap.png
Binary file not shown.
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 240 KiB |
1
qmk.json
1
qmk.json
|
@ -2,7 +2,6 @@
|
|||
"userspace_version": "1.0",
|
||||
"build_targets": [
|
||||
|
||||
["crkbd/rev1", "t4corun"],
|
||||
["bastardkb/charybdis/3x5/v2/splinky_3", "t4corun"],
|
||||
["planck/rev6", "t4corun"],
|
||||
["bluebell/swoop", "t4corun"],
|
||||
|
|
|
@ -130,6 +130,8 @@
|
|||
* https://docs.qmk.fm/features/rgb_matrix
|
||||
*/
|
||||
#if defined(RGB_MATRIX_ENABLE)
|
||||
# undef RGB_MATRIX_DEFAULT_VAL
|
||||
|
||||
# define RGB_MATRIX_SLEEP
|
||||
# define RGB_MATRIX_TIMEOUT 60000 //1 min
|
||||
|
||||
|
|
|
@ -2,47 +2,35 @@
|
|||
|
||||
|
||||
bool get_combo_must_tap(uint16_t index, combo_t *combo) {
|
||||
|
||||
switch (index) {
|
||||
|
||||
// case MOUSE_BUTTON3:
|
||||
// case MOUSE_BUTTON4:
|
||||
// case MOUSE_BUTTON5:
|
||||
// case MOUSE_DRGTOG:
|
||||
|
||||
case KEY_ENT:
|
||||
case KEY_TAB:
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
|
||||
bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
|
||||
// disable all combos on config layer
|
||||
if ( get_highest_layer(layer_state | default_layer_state) == _CONFIG ) return false;
|
||||
|
||||
switch (combo_index) {
|
||||
|
||||
|
||||
// case MOUSE_BUTTON1:
|
||||
// case MOUSE_BUTTON2:
|
||||
// case MOUSE_BUTTON3:
|
||||
// case MOUSE_BUTTON4:
|
||||
// case MOUSE_BUTTON5:
|
||||
case MOUSE_BUTTON1:
|
||||
if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
case MOUSE_DRGTOG:
|
||||
if (( get_highest_layer(layer_state | default_layer_state) != FIRST_DEFAULT_LAYER )
|
||||
&& ( get_highest_layer(layer_state | default_layer_state) != _MOUSE )) {
|
||||
&& ( get_highest_layer(layer_state | default_layer_state) != _MOUSE_FUNC )) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
|
@ -2,25 +2,16 @@
|
|||
#include "t4corun.h"
|
||||
|
||||
|
||||
//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_F, KC_G, 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_btn1_combo[] = { KC_C, KC_V, COMBO_END };
|
||||
const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_V, COMBO_END };
|
||||
|
||||
|
||||
const uint16_t PROGMEM key_ent_combo[] = { KC_C, KC_V, COMBO_END };
|
||||
const uint16_t PROGMEM key_ent_combo[] = { KC_D, KC_F, COMBO_END };
|
||||
const uint16_t PROGMEM key_bspc_combo[] = { KC_M, TR_COMM, COMBO_END };
|
||||
const uint16_t PROGMEM key_tab_combo[] = { KC_J, KC_K, COMBO_END };
|
||||
|
||||
|
||||
enum combos {
|
||||
// MOUSE_BUTTON1,
|
||||
// MOUSE_BUTTON2,
|
||||
// MOUSE_BUTTON3,
|
||||
// MOUSE_BUTTON4,
|
||||
// MOUSE_BUTTON5,
|
||||
MOUSE_BUTTON1,
|
||||
MOUSE_DRGTOG,
|
||||
KEY_ENT,
|
||||
KEY_BSPC,
|
||||
|
@ -28,17 +19,11 @@ enum combos {
|
|||
COMBO_LENGTH
|
||||
};
|
||||
|
||||
|
||||
//their documentation is so confusing because you don't use COMBO_LEN defining the actions
|
||||
uint16_t COMBO_LEN = COMBO_LENGTH;
|
||||
|
||||
|
||||
combo_t key_combos[COMBO_LENGTH] = {
|
||||
// [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_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1),
|
||||
[MOUSE_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS),
|
||||
[KEY_ENT] = COMBO(key_ent_combo, KC_ENT),
|
||||
[KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC),
|
||||
|
|
|
@ -14,21 +14,6 @@ Intentionally did not convert all the override/autoshit tap holds to this format
|
|||
|
||||
const key_override_t delete_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL);
|
||||
|
||||
const key_override_t media_next_override = ko_make_with_layers(MOD_MASK_SHIFT, KC_MNXT, KC_MPRV, 1<<_NAVIGATION);
|
||||
|
||||
const key_override_t f1_override = ko_make_with_layers(MOD_MASK_CSA, KC_1, KC_F1, 1<<_NUMBER);
|
||||
const key_override_t f2_override = ko_make_with_layers(MOD_MASK_CSA, KC_2, KC_F2, 1<<_NUMBER);
|
||||
const key_override_t f3_override = ko_make_with_layers(MOD_MASK_CSA, KC_3, KC_F3, 1<<_NUMBER);
|
||||
const key_override_t f4_override = ko_make_with_layers(MOD_MASK_CSA, KC_4, KC_F4, 1<<_NUMBER);
|
||||
const key_override_t f5_override = ko_make_with_layers(MOD_MASK_CSA, KC_5, KC_F5, 1<<_NUMBER);
|
||||
const key_override_t f6_override = ko_make_with_layers(MOD_MASK_CSA, KC_6, KC_F6, 1<<_NUMBER);
|
||||
const key_override_t f7_override = ko_make_with_layers(MOD_MASK_CSA, KC_7, KC_F7, 1<<_NUMBER);
|
||||
const key_override_t f8_override = ko_make_with_layers(MOD_MASK_CSA, KC_8, KC_F8, 1<<_NUMBER);
|
||||
const key_override_t f9_override = ko_make_with_layers(MOD_MASK_CSA, KC_9, KC_F9, 1<<_NUMBER);
|
||||
const key_override_t f10_override = ko_make_with_layers(MOD_MASK_CSA, KC_COMM, KC_F10, 1<<_NUMBER);
|
||||
const key_override_t f11_override = ko_make_with_layers(MOD_MASK_CSA, KC_DOT, KC_F11, 1<<_NUMBER);
|
||||
const key_override_t f12_override = ko_make_with_layers(MOD_MASK_CSA, KC_MINS, KC_F12, 1<<_NUMBER);
|
||||
|
||||
#if defined(HAPTIC_ENABLE)
|
||||
const key_override_t hfnext_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HNXT, HF_PREV, 1<<_CONFIG);
|
||||
const key_override_t hfconu_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HCNU, HF_COND, 1<<_CONFIG);
|
||||
|
@ -41,19 +26,6 @@ const key_override_t ckup_override = ko_make_with_layers(MOD_MASK_SHIFT, C
|
|||
const key_override_t **key_overrides = (const key_override_t *[]) {
|
||||
|
||||
&delete_override,
|
||||
&media_next_override,
|
||||
&f1_override,
|
||||
&f2_override,
|
||||
&f3_override,
|
||||
&f4_override,
|
||||
&f5_override,
|
||||
&f6_override,
|
||||
&f7_override,
|
||||
&f8_override,
|
||||
&f9_override,
|
||||
&f10_override,
|
||||
&f11_override,
|
||||
&f12_override,
|
||||
|
||||
#if defined(HAPTIC_ENABLE)
|
||||
&hfnext_override,
|
||||
|
|
|
@ -42,7 +42,7 @@ void render_layer_state(uint8_t col, uint8_t line, bool moveCursor) {
|
|||
case _SYMBOL:
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_4), false);
|
||||
break;
|
||||
case _MOUSE:
|
||||
case _MOUSE_FUNC:
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_5), false);
|
||||
break;
|
||||
case _CONFIG:
|
||||
|
@ -65,7 +65,7 @@ void render_layer_state_list(uint8_t col, uint8_t line, bool moveCursor) {
|
|||
oled_write_P(PSTR(OLED_RENDER_LAYER_2), get_highest_layer(layer_state) == _NAVIGATION);
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_3), get_highest_layer(layer_state) == _NUMBER);
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_4), get_highest_layer(layer_state) == _SYMBOL);
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _MOUSE);
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _MOUSE_FUNC);
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_6), get_highest_layer(layer_state) == _CONFIG);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
# define OLED_RENDER_LAYER_2 "Navigation"
|
||||
# define OLED_RENDER_LAYER_3 "Number "
|
||||
# define OLED_RENDER_LAYER_4 "Symbol "
|
||||
# define OLED_RENDER_LAYER_5 "Mouse "
|
||||
# define OLED_RENDER_LAYER_5 "Mouse+Func"
|
||||
# define OLED_RENDER_LAYER_6 "Config "
|
||||
#else
|
||||
//128x32 are ? x 5 char wide
|
||||
|
@ -23,7 +23,7 @@
|
|||
# define OLED_RENDER_LAYER_2 " Nav "
|
||||
# define OLED_RENDER_LAYER_3 " Num "
|
||||
# define OLED_RENDER_LAYER_4 " Sym "
|
||||
# define OLED_RENDER_LAYER_5 " Mou "
|
||||
# define OLED_RENDER_LAYER_5 " MFn "
|
||||
# define OLED_RENDER_LAYER_6 " Cfg "
|
||||
#endif
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ enum layers {
|
|||
_NAVIGATION,
|
||||
_NUMBER,
|
||||
_SYMBOL,
|
||||
_MOUSE,
|
||||
_MOUSE_FUNC,
|
||||
_CONFIG
|
||||
};
|
||||
|
||||
|
@ -56,24 +56,24 @@ enum keycodes {
|
|||
#define ___x___ KC_NO
|
||||
|
||||
// layer changes
|
||||
#define NAV MO(_NAVIGATION)
|
||||
#define NUM MO(_NUMBER)
|
||||
#define MOUSE TG(_MOUSE)
|
||||
#define CONFIG MO(_CONFIG)
|
||||
#define NAV MO(_NAVIGATION)
|
||||
#define NUM MO(_NUMBER)
|
||||
#define MF_Z LT(_MOUSE_FUNC, KC_Z)
|
||||
#define CONFIG MO(_CONFIG)
|
||||
|
||||
// Windows Shortcuts
|
||||
#define SC_COPY LCTL(KC_C)
|
||||
#define SC_CUT LCTL(KC_X)
|
||||
#define SC_UNDO LCTL(KC_Z)
|
||||
#define SC_PAST LCTL(KC_V)
|
||||
#define SC_REDO LCTL(KC_Y)
|
||||
#define SC_SNIP LGUI(LSFT(KC_S))
|
||||
#define SC_FILE LGUI(KC_E)
|
||||
#define SC_COPY LCTL(KC_C)
|
||||
#define SC_CUT LCTL(KC_X)
|
||||
#define SC_UNDO LCTL(KC_Z)
|
||||
#define SC_PAST LCTL(KC_V)
|
||||
#define SC_REDO LCTL(KC_Y)
|
||||
#define SC_SNIP LGUI(LSFT(KC_S))
|
||||
#define SC_FILE LGUI(KC_E)
|
||||
|
||||
// Zoom for encoders
|
||||
#define ZOOMIN LCTL(KC_WH_U)
|
||||
#define ZOOMOUT LCTL(KC_WH_D)
|
||||
#define ZOOMRST LCTL(KC_0)
|
||||
#define ZOOMIN LCTL(KC_WH_U)
|
||||
#define ZOOMOUT LCTL(KC_WH_D)
|
||||
#define ZOOMRST LCTL(KC_0)
|
||||
|
||||
/*
|
||||
- Any keycodes with prefix TR has behavior dependent on if the feature is enabled.
|
||||
|
@ -90,29 +90,29 @@ enum keycodes {
|
|||
|
||||
// tap hoLd. These will be intercepted and overridden. The LT will be ignored
|
||||
// Brackets: open and close brackets and put the cursor inside
|
||||
#define TR_LCBR LT(FIRST_DEFAULT_LAYER, TH_LCBR)
|
||||
#define TR_LABK LT(FIRST_DEFAULT_LAYER, TH_LABK)
|
||||
#define TR_LBRC LT(FIRST_DEFAULT_LAYER, TH_LBRC)
|
||||
#define TR_LPRN LT(FIRST_DEFAULT_LAYER, TH_LPRN)
|
||||
#define TR_DQUO LT(FIRST_DEFAULT_LAYER, TH_DQUO)
|
||||
#define TR_SQUO LT(FIRST_DEFAULT_LAYER, TH_SQUO)
|
||||
#define TR_LCBR LT(FIRST_DEFAULT_LAYER, TH_LCBR)
|
||||
#define TR_LABK LT(FIRST_DEFAULT_LAYER, TH_LABK)
|
||||
#define TR_LBRC LT(FIRST_DEFAULT_LAYER, TH_LBRC)
|
||||
#define TR_LPRN LT(FIRST_DEFAULT_LAYER, TH_LPRN)
|
||||
#define TR_DQUO LT(FIRST_DEFAULT_LAYER, TH_DQUO)
|
||||
#define TR_SQUO LT(FIRST_DEFAULT_LAYER, TH_SQUO)
|
||||
|
||||
// double tap
|
||||
#define TR_BSLS LT(FIRST_DEFAULT_LAYER, TH_BSLS)
|
||||
#define TR_SLSH LT(FIRST_DEFAULT_LAYER, TH_SLSH)
|
||||
#define TR_PIPE LT(FIRST_DEFAULT_LAYER, TH_PIPE)
|
||||
#define TR_BSLS LT(FIRST_DEFAULT_LAYER, TH_BSLS)
|
||||
#define TR_SLSH LT(FIRST_DEFAULT_LAYER, TH_SLSH)
|
||||
#define TR_PIPE LT(FIRST_DEFAULT_LAYER, TH_PIPE)
|
||||
|
||||
// Custom override without holding shift
|
||||
#define TR_COMM LT(FIRST_DEFAULT_LAYER, TH_COMM)
|
||||
#define TR_DOT LT(FIRST_DEFAULT_LAYER, TH_DOT)
|
||||
#define TR_PERC LT(FIRST_DEFAULT_LAYER, TH_PERC)
|
||||
#define TR_COMM LT(FIRST_DEFAULT_LAYER, TH_COMM)
|
||||
#define TR_DOT LT(FIRST_DEFAULT_LAYER, TH_DOT)
|
||||
#define TR_PERC LT(FIRST_DEFAULT_LAYER, TH_PERC)
|
||||
|
||||
// auto shift
|
||||
#define TR_EQL LT(FIRST_DEFAULT_LAYER, TH_EQL)
|
||||
#define TR_MINS LT(FIRST_DEFAULT_LAYER, TH_MINS)
|
||||
#define TR_GRV LT(FIRST_DEFAULT_LAYER, TH_GRV)
|
||||
#define TR_SCLN LT(FIRST_DEFAULT_LAYER, TH_SCLN)
|
||||
#define TR_QUOT LT(FIRST_DEFAULT_LAYER, TH_QUOT)
|
||||
#define TR_EQL LT(FIRST_DEFAULT_LAYER, TH_EQL)
|
||||
#define TR_MINS LT(FIRST_DEFAULT_LAYER, TH_MINS)
|
||||
#define TR_GRV LT(FIRST_DEFAULT_LAYER, TH_GRV)
|
||||
#define TR_SCLN LT(FIRST_DEFAULT_LAYER, TH_SCLN)
|
||||
#define TR_QUOT LT(FIRST_DEFAULT_LAYER, TH_QUOT)
|
||||
|
||||
|
||||
#if defined(KEYBOARD_bastardkb_charybdis_3x5)
|
||||
|
@ -201,14 +201,14 @@ enum keycodes {
|
|||
#define LAYER_QWERTY \
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TR_QUOT, \
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \
|
||||
MF_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \
|
||||
_BASE_L4_________________, _BASE_R4_________________
|
||||
|
||||
|
||||
#define LAYER_COLEMAK_DH \
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TR_QUOT, \
|
||||
KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
|
||||
KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \
|
||||
MF_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \
|
||||
_BASE_L4_________________, _BASE_R4_________________
|
||||
|
||||
|
||||
|
@ -220,14 +220,14 @@ enum keycodes {
|
|||
|
||||
|
||||
#define LAYER_NAVIGATION \
|
||||
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, ___x___, SC_FILE, SC_SNIP, CONFIG, \
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
|
||||
_UCCPR_L___________________________________, ___x___, KC_APP, ___x___, ___x___, ___x___, \
|
||||
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, ___x___, ___x___, KC_CAPS, CONFIG, \
|
||||
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
|
||||
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
|
||||
ZOOMRST, NUM, KC_ENT, _LAYER_TRANS_____________
|
||||
|
||||
|
||||
#define LAYER_NUMBER \
|
||||
KC_ESC, ___x___, ___x___, MOUSE, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
|
||||
KC_ESC, SC_SNIP, SC_FILE, ___x___, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
|
||||
_GACS_MODS________________________, TR_SCLN, KC_0, KC_4, KC_5, KC_6, KC_DOT, \
|
||||
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \
|
||||
_LAYER_TRANS_____________, _BASE_R4_________________
|
||||
|
@ -240,15 +240,15 @@ enum keycodes {
|
|||
_LAYER_TRANS_____________, _LAYER_TRANS_____________
|
||||
|
||||
|
||||
#define LAYER_MOUSE \
|
||||
___x___, KC_BTN5, KC_BTN4, KC_BTN3, TR_PDPI, ___x___, ___x___, ___x___, ___x___, ___x___, \
|
||||
_GACS_MODS________________________, TR_DRGS, ___x___, ___x___, ___x___, ___x___, ___x___, \
|
||||
_UCCPR_L___________________________________, ___x___, ___x___, TR_SNIP, TR_SDPI, ___x___, \
|
||||
___x___, KC_BTN1, KC_BTN2, ___x___, MOUSE, ___x___
|
||||
#define LAYER_MOUSE_FUNC \
|
||||
___x___, KC_MPRV, KC_MNXT, KC_MPLY, ___x___, ___x___, KC_F7, KC_F8, KC_F9, KC_F10, \
|
||||
_GACS_MODS________________________, TR_DRGS, ___x___, KC_F4, KC_F5, KC_F6, KC_F11, \
|
||||
_______, KC_BTN5, KC_BTN4, KC_BTN3, TR_SNIP, ___x___, KC_F1, KC_F2, KC_F3, KC_F12, \
|
||||
___x___, KC_BTN1, KC_BTN2, TR_PDPI, TR_SDPI, ___x___
|
||||
|
||||
|
||||
#define LAYER_CONFIG \
|
||||
TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, PN_BOOT, EE_CLR, QK_BOOT, _______, \
|
||||
TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, TR_RTOG, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
|
||||
BASELYR, TR_DMR1, TR_DMP1, ___x___, ___x___, TR_RTOG
|
||||
TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, BASELYR, \
|
||||
___x___, ___x___, ___x___, ___x___, TR_RTOG, TR_RMOD, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
|
||||
BASELYR, TR_DMR1, TR_DMP1, TR_DMP2, TR_DMR2, TR_RTOG
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue