mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-05-04 22:54:16 -04:00
Merge pull request #6 from t4corun/mousecombo
Implementing Combos for Mouse Buttons
This commit is contained in:
commit
ce8766d68f
24 changed files with 419 additions and 310 deletions
162
README.md
162
README.md
|
@ -2,10 +2,29 @@
|
|||
|
||||
My userspace for building QMK firmware via GitHub Actions. This does not require a local build environment where files are placed within keyboard subfolders.
|
||||
|
||||
The custom layout optimizes for programming (SQL, Powershell, C) and minimizes holds for comfort. It started from [Manna Harbor Miryoku](https://github.com/manna-harbour/miryoku) and took heavy influence from [Jonas Hietala T-34](https://www.jonashietala.se/series/t-34/)
|
||||
## Layout
|
||||
|
||||
The custom layout optimizes for programming (SQL, Powershell, C) and minimizes holds for comfort. It started from [Manna Harbor Miryoku](https://github.com/manna-harbour/miryoku) and took heavy influence from [Jonas Hietala T-34](https://www.jonashietala.se/series/t-34/). The keymap designed for split 3x5, two thumbs keys, dual encoders, and combined with a Ploopy Nano trackball mouse. Design themes:
|
||||
|
||||
- Releasing all keys always brings you back to base layer
|
||||
- Keeping certain keys consistent on all layers for better muscle memory
|
||||
- Numbers and function keys are positioned similarly
|
||||
- Symbols important for powershell / writing are positioned under stronger fingers
|
||||
- Game keymap that doesn't require massive game key bind changes. Tested on Resident Evil 4 Remake
|
||||
|
||||
Notes:
|
||||
|
||||
- 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
|
||||
|
||||

|
||||
|
||||
## Features
|
||||
|
||||
### Build Non-Tree Keyboards
|
||||
|
||||
- Extended the [qmk/.github](https://github.com/qmk/.github) userspace build actions to build non-tree qmk keyboards (e.g. Barbellboards Rollow). This works by copying keyboard definitions from the userspace to the qmk_firmware keyboards folder in the container. The list of keyboards to copy are defined in `qmk_nontree.json`
|
||||
|
||||
### Layout Wrapper Macros
|
||||
|
||||
A single keymap layout can be shared with multiple keyboards by using C preprocessor macros. These macros are referenced in the keyboard JSON files, and the build process will expand them into a transient keymap.c file during compile time.
|
||||
|
@ -58,12 +77,6 @@ Enables trackball functionality on certain boards (e.g., Ploopy Nano and Bastard
|
|||
|
||||
Note: `MOUSEKEY_ENABLE` do not need to be enabled in tandem with this to get the mouse buttons.
|
||||
|
||||
### Mouse Keys
|
||||
|
||||
Enables mouse emulation for all boards. Required when using the Ploopy Nano as that has no mouse buttons.
|
||||
|
||||
Hold `a` to enter `_MOUSE` layer. Use right side directional pad (e.g. IJKL) to move the cursor and left side thumb keys for basic mouse clicking.
|
||||
|
||||
### 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`
|
||||
|
@ -76,140 +89,7 @@ Enables keyboard status visualization. Shows currently selected layer, active mo
|
|||
|
||||
### Combos
|
||||
|
||||
Enables simultaneous pressing of key combinations to get another. Handy when there are not enough keys on the keyboard
|
||||
|
||||
**Note** Framework is present but disabled during redesign
|
||||
|
||||
## Layout
|
||||
|
||||
This is the keymap designed for split 3x5 layout, two thumb keys on each side, and dual encoders. Emphasis on:
|
||||
|
||||
- Releasing all keys always brings you back to base layer
|
||||
- Outside thumb keys are encoder clicks
|
||||
- Keeping certain keys consistent on all layers for better muscle memory
|
||||
- Numbers and function keys are positioned similarly
|
||||
- Symbols important for powershell / writing are positioned under stronger fingers
|
||||
- Game keymap that doesn't require massive game key bind changes. Tested on Resident Evil 4 Remake
|
||||
|
||||
Additional keys may be mapped if present. Check each keyboard's `keymap.c` for more information
|
||||
|
||||
```text
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ q │ w │ e │ r │ t │ │ y │ u │ i │ o │ p │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ a mou│ s │ d │ f │ g │ qwerty │ h │ j │ k │ l │ ' " │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ z │ x │ c │ v │ b │ │ n │ m │ , ( │ . ) │ - _ │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
enc: mwheel │ │ num │ mou │ │ spc │ nav │ mute │ enc: volume
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ q │ w │ f │ p │ b │ │ j │ l │ u │ y │ o │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ a mou│ r │ s │ t │ g │ colemak │ m │ n │ e │ i │ ' " │
|
||||
├──────┼──────┼──────┼──────┼──────┤ dh ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ z │ x │ c │ d │ v │ │ k │ h │ , ( │ . ) │ - _ │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
enc: mwheel │ │ num │ mou │ │ spc │ nav │ mute │ enc: volume
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
Notes:
|
||||
- swapped o and repeat on this keymap to keep repeat key in the same position across layers
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ tab │ q │ w │ e │ r │ │ │ │ │ │ │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ gnum │ a │ s │ d │ f │ game │ │ │ │ │ │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ z │ x │ c │ v │ b │ │ │ │ │ │ │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
enc: mwheel │ │ shft │ spc │ │ spc │ nav │ mute │ enc: volume
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ esc │ home │ up │ end │ pgup │ │ ins │ │ app │ │ cfg │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ │ left │ down │ rght │ pgdn │ nav │ bksp │ shft │ ctrl │ alt │ gui │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ undo │ cut │ copy │ pste │ redo │ │ del │ tab │ vol- │ vol+ │ mute │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┴──────┴──────╯
|
||||
enc: zoom │ zrst │ num │ ent │ │ │ nav │ │ enc: none
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
Notes:
|
||||
- zrst - Ctrl + 0 to Zoom Reset
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ esc │ snip │ file │ func │ ` ~ │ │ ent │ 7 │ 8 │ 9 │ tab │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ gui │ alt │ ctrl │ shft │ ; : │ numbers │ bksp │ 4 │ 5 │ 6 │ . │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ undo │ cut │ copy │ pste │ redo │ │ del │ 1 │ 2 │ 3 │ - _ │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
enc: none │ │ sym │ │ │ spc │ 0 nav│ │ enc: ← →
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ esc │ │ @ │ $ │ ` ~ │ │ = + │ # │ * │ │ " "" │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ & │ { {} │ } │ | │ ; : │ symbols │ bksp │ ? │ [ [] │ ] │ ' '' │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ % ^ │ < <> │ > │ \ │ ! │ │ del │ / │ , () │ . ) │ - _ │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
enc: none │ │ sym │ │ │ │ nav │ │ enc: none
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
Notes:
|
||||
- tri layer: Activate th the symbol layer by holding down symbol and navigation
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ mply2│ mrec2│ │ func │ │ │ pscr │ F7 │ F8 │ F9 │ F10 │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ │ │ │ │ scrl │ func │ caps │ F4 │ F5 │ F6 │ F11 │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ │ │ │ │ │ │ paus │ F1 │ F2 │ F3 │ F12 │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
enc: none │ │ sym │ │ │ mply1│ mrec1│ │ enc: ↑ ↓
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ │ btn5 │ btn4 │ btn3 │ │ │ whup │ │ mouu │ │ │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ mou │ alt │ ctrl │ shft │ │ mouse │ whdn │ moul │ moud │ mour │ │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ │ │ │ drgs │ snip │ │ sdpi │ pdpi │ │ │ │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
enc:mwheel │ │ btn1 │ btn2 │ │ │ │ │ enc: none
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
Notes:
|
||||
- drgs on non Charybdis Nano boards will trigger drag scrolling on Ploopy Nano
|
||||
- pdpi on non Charybdis Nano boards will cycle Ploopy Nano DPI settings
|
||||
- both together will enter bootlaoder on Ploopy Nano
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ │ esc │ ` │ g │ t │ │ │ │ │ │ │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ gnum │ 1 │ 2 │ 3 │ 4 │ game │ │ │ │ │ │
|
||||
├──────┼──────┼──────┼──────┼──────┤ num ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ │ 5 │ 6 │ 7 │ 8 │ │ │ │ │ │ │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
end: mwheel │ │ alt │ ctr │ │ │ nav │ mute │ enc: volume
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
╭──────┬──────┬──────┬──────┬──────╮ ╭──────┬──────┬──────┬──────┬──────╮
|
||||
│ │ │ │ │ │ │ eeclr│ rboot│ boot │ │ cfg │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│rgbtog│rgbMod│ │ │ │ config │ blyr │ shft │ ctrl │ alt │ gui │
|
||||
├──────┼──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┼──────┤
|
||||
│ hue+ │ sat+ │ vib+ │ spd+ │ │ │ │ │ │ │ │
|
||||
╰──────┴──────┼──────┼──────┼──────┤ ├──────┼──────┼──────┼──────┴──────╯
|
||||
enc: none │ │ │ │ │ │ nav │ │ enc: none
|
||||
╰──────┴──────┴──────╯ ╰──────┴──────┴──────╯
|
||||
|
||||
notes:
|
||||
- blyr - toggles between the three base layers: qwerty, colemakdh, game
|
||||
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
|
||||
|
||||
|
|
|
@ -26,8 +26,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NUMBER] = ROLLOW(LAYER_NUMBER),
|
||||
[_SYMBOL] = ROLLOW(LAYER_SYMBOL),
|
||||
[_FUNCTION] = ROLLOW(LAYER_FUNCTION),
|
||||
[_MOUSE] = ROLLOW(LAYER_MOUSE),
|
||||
[_GAME_NUM] = ROLLOW(LAYER_GAME_NUM),
|
||||
[_CONFIG] = ROLLOW(LAYER_CONFIG)
|
||||
|
||||
};
|
||||
|
@ -44,8 +42,6 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
|||
[_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(KC_DOWN, KC_UP ) },
|
||||
[_MOUSE] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(___x___, ___x___) },
|
||||
[_GAME_NUM] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
|
||||
};
|
||||
|
||||
|
|
60
keyboards/barbellboards/rollow/keymaps/via/keymap.c
Normal file
60
keyboards/barbellboards/rollow/keymaps/via/keymap.c
Normal file
|
@ -0,0 +1,60 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
|
||||
),
|
||||
|
||||
[1] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, _______, KC_SPC, KC_ENT, MO(3), KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[2] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[3] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(XXXXXXX, XXXXXXX), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[2] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(XXXXXXX, XXXXXXX) },
|
||||
[3] = { ENCODER_CCW_CW(XXXXXXX, XXXXXXX), ENCODER_CCW_CW(XXXXXXX, XXXXXXX) }
|
||||
};
|
1
keyboards/barbellboards/rollow/keymaps/via/rules.mk
Normal file
1
keyboards/barbellboards/rollow/keymaps/via/rules.mk
Normal file
|
@ -0,0 +1 @@
|
|||
VIA_ENABLE = yes
|
|
@ -15,10 +15,6 @@ The current build guide is [available here](https://github.com/barbellboards/Rol
|
|||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
```bash
|
||||
# This board definition is currently not part of QMK Firmware
|
||||
# Copy the keyboard definition into your forked/cloned QMK_HOME folder
|
||||
cp /d/Repo/qmk_userspace/keyboards/barbellboards /d/Repo/qmk_firmware/keyboards/ -R
|
||||
|
||||
make barbellboards/rollow:default
|
||||
# or
|
||||
qmk compile -kb barbellboards/rollow -km default
|
||||
|
|
|
@ -106,13 +106,42 @@ static void oled_render_keylog(void) {
|
|||
|
||||
__attribute__((weak)) void oled_render_logo(void) {
|
||||
// clang-format off
|
||||
static const char PROGMEM crkbd_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
|
||||
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
|
||||
0};
|
||||
static const char PROGMEM rollow_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
|
||||
0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0xe0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
|
||||
0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xe0, 0x00, 0x00, 0xf0, 0xf0, 0x00,
|
||||
0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0xff,
|
||||
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xe0, 0xe0, 0x80, 0x80, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0x7c, 0x00, 0x00, 0xf0, 0xf8, 0xf8,
|
||||
0xf8, 0x3c, 0xfc, 0xf8, 0xf8, 0xf0, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xe0, 0xf0, 0xf8, 0xf8, 0xfc, 0x3c, 0xf8, 0xf8, 0xf8, 0xf0,
|
||||
0xc0, 0x08, 0xf8, 0xf8, 0xf8, 0xf8, 0x00, 0xf8, 0xf8, 0xf8, 0xf8, 0xe0, 0xe0, 0xf8, 0xf8, 0xf8,
|
||||
0xf8, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xe0, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00,
|
||||
0x00, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff,
|
||||
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x07, 0x07, 0x01, 0x01, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
0xff, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff,
|
||||
0x7f, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0x07, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00,
|
||||
0x00, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
|
||||
0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x01, 0x03,
|
||||
0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x03,
|
||||
0x03, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01,
|
||||
0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x07, 0x00, 0x00, 0x0f, 0x0f, 0x00,
|
||||
0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
// clang-format on
|
||||
oled_write_P(crkbd_logo, false);
|
||||
oled_write_P(rollow_logo, false);
|
||||
}
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
|
|
|
@ -26,8 +26,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NUMBER] = CNANO(LAYER_NUMBER),
|
||||
[_SYMBOL] = CNANO(LAYER_SYMBOL),
|
||||
[_FUNCTION] = CNANO(LAYER_FUNCTION),
|
||||
[_MOUSE] = CNANO(LAYER_MOUSE),
|
||||
[_GAME_NUM] = CNANO(LAYER_GAME_NUM),
|
||||
[_CONFIG] = CNANO(LAYER_CONFIG)
|
||||
|
||||
};
|
|
@ -26,8 +26,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NUMBER] = SWOOP(LAYER_NUMBER),
|
||||
[_SYMBOL] = SWOOP(LAYER_SYMBOL),
|
||||
[_FUNCTION] = SWOOP(LAYER_FUNCTION),
|
||||
[_MOUSE] = SWOOP(LAYER_MOUSE),
|
||||
[_GAME_NUM] = SWOOP(LAYER_GAME_NUM),
|
||||
[_CONFIG] = SWOOP(LAYER_CONFIG)
|
||||
|
||||
};
|
||||
|
@ -45,8 +43,6 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
|||
[_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(KC_DOWN, KC_UP ) },
|
||||
[_MOUSE] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(___x___, ___x___) },
|
||||
[_GAME_NUM] = { ENCODER_CCW_CW(TR_MWHD, TR_MWHU), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
|
||||
[_CONFIG] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
|
||||
};
|
||||
|
||||
|
|
|
@ -26,8 +26,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NUMBER] = CRKBD(LAYER_NUMBER),
|
||||
[_SYMBOL] = CRKBD(LAYER_SYMBOL),
|
||||
[_FUNCTION] = CRKBD(LAYER_FUNCTION),
|
||||
[_MOUSE] = CRKBD(LAYER_MOUSE),
|
||||
[_GAME_NUM] = CRKBD(LAYER_GAME_NUM),
|
||||
[_CONFIG] = CRKBD(LAYER_CONFIG)
|
||||
|
||||
};
|
0
keyboards/klor/keymaps/t4corun/config.h
Normal file
0
keyboards/klor/keymaps/t4corun/config.h
Normal file
0
keyboards/klor/keymaps/t4corun/keymap.c
Normal file
0
keyboards/klor/keymaps/t4corun/keymap.c
Normal file
0
keyboards/klor/keymaps/t4corun/readmd.md
Normal file
0
keyboards/klor/keymaps/t4corun/readmd.md
Normal file
0
keyboards/klor/keymaps/t4corun/rules.mk
Normal file
0
keyboards/klor/keymaps/t4corun/rules.mk
Normal file
|
@ -26,8 +26,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
[_NUMBER] = PLANCK(LAYER_NUMBER),
|
||||
[_SYMBOL] = PLANCK(LAYER_SYMBOL),
|
||||
[_FUNCTION] = PLANCK(LAYER_FUNCTION),
|
||||
[_MOUSE] = PLANCK(LAYER_MOUSE),
|
||||
[_GAME_NUM] = PLANCK(LAYER_GAME_NUM),
|
||||
[_CONFIG] = PLANCK(LAYER_CONFIG)
|
||||
|
||||
};
|
100
keymap-drawer.yml
Normal file
100
keymap-drawer.yml
Normal file
|
@ -0,0 +1,100 @@
|
|||
layout:
|
||||
qmk_keyboard: bluebell/swoop
|
||||
qmk_layout: LAYOUT_split_3x5_3
|
||||
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: "-"}]
|
||||
- {type: ghost}
|
||||
- NUM
|
||||
- Shift
|
||||
- Space
|
||||
- NAV
|
||||
- {t: Mute, type: ghost}
|
||||
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: "-"}]
|
||||
- {type: ghost}
|
||||
- NUM
|
||||
- Shift
|
||||
- Space
|
||||
- NAV
|
||||
- {t: Mute, type: ghost}
|
||||
base_GAME:
|
||||
- [Tab, Q, W, E, R, T, "7", "8" ,"9", Esc]
|
||||
- [Ctrl, A, S, D, F, G, "4", "5" ,"6", "`"]
|
||||
- [Z, X, C, V, B, Alt, "1", "2" ,"3", Combo Toggle]
|
||||
- {t: Enter, type: ghost}
|
||||
- Shift
|
||||
- Space
|
||||
- Space
|
||||
- {h: "NAV", t: "0"}
|
||||
- {t: Mute, type: ghost}
|
||||
NAV:
|
||||
- [Escape, Home, ▲, End, Page Up, Insert, Caps Lock, Scroll Lock, null, null ]
|
||||
- [null, ◄, ▼, ►, Page Down, null, Shift, Ctrl, Alt, Gui ]
|
||||
- [Undo, Cut, Copy, Paste, Redo, null, App, Vol-, Vol+, Mute ]
|
||||
- {t: Zoom Reset, type: ghost}
|
||||
- NUM
|
||||
- Enter
|
||||
- null
|
||||
- {type: held}
|
||||
- {t: Mute, type: ghost}
|
||||
NUM:
|
||||
- [null, Win Snip, Win File, null, {h: "~", t: "`"}, null, "7", "8" ,"9", null ]
|
||||
- [Gui, Alt, Ctrl, Shift, {h: ":", t: ";"}, null, "4", "5" ,"6", "."]
|
||||
- [Undo, Cut, Copy, Paste, Redo, null, "1", "2" ,"3", {h: "_", t: "-"}]
|
||||
- {type: ghost}
|
||||
- {type: held}
|
||||
- null
|
||||
- Space
|
||||
- {h: "NAV", t: "0"}
|
||||
- {type: ghost}
|
||||
SYM:
|
||||
- [null, null, "@", "$", {h: "~", t: "`"}, {h: "+", t: "="}, "#", "*", null, {h: "\"\"", t: "\""}]
|
||||
- ["&", {h: "{}", t: "{"}, "}", "|", {h: ":", t: ";"}, null, "?", {h: "[]", t: "]"}, "]", {h: "''", t: "'"}]
|
||||
- [{h: "^", t: "%"}, {h: "<>", t: "<"}, ">", "\\", "!", null, "/", {h: "()", t: ","}, {h: ")", t: "."}, {h: "_", t: "-"}]
|
||||
- {type: ghost}
|
||||
- {type: held}
|
||||
- null
|
||||
- null
|
||||
- {type: held}
|
||||
- {type: ghost}
|
||||
FUNCTION:
|
||||
- [null, null, Mouse Up, null, Mouse Wheel Up, Print Screen, F7, F8, F9, F10]
|
||||
- [null, Mouse Left, Mouse Down, Mouse Right, Mouse Wheel Down, Num Lock, F4, F5, F6, F11]
|
||||
- [Pointer DPI, Sniper DPI, null, Drag Scroll Toggle, Sniper Toggle, Pause Break, F1, F2, F3, F12]
|
||||
- {type: ghost}
|
||||
- {type: held}
|
||||
- {type: held}
|
||||
- Macro Play
|
||||
- Macro Record
|
||||
- {type: ghost}
|
||||
CONFIG:
|
||||
- [null, null, null, null, null, Clear EEPROM, Reboot, Boot Loader, null, null]
|
||||
- [RGB Toggle, RGB Mode, null, null, null, Base Layer Toggle, Shift, Ctrl, Alt, Gui]
|
||||
- [RGB Hue, RGB Sat, RGB Vib, RGB Spd, null, null, null, null, null, null ]
|
||||
- {type: ghost}
|
||||
- null
|
||||
- null
|
||||
- {type: held}
|
||||
- {type: held}
|
||||
- {type: ghost}
|
||||
combos:
|
||||
- { p: [1, 2], k: Esc, l: [base_QWERTY] }
|
||||
- { p: [2, 3], k: MB4, l: [base_QWERTY] }
|
||||
- { p: [3, 4], k: MB5, l: [base_QWERTY] }
|
||||
- { p: [12, 13], k: MB1, l: [base_QWERTY] }
|
||||
- { p: [13, 14], k: MB3, l: [base_QWERTY] }
|
||||
- { p: [11, 12], k: DrgScr Tog, l: [base_QWERTY] }
|
||||
- { p: [26, 27], k: Tab, l: [base_QWERTY] }
|
||||
- { p: [21, 22], k: Enter, l: [base_QWERTY] }
|
||||
- { p: [22, 23], k: MB2, l: [base_QWERTY] }
|
||||
- { p: [7, 8], k: Bksp, l: [base_QWERTY] }
|
||||
- { p: [6, 7], k: Del, l: [base_QWERTY] }
|
||||
- { p: [31, 32], k: FUNC, l: [base_QWERTY], align: top }
|
||||
- { p: [33, 34], k: CONFIG, l: [base_QWERTY], align: top }
|
||||
draw_config:
|
||||
small_pad: 6
|
BIN
my_keymap.png
Normal file
BIN
my_keymap.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 154 KiB |
8
qmk_clone.json
Normal file
8
qmk_clone.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"clone_targets": [
|
||||
{
|
||||
"repository": "https://github.com/app-gitKaiwho/qmk-config-klor/",
|
||||
"tree": "main"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -9,27 +9,30 @@ Explore these (there are way more)
|
|||
*/
|
||||
|
||||
//Clear variables we plan to use that might be set elsewhere
|
||||
#undef COMBO_ONLY_FROM_LAYER
|
||||
#undef EXTRA_SHORT_COMBOS
|
||||
|
||||
#undef COMBO_TERM
|
||||
#undef COMBO_TERM_PER_COMBO
|
||||
#undef COMBO_MUST_TAP_PER_COMBO
|
||||
#undef EXTRA_SHORT_COMBOS
|
||||
#undef COMBO_ONLY_FROM_LAYER
|
||||
|
||||
#undef COMBO_HOLD_TERM
|
||||
#undef COMBO_MUST_HOLD_PER_COMBO
|
||||
|
||||
#undef COMBO_MUST_TAP_PER_COMBO
|
||||
#undef COMBO_MUST_PRESS_IN_ORDER_PER_COMBO
|
||||
|
||||
#undef COMBO_SHOULD_TRIGGER
|
||||
|
||||
|
||||
//Set common configuration for all keyboards
|
||||
#define COMBO_TERM 50
|
||||
#define COMBO_TERM_PER_COMBO
|
||||
#define COMBO_MUST_TAP_PER_COMBO
|
||||
#define COMBO_ONLY_FROM_LAYER 0 //this will always setup combos based off of QWERTY layout
|
||||
#define EXTRA_SHORT_COMBOS
|
||||
#define COMBO_ONLY_FROM_LAYER 0 //this will always setup combos based off of QWERTY
|
||||
|
||||
#define COMBO_TERM 35
|
||||
#define COMBO_TERM_PER_COMBO
|
||||
|
||||
#define COMBO_HOLD_TERM TAPPING_TERM
|
||||
#define COMBO_MUST_HOLD_PER_COMBO
|
||||
|
||||
#define COMBO_MUST_PRESS_IN_ORDER_PER_COMBO
|
||||
#define COMBO_MUST_TAP_PER_COMBO
|
||||
#define COMBO_MUST_PRESS_IN_ORDER_PER_COMBO
|
||||
#define COMBO_SHOULD_TRIGGER
|
|
@ -1,65 +1,5 @@
|
|||
#include "combo.h"
|
||||
|
||||
|
||||
//only need to make it for the qwerty layer
|
||||
//const uint16_t PROGMEM dragtog_combo[] = {TR_COMM, TR_DOT, COMBO_END};
|
||||
//const uint16_t PROGMEM sniptog_combo[] = {KC_M, TR_DOT, COMBO_END};
|
||||
//const uint16_t PROGMEM moubtn4_combo[] = {KC_SPC, NAV, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_LENGTH] = {
|
||||
|
||||
/*
|
||||
#if defined(POINTING_DEVICE_ENABLE)
|
||||
[DRAGTOGGLE] = COMBO(dragtog_combo, DRG_TOG),
|
||||
[SNIPERTOGGLE] = COMBO(sniptog_combo, SNP_TOG),
|
||||
#else
|
||||
[DRAGTOGGLE] = COMBO(dragtog_combo, ___x___),
|
||||
[SNIPERTOGGLE] = COMBO(sniptog_combo, ___x___),
|
||||
#endif //POINTING_DEVICE_ENABLE
|
||||
|
||||
#if defined(MOUSELAYER_ENABLE)
|
||||
[MOUSEBUTTON4] = COMBO(moubtn4_combo, KC_BTN4)
|
||||
#else
|
||||
[MOUSEBUTTON4] = COMBO(moubtn4_combo, ___x___)
|
||||
#endif //MOUSELAYER_ENABLE
|
||||
*/
|
||||
};
|
||||
|
||||
|
||||
bool get_combo_must_hold(uint16_t index, combo_t *combo) {
|
||||
switch (index) {
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool get_combo_must_tap(uint16_t index, combo_t *combo) {
|
||||
|
||||
switch (index) {
|
||||
|
||||
/*
|
||||
case DRAGTOGGLE:
|
||||
case SNIPERTOGGLE:
|
||||
case MOUSEBUTTON4:
|
||||
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. */
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
uint16_t get_combo_term(uint16_t index, combo_t *combo) {
|
||||
// or with combo index, i.e. its name from enum.
|
||||
switch (index) {
|
||||
|
@ -71,5 +11,87 @@ uint16_t get_combo_term(uint16_t index, combo_t *combo) {
|
|||
default:
|
||||
return COMBO_TERM;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool get_combo_must_tap(uint16_t index, combo_t *combo) {
|
||||
|
||||
switch (index) {
|
||||
|
||||
#if defined(MOUSEKEY_ENABLE)
|
||||
case MOUSE_BUTTON3:
|
||||
case MOUSE_BUTTON4:
|
||||
case MOUSE_BUTTON5:
|
||||
case MOUSE_DRGTOG:
|
||||
#endif //MOUSEKEY_ENABLE
|
||||
|
||||
case KEY_ESC:
|
||||
case KEY_ENT:
|
||||
case KEY_TAB:
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool get_combo_must_hold(uint16_t index, combo_t *combo) {
|
||||
switch (index) {
|
||||
|
||||
case LYR_CONFIG:
|
||||
case LYR_FUNCTION:
|
||||
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) {
|
||||
|
||||
// disable all combos on config layer
|
||||
if ( get_highest_layer(layer_state) == _CONFIG ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (combo_index) {
|
||||
|
||||
case KEY_ESC:
|
||||
case KEY_ENT:
|
||||
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:
|
||||
case MOUSE_BUTTON4:
|
||||
case MOUSE_BUTTON5:
|
||||
case MOUSE_DRGTOG:
|
||||
if ( get_highest_layer(layer_state) == _NAVIGATION ||
|
||||
get_highest_layer(layer_state) == _NUMBER ||
|
||||
get_highest_layer(layer_state) == _SYMBOL ) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
|
@ -2,11 +2,77 @@
|
|||
#include "t4corun.h"
|
||||
|
||||
enum combos {
|
||||
//DRAGTOGGLE,
|
||||
//SNIPERTOGGLE,
|
||||
//MOUSEBUTTON4,
|
||||
|
||||
// left hand combos
|
||||
#if defined(MOUSEKEY_ENABLE)
|
||||
MOUSE_BUTTON1,
|
||||
MOUSE_BUTTON2,
|
||||
MOUSE_BUTTON3,
|
||||
MOUSE_BUTTON4,
|
||||
MOUSE_BUTTON5,
|
||||
MOUSE_DRGTOG,
|
||||
#endif //MOUSEKEY_ENABLE
|
||||
|
||||
KEY_ESC,
|
||||
KEY_ENT,
|
||||
LYR_FUNCTION,
|
||||
|
||||
// right hand combos
|
||||
KEY_TAB,
|
||||
KEY_DEL,
|
||||
KEY_BSPC,
|
||||
LYR_CONFIG,
|
||||
|
||||
COMBO_LENGTH
|
||||
};
|
||||
|
||||
|
||||
// left hand combos
|
||||
#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_C, KC_V, COMBO_END };
|
||||
const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, KC_G, COMBO_END };
|
||||
const uint16_t PROGMEM mou_btn4_combo[] = { KC_E, KC_R, COMBO_END };
|
||||
const uint16_t PROGMEM mou_btn5_combo[] = { KC_R, KC_T, COMBO_END };
|
||||
const uint16_t PROGMEM mou_drg_combo[] = { KC_S, KC_D, COMBO_END };
|
||||
#endif //MOUSEKEY_ENABLE
|
||||
|
||||
const uint16_t PROGMEM key_esc_combo[] = { KC_W, KC_E, COMBO_END };
|
||||
const uint16_t PROGMEM key_ent_combo[] = { KC_X, KC_C, COMBO_END };
|
||||
const uint16_t PROGMEM lyr_fun_combo[] = { NUM, TR_LSFT, COMBO_END };
|
||||
|
||||
|
||||
// right hand combos
|
||||
const uint16_t PROGMEM key_tab_combo[] = { KC_M, TR_COMM, COMBO_END };
|
||||
const uint16_t PROGMEM key_del_combo[] = { KC_U, KC_I, COMBO_END };
|
||||
const uint16_t PROGMEM key_bspc_combo[] = { KC_I, KC_O, COMBO_END };
|
||||
const uint16_t PROGMEM lyr_cfg_combo[] = { KC_SPC, NAV, COMBO_END };
|
||||
|
||||
|
||||
|
||||
combo_t key_combos[COMBO_LENGTH] = {
|
||||
|
||||
// left hand combos
|
||||
#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_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS),
|
||||
#endif //MOUSEKEY_ENABLE
|
||||
|
||||
[KEY_ESC] = COMBO(key_esc_combo, KC_ESC),
|
||||
[KEY_ENT] = COMBO(key_ent_combo, KC_ENT),
|
||||
[LYR_FUNCTION] = COMBO(lyr_fun_combo, FUNC),
|
||||
|
||||
// right hand combos
|
||||
[KEY_TAB] = COMBO(key_tab_combo, KC_TAB),
|
||||
[KEY_DEL] = COMBO(key_del_combo, KC_DEL),
|
||||
[KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC),
|
||||
[LYR_CONFIG] = COMBO(lyr_cfg_combo, CONFIG)
|
||||
|
||||
};
|
||||
|
||||
//their documentation is so confusing because you don't use COMBO_LEN defining the actions
|
||||
uint16_t COMBO_LEN = COMBO_LENGTH;
|
||||
uint16_t COMBO_LEN = COMBO_LENGTH;
|
||||
|
|
|
@ -37,12 +37,7 @@ 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);
|
||||
|
||||
#if defined(MOUSEKEY_ENABLE)
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_MOUSE), get_highest_layer(layer_state) == _MOUSE);
|
||||
#endif //MOUSEKEY_ENABLE
|
||||
|
||||
oled_write_P(PSTR(OLED_RENDER_LAYER_GAME_NUM), get_highest_layer(layer_state) == _GAME_NUM);
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#define OLED_RENDER_MODS_NAME "Mods:"
|
||||
|
||||
#define OLED_RENDER_LAYOUT_NAME "Lyout"
|
||||
#define OLED_RENDER_LAYOUT_QWERTY " QRTY"
|
||||
#define OLED_RENDER_LAYOUT_QWERTY " qrty"
|
||||
#define OLED_RENDER_LAYOUT_COLEMAK_DH " cmDH"
|
||||
#define OLED_RENDER_LAYOUT_GAME " Game"
|
||||
|
||||
|
@ -16,13 +16,9 @@
|
|||
#define OLED_RENDER_LAYER_NUMBER " Num "
|
||||
#define OLED_RENDER_LAYER_NAVIGATION " Nav "
|
||||
#define OLED_RENDER_LAYER_SYMBOL " Sym "
|
||||
#define OLED_RENDER_LAYER_GAME_NUM " gNum"
|
||||
#define OLED_RENDER_LAYER_FUNCTION " Fun "
|
||||
#define OLED_RENDER_LAYER_CONFIG " Cfg "
|
||||
|
||||
#if defined(MOUSEKEY_ENABLE)
|
||||
# define OLED_RENDER_LAYER_MOUSE " Mou "
|
||||
#endif //MOUSEKEY_ENABLE
|
||||
|
||||
void render_crkbd_logo(void);
|
||||
void render_default_layer_state(void);
|
||||
void render_layer_state(void);
|
||||
|
|
|
@ -18,7 +18,6 @@ UNICODE_ENABLE ?= no
|
|||
SPACE_CADET_ENABLE ?= no
|
||||
GRAVE_ESC_ENABLE ?= no
|
||||
|
||||
COMBO_ENABLE ?= no
|
||||
DYNAMIC_MACRO_ENABLE ?= yes
|
||||
RGB_MATRIX_ENABLE ?= no
|
||||
RGBLIGHT_ENABLE ?= no
|
||||
|
@ -32,7 +31,7 @@ EXTRAKEY_ENABLE = yes
|
|||
AUDIO_ENABLE = no
|
||||
CAPS_WORD_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = yes
|
||||
|
||||
COMBO_ENABLE = yes
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# include my code that will be common across all my keyboards
|
||||
|
@ -49,7 +48,6 @@ ifeq ($(strip $(CAPS_WORD_ENABLE)), yes)
|
|||
SRC += features/capsword.c
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
|
||||
SRC += features/rgbmatrix.c
|
||||
endif
|
||||
|
@ -58,12 +56,10 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), ws2812)
|
|||
SRC += features/rgbmatrix.c
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(strip $(MOUSEKEY_ENABLE)), yes)
|
||||
SRC += features/mouse.c
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
SRC += features/oled.c
|
||||
endif
|
||||
|
|
|
@ -12,8 +12,6 @@ enum layers {
|
|||
_NUMBER,
|
||||
_SYMBOL,
|
||||
_FUNCTION,
|
||||
_MOUSE,
|
||||
_GAME_NUM,
|
||||
_CONFIG
|
||||
};
|
||||
|
||||
|
@ -46,9 +44,8 @@ enum keycodes {
|
|||
#define NAV MO(_NAVIGATION)
|
||||
#define NAV_0 LT(_NAVIGATION, KC_0)
|
||||
#define NUM MO(_NUMBER)
|
||||
#define CONFIG MO(_CONFIG)
|
||||
#define FUNC MO(_FUNCTION)
|
||||
#define GAMENUM MO(_GAME_NUM)
|
||||
#define CONFIG MO(_CONFIG)
|
||||
|
||||
// Windows Shortcuts
|
||||
#define SC_COPY LCTL(KC_C)
|
||||
|
@ -59,7 +56,7 @@ enum keycodes {
|
|||
#define SC_SNIP LGUI(LSFT(KC_S))
|
||||
#define SC_FILE LGUI(KC_E)
|
||||
|
||||
// Zoom
|
||||
// Zoom for encoders
|
||||
#define ZOOMIN LCTL(LSFT(KC_EQL))
|
||||
#define ZOOMOUT LCTL(KC_MINS)
|
||||
#define ZOOMRST LCTL(KC_0)
|
||||
|
@ -98,7 +95,6 @@ enum keycodes {
|
|||
|
||||
|
||||
#if defined(MOUSEKEY_ENABLE)
|
||||
# define TR_MOUA LT(_MOUSE, KC_A)
|
||||
|
||||
# define TR_MOUU KC_MS_U
|
||||
# define TR_MOUD KC_MS_D
|
||||
|
@ -114,12 +110,10 @@ enum keycodes {
|
|||
# define TR_BTN4 KC_BTN4
|
||||
# define TR_BTN5 KC_BTN5
|
||||
|
||||
# define TR_NUM1 LT(_NUMBER, KC_BTN1)
|
||||
|
||||
# if defined(KEYBOARD_bastardkb_charybdis_3x5)
|
||||
//these codes are defined in charybdis.h
|
||||
# define TR_SNIP SNIPING
|
||||
# define TR_DRGS DRGSCRL
|
||||
# define TR_DRGS DRG_TOG
|
||||
# define TR_SDPI S_D_MOD //sniping dpi
|
||||
# define TR_PDPI DPI_MOD //pointer dpi
|
||||
# else
|
||||
|
@ -130,7 +124,6 @@ enum keycodes {
|
|||
# endif //KEYBOARD_bastardkb_charybdis_3x5
|
||||
|
||||
#else
|
||||
# define TR_MOUA KC_A
|
||||
|
||||
# define TR_MOUU ___x___
|
||||
# define TR_MOUD ___x___
|
||||
|
@ -151,7 +144,6 @@ enum keycodes {
|
|||
# define TR_SDPI ___x___
|
||||
# define TR_PDPI ___x___
|
||||
|
||||
# define TR_NUM1 MO(_NUMBER)
|
||||
#endif //MOUSEKEY_ENABLE
|
||||
|
||||
|
||||
|
@ -197,85 +189,64 @@ enum keycodes {
|
|||
#define _SCAG_MODS________________________ TR_LSFT, TR_LCTL, TR_LALT, TR_LGUI
|
||||
#define _UCCPR_L___________________________________ SC_UNDO, SC_CUT, SC_COPY, SC_PAST, SC_REDO
|
||||
|
||||
#define _BASE_L4_________________ ___x___, TR_NUM1, TR_LSFT
|
||||
#define _BASE_L4_________________ ___x___, NUM, TR_LSFT
|
||||
#define _BASE_R4_________________ KC_SPC, NAV, KC_MUTE
|
||||
#define _LAYER_TRANS_____________ ___x___, _______, ___x___
|
||||
|
||||
|
||||
//___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___,
|
||||
|
||||
#define BASETEST \
|
||||
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, KC_QUOT, \
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
|
||||
KC_TAB, KC_ESC, KC_LSFT, KC_SPC, KC_ENT, KC_MUTE
|
||||
|
||||
|
||||
#define LAYER_QWERTY \
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
|
||||
TR_MOUA, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TR_QUOT, \
|
||||
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, \
|
||||
_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, \
|
||||
TR_MOUA, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
|
||||
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, \
|
||||
_BASE_L4_________________, _BASE_R4_________________
|
||||
|
||||
|
||||
#define LAYER_GAME \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, _NONE_5____________________________________, \
|
||||
GAMENUM, KC_A, KC_S, KC_D, KC_F, _NONE_5____________________________________, \
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, _NONE_5____________________________________, \
|
||||
___x___, KC_LSFT, KC_SPC, _BASE_R4_________________
|
||||
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_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
|
||||
|
||||
|
||||
#define LAYER_NAVIGATION \
|
||||
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_INS, ___x___, KC_APP, ___x___, CONFIG, \
|
||||
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
|
||||
_UCCPR_L___________________________________, KC_DEL, KC_TAB, KC_VOLD, KC_VOLU, KC_MUTE, \
|
||||
ZOOMRST, NUM, KC_ENT, _LAYER_TRANS_____________
|
||||
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_INS, KC_CAPS, KC_SCRL, ___x___, ___x___, \
|
||||
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
|
||||
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
|
||||
ZOOMRST, _______, KC_ENT, _LAYER_TRANS_____________
|
||||
|
||||
|
||||
#define LAYER_NUMBER \
|
||||
KC_ESC, SC_SNIP, SC_FILE, FUNC, TR_GRV, KC_ENT, KC_7, KC_8, KC_9, KC_TAB, \
|
||||
_GACS_MODS________________________, TR_SCLN, KC_BSPC, KC_4, KC_5, KC_6, KC_DOT, \
|
||||
_UCCPR_L___________________________________, KC_DEL, KC_1, KC_2, KC_3, TR_MINS, \
|
||||
___x___, SC_SNIP, SC_FILE, ___x___, TR_GRV, ___x___, KC_7, KC_8, KC_9, ___x___, \
|
||||
_GACS_MODS________________________, TR_SCLN, ___x___, KC_4, KC_5, KC_6, KC_DOT, \
|
||||
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, TR_MINS, \
|
||||
_LAYER_TRANS_____________, KC_SPC, NAV_0, ___x___
|
||||
|
||||
|
||||
#define LAYER_SYMBOL \
|
||||
KC_ESC, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
|
||||
KC_AMPR, TR_LCBR, KC_RCBR, KC_PIPE, TR_SCLN, KC_BSPC, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
|
||||
TR_PERC, TR_LABK, KC_RABK, KC_BSLS, KC_EXLM, KC_DEL, KC_SLSH, TR_LPRN, TR_DOT, TR_MINS, \
|
||||
___x___, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
|
||||
KC_AMPR, TR_LCBR, KC_RCBR, KC_PIPE, TR_SCLN, ___x___, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
|
||||
TR_PERC, TR_LABK, KC_RABK, KC_BSLS, KC_EXLM, ___x___, KC_SLSH, TR_LPRN, TR_DOT, TR_MINS, \
|
||||
_LAYER_TRANS_____________, _LAYER_TRANS_____________
|
||||
|
||||
|
||||
#define LAYER_FUNCTION \
|
||||
TR_DMP2, TR_DMR2, ___x___, _______, KC_SCRL, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, \
|
||||
_NONE_5____________________________________, KC_CAPS, KC_F4, KC_F5, KC_F6, KC_F11, \
|
||||
_NONE_5____________________________________, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F12, \
|
||||
___x___, ___x___, TR_MOUU, ___x___, TR_MWHU, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, \
|
||||
___x___, TR_MOUL, TR_MOUD, TR_MOUR, TR_MWHD, KC_NUM, KC_F4, KC_F5, KC_F6, KC_F11, \
|
||||
TR_PDPI, TR_SDPI, ___x___, TR_DRGS, TR_SNIP, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F12, \
|
||||
_LAYER_TRANS_____________, TR_DMP1, TR_DMR1, ___x___
|
||||
|
||||
|
||||
#define LAYER_MOUSE \
|
||||
___x___, TR_BTN5, TR_BTN4, TR_BTN3, ___x___, TR_MWHU, ___x___, TR_MOUU, ___x___, ___x___, \
|
||||
_______, _GACS_MOUSE_MODS_________, ___x___, TR_MWHD, TR_MOUL, TR_MOUD, TR_MOUR, ___x___, \
|
||||
_NONE_3__________________, TR_DRGS, TR_SNIP, TR_SDPI, TR_PDPI, ___x___, ___x___, ___x___, \
|
||||
___x___, TR_BTN1, TR_BTN2, _NONE_3__________________
|
||||
|
||||
|
||||
#define LAYER_GAME_NUM \
|
||||
___x___, KC_ESC, KC_TILD, KC_G, KC_T, _NONE_5____________________________________, \
|
||||
_______, KC_1, KC_2, KC_3, KC_4, _NONE_5____________________________________, \
|
||||
___x___, KC_5, KC_6, KC_7, KC_8, _NONE_5____________________________________, \
|
||||
___x___, KC_LALT, KC_LCTL, _LAYER_TRANS_____________
|
||||
|
||||
|
||||
#define LAYER_CONFIG \
|
||||
_NONE_5____________________________________, EE_CLR, QK_RBT, QK_BOOT, ___x___, _______, \
|
||||
_NONE_5____________________________________, EE_CLR, QK_RBT, QK_BOOT, ___x___, ___x___, \
|
||||
TR_RTOG, TR_RMOD, _NONE_3__________________, BASELYR, _SCAG_MODS________________________, \
|
||||
TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, ___x___, _NONE_5____________________________________, \
|
||||
_NONE_3__________________, _LAYER_TRANS_____________
|
||||
_NONE_3__________________, _NONE_3__________________
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue