mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-05-03 14:14:17 -04:00
Tune and polish
- Zoom shortcuts are now the scroll wheel - removed function layer - updated documentation - Enabled Tab to work on Navigation layer - Had to go back to basic minus keycode for F12 to work
This commit is contained in:
parent
f8d8e3fdee
commit
6e9fb9373a
12 changed files with 34 additions and 49 deletions
38
README.md
38
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
|
||||
|
||||
|
|
|
@ -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) }
|
||||
|
||||
};
|
||||
|
|
|
@ -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)
|
||||
|
||||
};
|
|
@ -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) }
|
||||
|
||||
};
|
||||
|
|
|
@ -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)
|
||||
|
||||
};
|
|
@ -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)
|
||||
|
||||
};
|
|
@ -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
|
||||
|
|
BIN
my_keymap.png
BIN
my_keymap.png
Binary file not shown.
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 132 KiB |
|
@ -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:
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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___
|
||||
*/
|
||||
BASELYR, ___x___, ___x___, TR_DMP1, TR_DMR1, TR_RTOG
|
Loading…
Add table
Add a link
Reference in a new issue