diff options
Diffstat (limited to 'users/muppetjones/readme')
-rw-r--r-- | users/muppetjones/readme/dancelayers.md | 73 | ||||
-rw-r--r-- | users/muppetjones/readme/etchamouse.md | 69 | ||||
-rw-r--r-- | users/muppetjones/readme/rgblayers.md | 59 | ||||
-rw-r--r-- | users/muppetjones/readme/tapmods.md | 25 | ||||
-rw-r--r-- | users/muppetjones/readme/wrappers.md | 153 |
5 files changed, 0 insertions, 379 deletions
diff --git a/users/muppetjones/readme/dancelayers.md b/users/muppetjones/readme/dancelayers.md deleted file mode 100644 index 85c4b7cad9..0000000000 --- a/users/muppetjones/readme/dancelayers.md +++ /dev/null @@ -1,73 +0,0 @@ -# Tap Dance Layers - -This feature creates a key that changes the current layer via tap dance. By -default, this assumes that you have the following layers defined: - -- `_ADJUST` -- `_LOWER` -- `_RAISE` -- `_MOUSE` - -And sets up the following tap dance: - -| Count | Action | Layer | -| ----- | ------ | --------- | -| 1x | hold | `_ADJUST` | -| 1x | tap | `_MOUSE` | -| 2x | tap | `_LOWER` | -| 3x | tap | `_RAISE` | -| 4x | tap | `_ADJUST` | - -## Usage - -> NOTE: If you use other tap-dance functions, you may require additonal setup. - -1. Copy `features/dancelayers.{c,h}` into your keymap or userspace directory. -2. Add the following to your `rules.mk` - - ``` - TAP_DANCE_ENABLE = yes - - SRC += ./features/dancelayers.c - ``` - -3. Add the following to your `keymap.c`: - - ``` - #ifdef TAP_DANCE_ENABLE - # include "features/dancelayers.h" - # define TD_LAYR TD(TD_LAYERS) - #else - # define TD_LAYR XXXXXXX - #endif - ``` - -4. Add `TD_LYR` to your keymap. - -## Functions and Enumerations - -The following functions are available for use: - -- `cur_dance` - -The following tap dance enumerations are defined: - -- `TD_1X_HOLD` -- `TD_1X_TAP` -- `TD_2X_TAP` -- `TD_3X_TAP` -- `TD_4X_TAP` - -## Overriding the Defaults - -If you want to define different layers to tap dance actions, you'll need to -define two additional functions in your `keymap.c`: - -- `td_lyr_finished` -- `td_lyr_reset` - -Both of these functions are necessary and require a certain pattern for each -layer. "Tap" actions are handled in `*_finished` while "hold" actions are -resolved in `*_finished` and `*_reset`. - -See the implementation in `dancelayers.c` for an example. diff --git a/users/muppetjones/readme/etchamouse.md b/users/muppetjones/readme/etchamouse.md deleted file mode 100644 index efcf718b22..0000000000 --- a/users/muppetjones/readme/etchamouse.md +++ /dev/null @@ -1,69 +0,0 @@ -# Etch-a-Mouse - -Encoder-based mouse movement with acceleration! - -## Usage - -- Add the following to your rules.mk - - ``` - ENCODER_ENABLE = yes - POINTING_DEVICE_ENABLE = yes - ``` - -- Add the following block to your keymap.c - - ``` - #ifdef ENCODER_ENABLE - void encoder_update_user(uint8_t index, bool clockwise) { - # ifdef POINTING_DEVICE_ENABLE - encoder_update_mouse(index, clockwise); - # endif - return; - #endif - ``` - -> NOTE: I use the mousekey keycodes to add button one and two into my keymap. - -## How It Works - -> This implementation uses the pointing device library, but it reuses several -> of the same parameters from the mouse key acceleration. - -> The PD library is very light weight, but it does not animate cursor movement. -> tl;dr: The mouse movement will not be smooth! - -The acceleration has four parts: - -``` -initial speed + (delta * time * count) -``` - -1. **Initial Speed**. Uses the `MOUSEKEY_INITIAL_SPEED` parameter. -2. **Delta**. Uses the `MOUSEKEY_MOVE_DELTA` parameter. -3. **Time**. The faster you turn, the faster you move. - - Subtract the time elapsed since the last actuation from a tapping term, - defined by `TAPPING_TERM_MOUSE_ENCODER`†, with a minimum value of 1. - -4. **Count**. The more you turn, the faster you move. - - Count of the total number of actuations. This value will decay over time. - -† _I probably could and will eventually use `TAPPING_TERM`, but I did not want -to mess up my tap mods while experimenting with acceleration._ - -## Diagonal Movement - -Counting the number of actuations for a given axis allows us to persist movement -along a given axis to give us some diagonal movement when moving both axes, -which also helps with the acceleration a bit and makes the movement less blocky. - -## Time-based Decay (a.k.a., Deceleration) - -Originally, the actuation count zeroed out once the tapping term elapsed, but -this made the movement very choppy. Instead, the count will degrade on every -refresh after the tapping term has been exceeded; unfortunately, a refresh only -occurs on an actuation on either axis, so once the time elapsed exceeds the -persistence term, the count is cleared, which also removes any movement in that -axis. diff --git a/users/muppetjones/readme/rgblayers.md b/users/muppetjones/readme/rgblayers.md deleted file mode 100644 index 862ba75941..0000000000 --- a/users/muppetjones/readme/rgblayers.md +++ /dev/null @@ -1,59 +0,0 @@ -# Dynamic Underglow Lighting Per-Layer - -This bit of code allows you to define layer lighting that respects your current eeprom settings, e.g., brightness. It does this by storing the base state rgb - -## Setup - -1. Enable RGB underglow in your `rules.mk` - - ``` - RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow - ``` - -2. (Optional) Add RGB configuration to your `config.h` - - ``` - #ifdef RGBLIGHT_ENABLE - # define RGBLIGHT_HUE_STEP 8 - # define RGBLIGHT_SAT_STEP 16 - # define RGBLIGHT_VAL_STEP 16 - # define RGBLIGHT_LIMIT_VAL 150 - # define RGBLIGHT_SLEEP - // # define RGBLIGHT_LAYERS - #endif - ``` - -3. Add `set_layer_hsv` function. This is where you define your layer-specific colors by setting the HSV properties on the `layer_color` pointer. This example uses the QMK RGB configuration parameters to keep the layer colors offset based on the current EEPROM HSV. - - > NOTE: The HSV values should be between 0 and 255, but setting the modulus on saturation causes the lights to go white on my board. I _think_ this is due to overflow, but I haven't had the chance to try and resolve it yet. - - - ``` - #ifdef RGBLIGHT_ENABLE - void set_layer_hsv(layer_state_t state, HSV* layer_color) { - int32_t h = layer_color->h, s = layer_color->s, v = layer_color->v; - switch (get_highest_layer(state)) { - case _RAISE: - h += 2 * RGBLIGHT_HUE_STEP; - break; - case _LOWER: - h += -2 * RGBLIGHT_HUE_STEP; - break; - case _NAV: - h += 1 * RGBLIGHT_HUE_STEP; - break; - case _MOUSE: - h += -7 * RGBLIGHT_HUE_STEP; - break; - default: - break; - } - layer_color->h = h % 255; - layer_color->s = s; - layer_color->v = v % 255; - return; - } - #endif - ``` - -4. (Optional) If you're using `post_process_record_user`, you'll need to change the name in your keymap to `post_process_record_keymap`. We use the user function to update the HSV state after one of the RGB keycodes is pressed. diff --git a/users/muppetjones/readme/tapmods.md b/users/muppetjones/readme/tapmods.md deleted file mode 100644 index eb707e05d9..0000000000 --- a/users/muppetjones/readme/tapmods.md +++ /dev/null @@ -1,25 +0,0 @@ -# Tap Mods - -## Standard Keys - -| Keycode | Tap | Hold | Description | -| -------- | ------- | ----- | ---------------------------------------------------- | -| `HY_ESC` | Esc | Hyper | Esc on tap; hyper when held | -| `HR_*` | A, O | LGUI | Home-row for Colemak mod-DH and right-handed numpad. | -| \'\' | R, I, 6 | LALT | Home-row for Colemak mod-DH and right-handed numpad. | -| \'\' | S, E, 5 | LCTL | Home-row for Colemak mod-DH and right-handed numpad. | -| \'\' | T, N, 4 | LSFT | Home-row for Colemak mod-DH and right-handed numpad. | - -## Layers - -| Keycode | Tap | Hold | Description | -| ------- | ----- | ----- | --------------------------- | -| LOWER | -- | Lower | Temporarily activate layer. | -| RAISE | -- | Raise | Temporarily activate layer. | -| NAV | -- | Nav | Temporarily activate layer. | -| LOW_ENT | Enter | Lower | | -| LOW_SPC | Space | Lower | | -| NAV_SPC | Space | Nav | | -| RAI_ENT | Enter | Raise | | -| RAI_SPC | Space | Raise | | -| RAI_TAB | Tab | Raise | | diff --git a/users/muppetjones/readme/wrappers.md b/users/muppetjones/readme/wrappers.md deleted file mode 100644 index e8365ab7ad..0000000000 --- a/users/muppetjones/readme/wrappers.md +++ /dev/null @@ -1,153 +0,0 @@ -# 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 | |