diff options
Diffstat (limited to 'users/muppetjones/readme/wrappers.md')
-rw-r--r-- | users/muppetjones/readme/wrappers.md | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/users/muppetjones/readme/wrappers.md b/users/muppetjones/readme/wrappers.md new file mode 100644 index 0000000000..e8365ab7ad --- /dev/null +++ b/users/muppetjones/readme/wrappers.md @@ -0,0 +1,153 @@ +# 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` and `R` to indicate handedness +> - Headers use `P`, `R`, `M`, and `I` 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` on `v` + +### 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 character `X` on keypress and character `Y` on `shift` 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 | |