diff options
Diffstat (limited to 'docs/feature_command.md')
-rw-r--r-- | docs/feature_command.md | 84 |
1 files changed, 41 insertions, 43 deletions
diff --git a/docs/feature_command.md b/docs/feature_command.md index ad987aaf6..1e03f7ebd 100644 --- a/docs/feature_command.md +++ b/docs/feature_command.md @@ -1,52 +1,50 @@ -# Command (Formerly known as Magic) +# Command -Command is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic](feature_bootmagic.md). There is a lot of overlap between this functionality and the [Bootmagic Keycodes](feature_bootmagic.md). Whenever possible we encourage you to use that functionality instead of Command. +Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic](feature_bootmagic.md). There is a lot of overlap between this functionality and the [Bootmagic Keycodes](feature_bootmagic.md#keycodes). Wherever possible we encourage you to use that feature instead of Command. -## Enabling Command +On some keyboards Command is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk`: -By default Command is disabled. You can enable it in your `rules.mk` file: - - COMMAND_ENABLE = yes +```make +COMMAND_ENABLE = yes +``` ## Usage -To use Command you hold down the key combination defined by `IS_COMMAND`. By default that combination is both shift keys. While holding the key combination press the key corresponding to the command you want. - -For example, to write the current QMK version to the QMK Toolbox console, you can press `Left Shift`+`Right Shift`+`V`. +To use Command, hold down the key combination defined by the `IS_COMMAND()` macro. By default this is Left Shift+Right Shift. Then, press the key corresponding to the command you want. For example, to output the current QMK version to the QMK Toolbox console, press Left Shift+Right Shift+`V`. ## Configuration -The following values can be defined in `config.h` to control the behavior of Command. - -|Define |Default | Description | -|-------|--------|-------------| -|`IS_COMMAND()` |`(keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))`|Key combination to activate Command| -|`MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` |`true` |Do layer switching with Function row| -|`MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` |`true` |Do layer switching with number keys.| -|`MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM`|`false` |Do layer switching with custom keys (`MAGIC_KEY_LAYER0..9` below.)| -|`MAGIC_KEY_HELP1` |`H` |Show help.| -|`MAGIC_KEY_HELP2` |`SLASH` |Show help.| -|`MAGIC_KEY_DEBUG` |`D` |Turn on debug mode.| -|`MAGIC_KEY_DEBUG_MATRIX` |`X` |Turn on matrix debugging.| -|`MAGIC_KEY_DEBUG_KBD` |`K` |Turn on keyboard debugging.| -|`MAGIC_KEY_DEBUG_MOUSE` |`M` |Turn on mouse debugging.| -|`MAGIC_KEY_VERSION` |`V` |Write the QMK version to the console| -|`MAGIC_KEY_STATUS` |`S` |Show the current keyboard status| -|`MAGIC_KEY_CONSOLE` |`C` |Enable the Command Console| -|`MAGIC_KEY_LAYER0_ALT1` |`ESC` |Alternate access to layer 0| -|`MAGIC_KEY_LAYER0_ALT2` |`GRAVE` |Alternate access to layer 0| -|`MAGIC_KEY_LAYER0` |`0` |Change default layer to 0| -|`MAGIC_KEY_LAYER1` |`1` |Change default layer to 1| -|`MAGIC_KEY_LAYER2` |`2` |Change default layer to 2| -|`MAGIC_KEY_LAYER3` |`3` |Change default layer to 3| -|`MAGIC_KEY_LAYER4` |`4` |Change default layer to 4| -|`MAGIC_KEY_LAYER5` |`5` |Change default layer to 5| -|`MAGIC_KEY_LAYER6` |`6` |Change default layer to 6| -|`MAGIC_KEY_LAYER7` |`7` |Change default layer to 7| -|`MAGIC_KEY_LAYER8` |`8` |Change default layer to 8| -|`MAGIC_KEY_LAYER9` |`9` |Change default layer to 9| -|`MAGIC_KEY_BOOTLOADER` |`PAUSE` |Exit keyboard and enter bootloader| -|`MAGIC_KEY_LOCK` |`CAPS` |Lock the keyboard so nothing can be typed| -|`MAGIC_KEY_EEPROM` |`E` |Erase EEPROM settings| -|`MAGIC_KEY_NKRO` |`N` |Toggle NKRO on/off| -|`MAGIC_KEY_SLEEP_LED` |`Z` |Toggle LED when computer is sleeping on/off| +If you would like to change the key assignments for Command, `#define` these in your `config.h` at either the keyboard or keymap level. All keycode assignments here must omit the `KC_` prefix. + +|Define |Default |Description | +|------------------------------------|----------------------------------------------------------------------------------------|------------------------------------------------| +|`IS_COMMAND()` |`(keyboard_report->mods == (MOD_BIT(KC_LSHIFT) <code>|</code> MOD_BIT(KC_RSHIFT)))`|The key combination to activate Command | +|`MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` |`true` |Set default layer with the Function row | +|`MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` |`true` |Set default layer with the number keys | +|`MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM`|`false` |Set default layer with `MAGIC_KEY_LAYER0..9` | +|`MAGIC_KEY_DEBUG` |`D` |Toggle debugging over serial | +|`MAGIC_KEY_DEBUG_MATRIX` |`X` |Toggle key matrix debugging | +|`MAGIC_KEY_DEBUG_KBD` |`K` |Toggle keyboard debugging | +|`MAGIC_KEY_DEBUG_MOUSE` |`M` |Toggle mouse debugging | +|`MAGIC_KEY_CONSOLE` |`C` |Enable the Command console | +|`MAGIC_KEY_VERSION` |`V` |Print the running QMK version to the console | +|`MAGIC_KEY_STATUS` |`S` |Print the current keyboard status to the console| +|`MAGIC_KEY_HELP1` |`H` |Print Command help to the console | +|`MAGIC_KEY_HELP2` |`SLASH` |Print Command help to the console (alternate) | +|`MAGIC_KEY_LAYER0` |`0` |Make layer 0 the default layer | +|`MAGIC_KEY_LAYER1` |`1` |Make layer 1 the default layer | +|`MAGIC_KEY_LAYER2` |`2` |Make layer 2 the default layer | +|`MAGIC_KEY_LAYER3` |`3` |Make layer 3 the default layer | +|`MAGIC_KEY_LAYER4` |`4` |Make layer 4 the default layer | +|`MAGIC_KEY_LAYER5` |`5` |Make layer 5 the default layer | +|`MAGIC_KEY_LAYER6` |`6` |Make layer 6 the default layer | +|`MAGIC_KEY_LAYER7` |`7` |Make layer 7 the default layer | +|`MAGIC_KEY_LAYER8` |`8` |Make layer 8 the default layer | +|`MAGIC_KEY_LAYER9` |`9` |Make layer 9 the default layer | +|`MAGIC_KEY_LAYER0_ALT1` |`ESC` |Make layer 0 the default layer (alternate) | +|`MAGIC_KEY_LAYER0_ALT2` |`GRAVE` |Make layer 0 the default layer (alternate) | +|`MAGIC_KEY_BOOTLOADER` |`PAUSE` |Enter the bootloader | +|`MAGIC_KEY_LOCK` |`CAPS` |Lock the keyboard so nothing can be typed | +|`MAGIC_KEY_EEPROM` |`E` |Clear the EEPROM | +|`MAGIC_KEY_NKRO` |`N` |Toggle N-Key Rollover (NKRO) | +|`MAGIC_KEY_SLEEP_LED` |`Z` |Toggle LED when computer is sleeping | |