forked from forks/qmk_firmware
df8a538489
* Userspace: muppetjones (#1) Add and update lily58 to work with userspace Add and update kyria keymap to work with userspace Add and update planck keymap with userspace Add etchamouse code and docs to userpace Add userspace Update mouse encoder for smoother movement. Encoder + mouse Added casemodes by andrewjrae * Rollback lily58 state reader and add missing GPL * Apply suggestions from code review Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Joel Challis <git@zvecr.com> * fix lily58 keymap * Updates to user and lily for muppetjones. Updated parameters for etchamouse for smoother mouse movement. Updated lily keymap and userspace to actually work together. * Update keyboards/lily58/keymaps/muppetjones/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Updated keymaps and userspace * Little more cleanup. * Update keyboards/lily58/keymaps/muppetjones/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Rollback accidental libchibios update * Apply suggestions from code review Co-authored-by: Drashna Jaelre <drashna@live.com> * Update kyria keymap * Move kyria keymap to splitkb/kyria * Update planck keymap * Remove all changes to keyboards/lily58/lib/layer_state_reader.c * Update lily58 keymap * Recommended change * Update keymap readme * Update kyria keymap and userspace * Apply suggestions from code review Co-authored-by: Drashna Jaelre <drashna@live.com> * Renamed users/muppetjones/README.md to lc * Update keyboards/lily58/keymaps/muppetjones/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>
5.2 KiB
5.2 KiB
Keymap Wrappers
Pattern adapted from users/drashna/wrapper.h
Defines several object macros for common keycode sets. Each macro typically covers 5 keycodes with a left- or right-hand orientation, and macros are generally grouped into rows of three or four.
TODO: Use keymap builder to generate images.
Example
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format off
[_MODS] = LAYOUT_wrapper(
_______, ___________________BLANK___________________, ...
...
),
//clang-format on
}
Substitute the appropriate LAYOUT
function, e.g., LAYOUT_planck_grid
for your board.
Wrappers
How to Read the Tables
- Headers are numbered when wrapper is not hand-specific
- Headers use
L
andR
to indicate handedness- Headers use
P
,R
,M
, andI
to indicate pinky, ring, middle, and index, respectively- Wrappers define a maximum of five keycodes -- hands are shown on the same row for readability
Alpha: Colemak mod-DH
# | LP | LR | LM | LI | LI+ | RI+ | RI | RM | RR | RP |
---|---|---|---|---|---|---|---|---|---|---|
1 | Q | W | F | P | B | J | L | U | Y | ;ˆ |
2 | A° | R° | S° | T° | G | M | N° | E° | I° | O° |
3 | Z | X | C | D | V˜ | K | H | , | . | / |
- ˆ: (Optional) Replace
;
with'
(top-right) - °: (Optional) Home row modifiers on tap-hold (GACS, SCAG)
- ˜: (Optional) Tap-hold
shift
onv
Alpha: QWERTY
# | LP | LR | LM | LI | LI+ | RI+ | RI | RM | RR | RP |
---|---|---|---|---|---|---|---|---|---|---|
1 | Q | W | E | R | T | Y | U | I | O | P |
2 | A | S | D | F | G | H | J | K | L | ; |
3 | Z | X | C | V | B | N | M | , | . | / |
Blank(-ish)
Defines macros for common filler.
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
TRNS | TRNS | TRNS | TRNS | TRNS |
xxxx | xxxx | xxxx | xxxx | xxxx |
LP | LR | LM | LI | LI+ | RI+ | RI | RM | RR | RP |
---|---|---|---|---|---|---|---|---|---|
LGUI | LALT | LCTL | LSFT | TRNS | TRNS | RSFT | RCTL | LALT | RGUI |
Adjust
# | LP | LR | LM | LI | LI+ | RI+ | RI | RM | RR | RP |
---|---|---|---|---|---|---|---|---|---|---|
1 | Reset | Debug | xxxx | Term+ | Term- | xxxx | AGNORM | AGSWAP | xxxx | xxxx |
2 | RgbTog | Hue+ | Sat+ | Val+ | RgbMod | xxxx | CLMKDH | QWERTY | xxxx | xxxx |
3 | xxxx | Hue- | Sat- | Val- | xxxx | xxxx | xxxx | xxxx | xxxx | xxxx |
Recommend: Define Right side per-board
Function
# | 1 | 2 | 3 | 4 |
---|---|---|---|---|
1 | F1 | F2 | F3 | F4 |
2 | F5 | F6 | F7 | F8 |
3 | F9 | F10 | F11 | F12 |
Media
# | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
1 | AuOn | MiOn | MuOn | Brm+ | Vol+ |
2 | AuOff | MiOff | MuOff | Brm- | Vol- |
3 | Play | Stop | Next | Prev | Mute |
Nav
# | RI+ | RI | RM | RR | RP |
---|---|---|---|---|---|
1 | Pg Up | Home | Wh Dn | Wh Up | End |
2 | Pg Dn | Left | Down | Up | Right |
3 | xxxx | xxxx | xxxx | xxxx | xxxx |
Numpad
X Y
indicates the characterX
on keypress and characterY
onshift
keypress- Second table shows characters with
alt
keypress
# | RI+ | RI | RM | RR | RP |
---|---|---|---|---|---|
1 | Del | 7 & |
8 _ |
9 ( |
|
2 | - _ |
4 $ |
5 % |
6 ^ |
* |
3 | = + |
1 ! |
2 @ |
3 # |
, < |
4 | 0 ) |
. > |
# | RI+ | RI | RM | RR | RP |
---|---|---|---|---|---|
1 | ¶ ‡ |
• ° |
ª · |
« » |
|
2 | – — |
¢ › |
∞ fi |
§ fl |
° ° |
3 | ≠ ± |
¡ ⁄ |
™ € |
£ ‹ |
≤ ¯ |
4 | º ‚ |
Symbols
# | LP | LR | LM | LI | LI+ |
---|---|---|---|---|---|
1 | ~ | ` | ( | ) | |
2 | LGUI | LALT | [ ° | ] ° | _ - |
3 | xxxx | xxxx | { | } | LSFT |
- °: Home row modifiers on tap-hold (GACS, SCAG)
VIM
# | LP | LR | LM | LI | LI+ |
---|---|---|---|---|---|
1 | Q° | W° | : |
- °: Via transparency
Typical Layers
My keymaps typically use the following layers.
# | Name | Via | Left | Right |
---|---|---|---|---|
0 | Colemak DH | Adjust | ||
1 | QWERTY | Adjust | ||
2 | Mouse | tap-dance | n/a | n/a |
3 | Lower | L home thumb | symbols | numpad |
4 | Raise | L outer thumb | ||
5 | Nav | R home thumb | home mods | nav |
6 | Adjust | tap-dance | RGB | MEDIA |