mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-05-05 07:04:17 -04:00
commit
e6fae5e3b1
12 changed files with 76 additions and 134 deletions
30
README.md
30
README.md
|
@ -15,7 +15,7 @@ The custom layout optimizes for programming (SQL, Powershell, C) and minimizes h
|
||||||
Notes:
|
Notes:
|
||||||
|
|
||||||
- Outside thumb keys are encoder clicks. Some keyboards may have extra thumb keys
|
- Outside thumb keys are encoder clicks. Some keyboards may have extra thumb keys
|
||||||
- Pressing Pointer DPI and Drag Scroll Toggle will enter bootlaoder on Ploopy Nano
|
- Pressing Pointer DPI and Drag Scroll Toggle together will enter Ploopy Nano's boot loader
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ In this userspace, the base split 3x5_3 layout can be adapted for other split ke
|
||||||
|
|
||||||
### Tri-Layer
|
### Tri-Layer
|
||||||
|
|
||||||
Hold both thumb momentary layer keys `NAV` and `SYM` to access the `_SYMBOL` layer
|
Hold both thumb momentary layer keys `NUMBER` and `NAVIGATION` to access the `SYMBOL` layer
|
||||||
|
|
||||||
### One Shot Mods
|
### One Shot Mods
|
||||||
|
|
||||||
|
@ -58,11 +58,27 @@ Certain keys have different behaviors when held vs tapped allowing commonly type
|
||||||
| `TH_LCBR` | `{` | `{}` with cursor inside | |
|
| `TH_LCBR` | `{` | `{}` with cursor inside | |
|
||||||
| `TR_LABK` | `<` | `<>` with cursor inside | |
|
| `TR_LABK` | `<` | `<>` with cursor inside | |
|
||||||
| `TR_LPRN` | `(` | `()` with cursor inside | |
|
| `TR_LPRN` | `(` | `()` with cursor inside | |
|
||||||
| `TR_PERC` | `%` | `^` | |
|
| `TR_SQUO` | `'` | `''` with cursor inside | |
|
||||||
|
| `TR_DQUO` | `"` | `""` with cursor inside | |
|
||||||
|
| `TR_EQL` | `=` | `==` | |
|
||||||
|
| `TR_PLUS` | `+` | `++` | |
|
||||||
|
| `TR_PIPE` | `\|` | `\|\|` | |
|
||||||
|
| `TR_EXLM` | `!` | `!=` | |
|
||||||
| `TR_COMM` | `,` | `(` | enables parenthesis on base layer |
|
| `TR_COMM` | `,` | `(` | enables parenthesis on base layer |
|
||||||
| `TR_DOT` | `.` | `)` | |
|
| `TR_DOT` | `.` | `)` | |
|
||||||
|
| `TR_PERC` | `%` | `^` | |
|
||||||
|
| `TR_MINS` | `-` | `_` | |
|
||||||
|
| `TR_GRV` | ` | `~` | |
|
||||||
|
| `TR_SCLN` | `;` | `:` | |
|
||||||
|
| `TR_QUOT` | `'` | `"` | |
|
||||||
|
|
||||||
`Update this table later`
|
### 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
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|
||||||
## Optional Features
|
## Optional Features
|
||||||
|
|
||||||
|
@ -81,16 +97,10 @@ Note: `MOUSEKEY_ENABLE` do not need to be enabled in tandem with this to get the
|
||||||
|
|
||||||
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`
|
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`
|
||||||
|
|
||||||
**Known Issue** Commented out logic for layer/host status indicator LEDs as it caused random flickering on split side boards
|
|
||||||
|
|
||||||
### OLED
|
### 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 currently selected layer, active modifiers, and host status (e.g, Num / Caps / Scroll Lock)
|
||||||
|
|
||||||
### Combos
|
|
||||||
|
|
||||||
Enables simultaneous pressing of key combinations to get another. Handy when there are not enough keys on the keyboard. Primarily used to implement mouse buttons and make important keys (enter, backspace, etc) available on base layer
|
|
||||||
|
|
||||||
## Target Keyboards
|
## Target Keyboards
|
||||||
|
|
||||||
All boards use my keymaps unless noted
|
All boards use my keymaps unless noted
|
||||||
|
|
|
@ -40,7 +40,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
[_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) },
|
[_NAVIGATION] = { ENCODER_CCW_CW(ZOOMIN, ZOOMOUT), ENCODER_CCW_CW(___x___, ___x___) },
|
||||||
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) },
|
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) },
|
||||||
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
|
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
|
||||||
[_CONFIG] = { ENCODER_CCW_CW(BASELYR, RBSELYR), ENCODER_CCW_CW(TR_RMOD, TR_RRMD) }
|
[_CONFIG] = { ENCODER_CCW_CW(TR_RMOD, TR_RRMD), ENCODER_CCW_CW(BASELYR, RBSELYR) }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -40,7 +40,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
[_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) },
|
[_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) },
|
||||||
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
|
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
|
||||||
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
|
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
|
||||||
[_CONFIG] = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD) }
|
[_CONFIG] = { ENCODER_CCW_CW(TR_RRMD, TR_RMOD), ENCODER_CCW_CW(RBSELYR, BASELYR) }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //ENCODER_MAP_ENABLE
|
#endif //ENCODER_MAP_ENABLE
|
||||||
|
|
|
@ -27,23 +27,23 @@ layers:
|
||||||
- [Ctrl, A, S, D, F, G, "4", "5" ,"6", "`"]
|
- [Ctrl, A, S, D, F, G, "4", "5" ,"6", "`"]
|
||||||
- [Z, X, C, V, B, Alt, "1", "2" ,"3", Combo Toggle]
|
- [Z, X, C, V, B, Alt, "1", "2" ,"3", Combo Toggle]
|
||||||
- {t: Enter, type: ghost}
|
- {t: Enter, type: ghost}
|
||||||
- Shift
|
|
||||||
- Space
|
- Space
|
||||||
|
- Shift
|
||||||
- Space
|
- Space
|
||||||
- {h: "NAV", t: "0"}
|
- {h: "NAV", t: "0"}
|
||||||
- {t: Mute, type: ghost}
|
- {t: Mute, type: ghost}
|
||||||
NAV:
|
NAV:
|
||||||
- [Escape, Home, ▲, End, Page Up, Mouse Wheel Up, null, Sniper Toggle, Sniper DPI, Pointer DPI ]
|
- [null, Home, ▲, End, Page Up, null, null, Sniper Toggle, Sniper DPI, Pointer DPI ]
|
||||||
- [Caps Lock, ◄, ▼, ►, Page Down, Mouse Wheel down, Shift, Ctrl, Alt, Gui ]
|
- [null, ◄, ▼, ►, Page Down, null, Shift, Ctrl, Alt, Gui ]
|
||||||
- [Undo, Cut, Copy, Paste, Redo, null, App, Vol-, Vol+, Mute ]
|
- [Undo, Cut, Copy, Paste, Redo, null, App, Vol-, Vol+, Mute ]
|
||||||
- {t: Zoom Reset, type: ghost}
|
- {t: Zoom Reset, type: ghost}
|
||||||
- NUM
|
- NUM
|
||||||
- Enter
|
- Space
|
||||||
- null
|
- null
|
||||||
- {type: held}
|
- {type: held}
|
||||||
- {t: Mute, type: ghost}
|
- {t: Mute, type: ghost}
|
||||||
NUM:
|
NUM:
|
||||||
- [null, Win Snip, Win File, null, null, null, "7", "8" ,"9", {h: "<", t: ","} ]
|
- [CONFIG, Win Snip, Win File, null, null, null, "7", "8" ,"9", {h: "<", t: ","} ]
|
||||||
- [Gui, Alt, Ctrl, Shift, null, null, "4", "5" ,"6", {h: ">", t: "."}]
|
- [Gui, Alt, Ctrl, Shift, null, null, "4", "5" ,"6", {h: ">", t: "."}]
|
||||||
- [Undo, Cut, Copy, Paste, Redo, null, "1", "2" ,"3", {h: "_", t: "-"}]
|
- [Undo, Cut, Copy, Paste, Redo, null, "1", "2" ,"3", {h: "_", t: "-"}]
|
||||||
- {type: ghost}
|
- {type: ghost}
|
||||||
|
@ -51,9 +51,9 @@ layers:
|
||||||
- null
|
- null
|
||||||
- Space
|
- Space
|
||||||
- {h: "NAV", t: "0"}
|
- {h: "NAV", t: "0"}
|
||||||
- {type: ghost}
|
- {t: Mute, type: ghost}
|
||||||
SYM:
|
SYM:
|
||||||
- [null, null, "@", "$", {h: "~", t: "`"}, {h: "==", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
|
- [Caps Lock, Print Screen, "@", "$", {h: "~", t: "`"}, {h: "==", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
|
||||||
- ["&", {h: "{}", t: "{"}, "}", {h: "||", t: "|"}, {h: ":", t: ";"}, {h: "++", t: "+"}, "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
|
- ["&", {h: "{}", t: "{"}, "}", {h: "||", t: "|"}, {h: ":", t: ";"}, {h: "++", t: "+"}, "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
|
||||||
- [{h: "^", t: "%"}, {h: "<>", t: "<"}, ">", "\\", {h: "!=", t: "!"}, null, "/", {h: "()", t: "("}, ")", {h: "_", t: "-"}]
|
- [{h: "^", t: "%"}, {h: "<>", t: "<"}, ">", "\\", {h: "!=", t: "!"}, null, "/", {h: "()", t: "("}, ")", {h: "_", t: "-"}]
|
||||||
- {type: ghost}
|
- {type: ghost}
|
||||||
|
@ -63,27 +63,26 @@ layers:
|
||||||
- {type: held}
|
- {type: held}
|
||||||
- {type: ghost}
|
- {type: ghost}
|
||||||
CONFIG:
|
CONFIG:
|
||||||
- [F10, F7, F8, F9, null, RGB Mode, null, null, EEPROM Clear, Boot Loader]
|
- [{type: held}, null, null, null, null, null, F7, F8, F9, F10]
|
||||||
- [F11, F4, F5, F6, null, null, Shift, null, null, null]
|
- [null, null, null, Shift, null, null, F4, F5, F6, F11]
|
||||||
- [F12, F1, F2, F3, null, RGB Hue, RGB Sat, RGB Vib, RGB Spd, RGB Toggle ]
|
- [RGB Hue, RGB Sat, RGB Vib, RGB Spd, null, null, F1, F2, F3, F12]
|
||||||
- {type: ghost}
|
- {t: RGB Toggle, type: ghost}
|
||||||
- Macro Record
|
- EEPROM Clear
|
||||||
|
- Boot Loader
|
||||||
- Macro Play
|
- Macro Play
|
||||||
- {type: held}
|
- Macro Rec
|
||||||
- {type: held}
|
- {t: Base Layer, type: ghost}
|
||||||
- {type: ghost}
|
|
||||||
combos:
|
combos:
|
||||||
- { p: [0, 1], k: Esc, l: [base_QWERTY] }
|
- { p: [0, 1], k: Esc, l: [base_QWERTY] }
|
||||||
- { p: [12, 13], k: MB1, l: [base_QWERTY] }
|
- { p: [12, 13], k: MB1, l: [base_QWERTY] }
|
||||||
- { p: [22, 23], k: MB2, l: [base_QWERTY] }
|
- { p: [11, 12], k: MB2, l: [base_QWERTY] }
|
||||||
- { p: [23, 24], k: MB3, l: [base_QWERTY] }
|
- { p: [14, 24], k: MB3, l: [base_QWERTY] }
|
||||||
- { p: [13, 14], k: MB4, l: [base_QWERTY] }
|
- { p: [3, 13], k: MB4, l: [base_QWERTY] }
|
||||||
- { p: [4, 14], k: MB5, l: [base_QWERTY] }
|
- { p: [4, 14], k: MB5, l: [base_QWERTY] }
|
||||||
- { p: [11, 12], k: DrgScr Tog, l: [base_QWERTY] }
|
- { p: [21, 22], k: DrgScr Tog, l: [base_QWERTY] }
|
||||||
- { p: [6, 7], k: Tab, l: [base_QWERTY] }
|
- { p: [6, 7], k: Tab, l: [base_QWERTY] }
|
||||||
- { p: [21, 22], k: Enter, l: [base_QWERTY] }
|
- { p: [22, 23], k: Enter, l: [base_QWERTY] }
|
||||||
- { p: [26, 27], k: Bksp, l: [base_QWERTY] }
|
- { p: [26, 27], k: Bksp, l: [base_QWERTY] }
|
||||||
- { p: [27, 28], k: Del, l: [base_QWERTY] }
|
- { p: [27, 28], k: Del, l: [base_QWERTY] }
|
||||||
- { p: [33, 34], k: CONFIG, l: [base_QWERTY], align: top }
|
|
||||||
draw_config:
|
draw_config:
|
||||||
small_pad: 6
|
small_pad: 6
|
BIN
my_keymap.png
BIN
my_keymap.png
Binary file not shown.
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 132 KiB |
|
@ -17,4 +17,4 @@
|
||||||
|
|
||||||
//Set common configuration for all keyboards
|
//Set common configuration for all keyboards
|
||||||
#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
|
#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
|
||||||
#define CAPS_WORD_IDLE_TIMEOUT 3000
|
#define CAPS_WORD_IDLE_TIMEOUT 2000
|
|
@ -11,13 +11,8 @@
|
||||||
#undef EXTRA_SHORT_COMBOS
|
#undef EXTRA_SHORT_COMBOS
|
||||||
|
|
||||||
#undef COMBO_TERM
|
#undef COMBO_TERM
|
||||||
#undef COMBO_TERM_PER_COMBO
|
|
||||||
|
|
||||||
#undef COMBO_HOLD_TERM
|
|
||||||
#undef COMBO_MUST_HOLD_PER_COMBO
|
|
||||||
|
|
||||||
#undef COMBO_MUST_TAP_PER_COMBO
|
#undef COMBO_MUST_TAP_PER_COMBO
|
||||||
#undef COMBO_MUST_PRESS_IN_ORDER_PER_COMBO
|
|
||||||
#undef COMBO_SHOULD_TRIGGER
|
#undef COMBO_SHOULD_TRIGGER
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,11 +21,6 @@
|
||||||
#define EXTRA_SHORT_COMBOS
|
#define EXTRA_SHORT_COMBOS
|
||||||
|
|
||||||
#define COMBO_TERM 35
|
#define COMBO_TERM 35
|
||||||
#define COMBO_TERM_PER_COMBO
|
|
||||||
|
|
||||||
#define COMBO_HOLD_TERM TAPPING_TERM
|
|
||||||
#define COMBO_MUST_HOLD_PER_COMBO
|
|
||||||
|
|
||||||
#define COMBO_MUST_TAP_PER_COMBO
|
#define COMBO_MUST_TAP_PER_COMBO
|
||||||
#define COMBO_MUST_PRESS_IN_ORDER_PER_COMBO
|
|
||||||
#define COMBO_SHOULD_TRIGGER
|
#define COMBO_SHOULD_TRIGGER
|
|
@ -12,11 +12,10 @@
|
||||||
#undef TAP_CODE_DELAY
|
#undef TAP_CODE_DELAY
|
||||||
#undef TAP_HOLD_CAPS_DELAY
|
#undef TAP_HOLD_CAPS_DELAY
|
||||||
|
|
||||||
#undef HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
|
||||||
#undef TAPPING_TERM
|
#undef TAPPING_TERM
|
||||||
#undef TAPPING_TERM_PER_KEY
|
#undef TAPPING_TERM_PER_KEY
|
||||||
|
|
||||||
#undef QUICK_TAP_TERM
|
#undef QUICK_TAP_TERM
|
||||||
#undef QUICK_TAP_TERM_PER_KEY
|
|
||||||
|
|
||||||
#undef ONESHOT_TAP_TOGGLE
|
#undef ONESHOT_TAP_TOGGLE
|
||||||
#undef ONESHOT_TIMEOUT
|
#undef ONESHOT_TIMEOUT
|
||||||
|
@ -27,13 +26,10 @@
|
||||||
#define TAP_HOLD_CAPS_DELAY TAP_CODE_DELAY //turning down delay for caps lock so ploopy can do DPI switching
|
#define TAP_HOLD_CAPS_DELAY TAP_CODE_DELAY //turning down delay for caps lock so ploopy can do DPI switching
|
||||||
#define WAIT_DELAY 5 //custom variable to configure time between taps
|
#define WAIT_DELAY 5 //custom variable to configure time between taps
|
||||||
|
|
||||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
|
||||||
|
|
||||||
#define TAPPING_TERM 200
|
#define TAPPING_TERM 200
|
||||||
#define TAPPING_TERM_PER_KEY
|
#define TAPPING_TERM_PER_KEY
|
||||||
|
|
||||||
#define QUICK_TAP_TERM 135
|
#define QUICK_TAP_TERM 135
|
||||||
#define QUICK_TAP_TERM_PER_KEY
|
|
||||||
|
|
||||||
#define ONESHOT_TAP_TOGGLE 3
|
#define ONESHOT_TAP_TOGGLE 3
|
||||||
#define ONESHOT_TIMEOUT 2000
|
#define ONESHOT_TIMEOUT 2000
|
|
@ -1,21 +1,7 @@
|
||||||
#include "combo.h"
|
#include "combo.h"
|
||||||
|
|
||||||
uint16_t get_combo_term(uint16_t index, combo_t *combo) {
|
|
||||||
// or with combo index, i.e. its name from enum.
|
|
||||||
switch (index) {
|
|
||||||
|
|
||||||
case LYR_CONFIG:
|
|
||||||
return COMBO_HOLD_TERM + 100;
|
|
||||||
|
|
||||||
|
|
||||||
default:
|
|
||||||
return COMBO_TERM;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool get_combo_must_tap(uint16_t index, combo_t *combo) {
|
bool get_combo_must_tap(uint16_t index, combo_t *combo) {
|
||||||
|
|
||||||
switch (index) {
|
switch (index) {
|
||||||
|
|
||||||
#if defined(MOUSEKEY_ENABLE)
|
#if defined(MOUSEKEY_ENABLE)
|
||||||
|
@ -23,7 +9,7 @@ bool get_combo_must_tap(uint16_t index, combo_t *combo) {
|
||||||
case MOUSE_BUTTON4:
|
case MOUSE_BUTTON4:
|
||||||
case MOUSE_BUTTON5:
|
case MOUSE_BUTTON5:
|
||||||
case MOUSE_DRGTOG:
|
case MOUSE_DRGTOG:
|
||||||
#endif //MOUSEKEY_ENABLE
|
#endif //MOUSEKEY_ENABLEdf
|
||||||
|
|
||||||
case KEY_ESC:
|
case KEY_ESC:
|
||||||
case KEY_ENT:
|
case KEY_ENT:
|
||||||
|
@ -35,31 +21,6 @@ bool get_combo_must_tap(uint16_t index, combo_t *combo) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get_combo_must_hold(uint16_t index, combo_t *combo) {
|
|
||||||
switch (index) {
|
|
||||||
|
|
||||||
case LYR_CONFIG:
|
|
||||||
return true;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) {
|
|
||||||
switch (combo_index) {
|
|
||||||
/* List combos here that you want to only activate if their keys
|
|
||||||
* are pressed in the same order as they are defined in the combo's key
|
|
||||||
* array.
|
|
||||||
*
|
|
||||||
* return false means they do not have to be pressed in order
|
|
||||||
* */
|
|
||||||
|
|
||||||
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
|
// disable all combos on config layer
|
||||||
|
@ -69,8 +30,13 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode
|
||||||
|
|
||||||
switch (combo_index) {
|
switch (combo_index) {
|
||||||
|
|
||||||
case KEY_ESC:
|
|
||||||
case KEY_ENT:
|
case KEY_ENT:
|
||||||
|
if ( get_highest_layer(layer_state) == _SYMBOL ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case KEY_ESC:
|
||||||
case KEY_TAB:
|
case KEY_TAB:
|
||||||
if ( get_highest_layer(layer_state) == _NAVIGATION ||
|
if ( get_highest_layer(layer_state) == _NAVIGATION ||
|
||||||
get_highest_layer(layer_state) == _SYMBOL ) {
|
get_highest_layer(layer_state) == _SYMBOL ) {
|
||||||
|
@ -84,12 +50,11 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode
|
||||||
case MOUSE_BUTTON4:
|
case MOUSE_BUTTON4:
|
||||||
case MOUSE_BUTTON5:
|
case MOUSE_BUTTON5:
|
||||||
case MOUSE_DRGTOG:
|
case MOUSE_DRGTOG:
|
||||||
if ( get_highest_layer(layer_state) == _NAVIGATION ||
|
if ( get_highest_layer(layer_state) > _DEFAULT_LAYER_1 ) {
|
||||||
get_highest_layer(layer_state) == _NUMBER ||
|
|
||||||
get_highest_layer(layer_state) == _SYMBOL ) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -17,7 +17,6 @@ enum combos {
|
||||||
KEY_TAB,
|
KEY_TAB,
|
||||||
KEY_DEL,
|
KEY_DEL,
|
||||||
KEY_BSPC,
|
KEY_BSPC,
|
||||||
LYR_CONFIG,
|
|
||||||
|
|
||||||
COMBO_LENGTH
|
COMBO_LENGTH
|
||||||
};
|
};
|
||||||
|
@ -28,21 +27,18 @@ uint16_t COMBO_LEN = COMBO_LENGTH;
|
||||||
|
|
||||||
#if defined(MOUSEKEY_ENABLE)
|
#if defined(MOUSEKEY_ENABLE)
|
||||||
const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END };
|
const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END };
|
||||||
const uint16_t PROGMEM mou_btn2_combo[] = { KC_C, KC_V, COMBO_END };
|
const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END };
|
||||||
const uint16_t PROGMEM mou_btn3_combo[] = { KC_V, KC_B, 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_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_btn5_combo[] = { KC_T, KC_G, COMBO_END };
|
||||||
const uint16_t PROGMEM mou_drg_combo[] = { KC_S, KC_D, COMBO_END };
|
const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_C, COMBO_END };
|
||||||
#endif //MOUSEKEY_ENABLE
|
#endif //MOUSEKEY_ENABLE
|
||||||
|
|
||||||
const uint16_t PROGMEM key_esc_combo[] = { KC_Q, KC_W, COMBO_END };
|
const uint16_t PROGMEM key_esc_combo[] = { KC_Q, KC_W, COMBO_END };
|
||||||
const uint16_t PROGMEM key_ent_combo[] = { KC_X, KC_C, COMBO_END };
|
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_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_bspc_combo[] = { KC_M, TR_COMM, COMBO_END };
|
||||||
const uint16_t PROGMEM key_del_combo[] = { TR_COMM, TR_DOT, COMBO_END };
|
const uint16_t PROGMEM key_del_combo[] = { TR_COMM, TR_DOT, COMBO_END };
|
||||||
const uint16_t PROGMEM lyr_cfg_combo[] = { KC_SPC, NAV, COMBO_END };
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
combo_t key_combos[COMBO_LENGTH] = {
|
combo_t key_combos[COMBO_LENGTH] = {
|
||||||
|
@ -60,8 +56,8 @@ combo_t key_combos[COMBO_LENGTH] = {
|
||||||
[KEY_ENT] = COMBO(key_ent_combo, KC_ENT),
|
[KEY_ENT] = COMBO(key_ent_combo, KC_ENT),
|
||||||
[KEY_TAB] = COMBO(key_tab_combo, KC_TAB),
|
[KEY_TAB] = COMBO(key_tab_combo, KC_TAB),
|
||||||
[KEY_DEL] = COMBO(key_del_combo, KC_DEL),
|
[KEY_DEL] = COMBO(key_del_combo, KC_DEL),
|
||||||
[KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC),
|
[KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC)
|
||||||
[LYR_CONFIG] = COMBO(lyr_cfg_combo, CONFIG)
|
//[LYR_CONFIG] = COMBO(lyr_cfg_combo, CONFIG)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,11 @@
|
||||||
#include "tapping.h"
|
#include "tapping.h"
|
||||||
|
|
||||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
//This is effective for all dual role keys (e.g. Mod-Taps, Layer-Taps, etc)
|
|
||||||
switch(keycode) {
|
|
||||||
default:
|
|
||||||
//Disable HOLD_ON_OTHER_KEY_PRESS aka enable IGNORE_MOD_TAP_INTERRUPT
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
switch (keycode) {
|
|
||||||
|
|
||||||
default:
|
|
||||||
return QUICK_TAP_TERM;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
|
|
||||||
|
case NAV_0:
|
||||||
|
return TAPPING_TERM - 60;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
//uprintf("tapping term: %d \n", TAPPING_TERM);
|
//uprintf("tapping term: %d \n", TAPPING_TERM);
|
||||||
return TAPPING_TERM;
|
return TAPPING_TERM;
|
||||||
|
|
|
@ -72,7 +72,6 @@ enum keycodes {
|
||||||
- We will only define things that are used across different layers. Entire layers are turned off in the keymap
|
- We will only define things that are used across different layers. Entire layers are turned off in the keymap
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
// one shot mods
|
// one shot mods
|
||||||
#define TR_LSFT OSM(MOD_LSFT)
|
#define TR_LSFT OSM(MOD_LSFT)
|
||||||
#define TR_LCTL OSM(MOD_LCTL)
|
#define TR_LCTL OSM(MOD_LCTL)
|
||||||
|
@ -188,6 +187,7 @@ enum keycodes {
|
||||||
|
|
||||||
#define _BASE_L4_________________ ___x___, NUM, TR_LSFT
|
#define _BASE_L4_________________ ___x___, NUM, TR_LSFT
|
||||||
#define _BASE_R4_________________ KC_SPC, NAV, KC_MUTE
|
#define _BASE_R4_________________ KC_SPC, NAV, KC_MUTE
|
||||||
|
#define _BASE_ZERO_R4____________ KC_SPC, NAV_0, KC_MUTE
|
||||||
#define _LAYER_TRANS_____________ ___x___, _______, ___x___
|
#define _LAYER_TRANS_____________ ___x___, _______, ___x___
|
||||||
|
|
||||||
|
|
||||||
|
@ -211,35 +211,35 @@ enum keycodes {
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_9, KC_ESC, \
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_9, KC_ESC, \
|
||||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_4, KC_5, KC_6, KC_GRV, \
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_4, KC_5, KC_6, KC_GRV, \
|
||||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_1, KC_2, KC_3, CM_TOGG, \
|
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_1, KC_2, KC_3, CM_TOGG, \
|
||||||
KC_ENT, KC_LSFT, KC_SPC, KC_SPC, NAV_0, KC_MUTE
|
KC_ENT, KC_SPC, KC_LSFT, _BASE_ZERO_R4____________
|
||||||
|
|
||||||
|
|
||||||
#define LAYER_NAVIGATION \
|
#define LAYER_NAVIGATION \
|
||||||
___x___, KC_HOME, KC_UP, KC_END, KC_PGUP, TR_MWHU, ___x___, TR_SNIP, TR_SDPI, TR_PDPI, \
|
___x___, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, ___x___, TR_SNIP, TR_SDPI, TR_PDPI, \
|
||||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, TR_MWHD, _SCAG_MODS________________________, \
|
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
|
||||||
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
|
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
|
||||||
ZOOMRST, _______, KC_ENT, _LAYER_TRANS_____________
|
ZOOMRST, _______, KC_SPC, _LAYER_TRANS_____________
|
||||||
|
|
||||||
|
|
||||||
#define LAYER_NUMBER \
|
#define LAYER_NUMBER \
|
||||||
___x___, SC_SNIP, SC_FILE, ___x___, ___x___, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
|
CONFIG, SC_SNIP, SC_FILE, ___x___, ___x___, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
|
||||||
_GACS_MODS________________________, ___x___, ___x___, KC_4, KC_5, KC_6, KC_DOT, \
|
_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, TR_MINS, \
|
||||||
_LAYER_TRANS_____________, KC_SPC, NAV_0, ___x___
|
_LAYER_TRANS_____________, _BASE_ZERO_R4____________
|
||||||
|
|
||||||
|
|
||||||
#define LAYER_SYMBOL \
|
#define LAYER_SYMBOL \
|
||||||
___x___, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
|
KC_CAPS, KC_PSCR, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
|
||||||
KC_AMPR, TR_LCBR, KC_RCBR, TR_PIPE, TR_SCLN, TR_PLUS, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
|
KC_AMPR, TR_LCBR, KC_RCBR, TR_PIPE, TR_SCLN, TR_PLUS, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
|
||||||
TR_PERC, TR_LABK, KC_RABK, KC_BSLS, TR_EXLM, ___x___, KC_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \
|
TR_PERC, TR_LABK, KC_RABK, KC_BSLS, TR_EXLM, ___x___, KC_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \
|
||||||
_LAYER_TRANS_____________, _LAYER_TRANS_____________
|
_LAYER_TRANS_____________, _LAYER_TRANS_____________
|
||||||
|
|
||||||
|
|
||||||
#define LAYER_CONFIG \
|
#define LAYER_CONFIG \
|
||||||
KC_F10, KC_F7, KC_F8, KC_F9, ___x___, ___x___, ___x___, ___x___, EE_CLR, QK_BOOT, \
|
_______, ___x___, ___x___, ___x___, ___x___, ___x___, KC_F7, KC_F8, KC_F9, KC_F10, \
|
||||||
KC_F11, KC_F4, KC_F5, KC_F6, ___x___, BASELYR, TR_LSFT, ___x___, ___x___, TR_RMOD, \
|
___x___, ___x___, ___x___, TR_LSFT, ___x___, ___x___, KC_F4, KC_F5, KC_F6, KC_F11, \
|
||||||
KC_F12, KC_F1, KC_F2, KC_F3, ___x___, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, TR_RTOG, \
|
TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, ___x___, ___x___, KC_F1, KC_F2, KC_F3, KC_F12, \
|
||||||
___x___, TR_DMR1, TR_DMP1, _NONE_3__________________
|
TR_RTOG, EE_CLR, QK_BOOT, TR_DMP1, TR_DMR1, BASELYR
|
||||||
|
|
||||||
/*
|
/*
|
||||||
If I was going to combine number and symbols together, it'd look like this
|
If I was going to combine number and symbols together, it'd look like this
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue