From 8ffeaec3aaa8b26a8d4512eab2a04b789d717044 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 12 Jul 2018 10:11:07 -0700 Subject: [PATCH] Overhaul to keycode related docs * Adds Audio Keycodes to both the feature page and master list * Re-orders the keycode list, so it's alphabetical (mostly) * Add additional (missing) sections to the keycode list * Add and update links in the keycode page * Add and reorder links in sidebar's keycode section --- docs/_summary.md | 10 +- docs/config_options.md | 4 + docs/feature_advanced_keycodes.md | 6 + docs/feature_audio.md | 25 ++++ docs/keycodes.md | 205 +++++++++++++++++------------- 5 files changed, 160 insertions(+), 90 deletions(-) diff --git a/docs/_summary.md b/docs/_summary.md index 318c526a85..1a379b2adf 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -53,18 +53,22 @@ * [Userspace](feature_userspace.md) * [Keycodes](keycodes.md) - * [Backlight](feature_backlight.md#backlight-keycodes) * [Basic](keycodes_basic.md) - * [Bluetooth](feature_bluetooth.md#bluetooth-keycodes) + * [Quantum](quantum_keycodes.md) + * [Audio](feature_audio.md#audio-keycodes) + * [Backlight](feature_backlight.md#backlight-keycodes) * [Bootmagic](feature_bootmagic.md#bootmagic-keycodes) + * [Bluetooth](feature_bluetooth.md#bluetooth-keycodes) * [Layer Switching](feature_advanced_keycodes.md#switching-and-toggling-layers) * [Mod+Key](feature_advanced_keycodes.md#modifier-keys) * [Mod Tap](feature_advanced_keycodes.md#mod-tap) + * [Mouse Keys](feature_mouse_keys.md#mapping-mouse-actions-to-keyboard-keys) * [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys) - * [Quantum](quantum_keycodes.md) * [RGB Light](feature_rgblight.md#rgblight-keycodes) + * [RGB Matrix](feature_rgb_matrix.md#keycodes) * [Shifted Keys](feature_advanced_keycodes.md#shifted-keycodes) * [Stenography](feature_stenography.md#keycode-reference) + * [Swap Hands](feature_swap_hands.md#swap-keycodes) * [Thermal Printer](feature_thermal_printer.md#thermal-printer-keycodes) * [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md) diff --git a/docs/config_options.md b/docs/config_options.md index 42b6060d69..94233cadcf 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -126,14 +126,18 @@ If you define these options you will enable the associated feature, which may in * how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too * `#define RETRO_TAPPING` * tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release + * See [Retro Tapping](feature_advanced_keycodes.md#retro-tapping) for details * `#define TAPPING_TOGGLE 2` * how many taps before triggering the toggle * `#define PERMISSIVE_HOLD` * makes tap and hold keys work better for fast typers who don't want tapping term set above 500 + * See [Permissive Hold](feature_advanced_keycodes.md#permissive-hold) for details * `#define IGNORE_MOD_TAP_INTERRUPT` * makes it possible to do rolling combos (zx) with keys that convert to other keys on hold + * See [Mod tap interrupt](feature_advanced_keycodes.md#mod-tap-interrupt) for details * `#define TAPPING_FORCE_HOLD` * makes it possible to use a dual role key as modifier shortly after having been tapped + * See [Hold after tap](feature_advanced_keycodes.md#hold-after-tap) * `#define LEADER_TIMEOUT 300` * how long before the leader key times out * `#define ONESHOT_TIMEOUT 300` diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md index a4b681ec14..f03a7121c4 100644 --- a/docs/feature_advanced_keycodes.md +++ b/docs/feature_advanced_keycodes.md @@ -203,3 +203,9 @@ With default settings, `a` will be sent on the first release, then `a` will be s With `TAPPING_FORCE_HOLD`, the second press will be interpreted as a Shift, allowing to use it as a modifier shortly after having used it as a tap. !> `TAPPING_FORCE_HOLD` will break anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tapping Toggle). + +# Retro Tapping + +When you hold a dual function key, and haven't pressed anything when you release the key, normally nothing happens. However, if you enable this, if you release the key without pressing another key, it will send the original key, even if it is outside of the tapping term. + +For instance, if you're using `LT(2, KC_SPACE)`, if you hold the key, don't hit anything else and then release it, normally, nothing happens. But with `RETRO_TAPPING` defined in your `config.h`, it will send `KC_SPACE`. diff --git a/docs/feature_audio.md b/docs/feature_audio.md index 50e389605c..039c62cdf1 100644 --- a/docs/feature_audio.md +++ b/docs/feature_audio.md @@ -3,6 +3,7 @@ Your keyboard can make sounds! If you've got a Planck, Preonic, or basically any AVR keyboard that allows access to certain PWM-capable pins, you can hook up a simple speaker and make it beep. You can use those beeps to indicate layer transitions, modifiers, special keys, or just to play some funky 8bit tunes. Up to two simultaneous audio voices are supported, one driven by timer 1 and another driven by timer 3. The following pins can be defined as audio outputs in config.h: + Timer 1: `#define B5_AUDIO` `#define B6_AUDIO` @@ -58,6 +59,13 @@ PLAY_LOOP(my_song); It's advised that you wrap all audio features in `#ifdef AUDIO_ENABLE` / `#endif` to avoid causing problems when audio isn't built into the keyboard. +The available keycodes for audio are: + +* `AU_ON` - Turn audio mode on +* `AU_OFF` - Turn audio mode off +* `AU_TOG` - Toggle audio mode + + ## Music Mode The music mode maps your columns to a chromatic scale, and your rows to octaves. This works best with ortholinear keyboards, but can be made to work with others. All keycodes less than `0xFF` get blocked, so you won't type while playing notes - if you have special keys/mods, those will still work. A work-around for this is to jump to a different layer with KC_NOs before (or after) enabling music mode. @@ -145,6 +153,23 @@ You can configure the default, min and max frequencies, the stepping and built i This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile. + +## Audio Keycodes + +|Key |Aliases |Description | +|----------------|---------|----------------------------------| +|`AU_ON` | |Audio mode on | +|`AU_OFF` | |Audio mode off | +|`AU_TOG` | |Toggles Audio mode | +|`CLICKY_TOGGLE` |`CK_TOGG`|Toggles Audio clicky mode | +|`CLICKY_UP` |`CK_UP` |Increases frequency of the clicks | +|`CLICKY_DOWN` |`CK_DOWN`|Decreases frequency of the clicks | +|`CLICKY_RESET` |`CK_RST` |Resets frequency to default | +|`MU_ON` | |Turns on Music Mode | +|`MU_OFF` | |Turns off Music Mode | +|`MU_TOG` | |Toggles Music Mode | +|`MU_MOD` | |Cycles through the music modes | +