# generated from XKB map ar include common map 0x401 exclam 0x02 shift at 0x03 shift numbersign 0x04 shift dollar 0x05 shift percent 0x06 shift asciicircum 0x07 shift ampersand 0x08 shift asterisk 0x09 shift parenleft 0x0a shift parenright 0x0b shift minus 0x0c underscore 0x0c shift equal 0x0d plus 0x0d shift Arabic_dad 0x10 altgr Arabic_fatha 0x10 shift altgr Arabic_sad 0x11 altgr Arabic_fathatan 0x11 shift altgr Arabic_theh 0x12 altgr Arabic_damma 0x12 shift altgr Arabic_qaf 0x13 altgr Arabic_dammatan 0x13 shift altgr Arabic_feh 0x14 altgr UFEF9 0x14 shift altgr Arabic_ghain 0x15 altgr Arabic_hamzaunderalef 0x15 shift altgr Arabic_ain 0x16 altgr grave 0x16 shift altgr Arabic_ha 0x17 altgr division 0x17 shift altgr Arabic_khah 0x18 altgr multiply 0x18 shift altgr Arabic_hah 0x19 altgr Arabic_semicolon 0x19 shift altgr bracketleft 0x1a braceleft 0x1a shift Arabic_jeem 0x1a altgr bracketright 0x1b braceright 0x1b shift Arabic_dal 0x1b altgr Arabic_sheen 0x1e altgr backslash 0x1e shift altgr Arabic_seen 0x1f altgr Arabic_yeh 0x20 altgr bracketleft 0x20 shift altgr Arabic_beh 0x21 altgr bracketright 0x21 shift altgr Arabic_lam 0x22 altgr UFEF7 0x22 shift altgr Arabic_alef 0x23 altgr Arabic_hamzaonalef 0x23 shift altgr Arabic_teh 0x24 altgr Arabic_tatweel 0x24 shift altgr Arabic_noon 0x25 altgr Arabic_comma 0x25 shift altgr Arabic_meem 0x26 altgr slash 0x26 shift altgr semicolon 0x27 colon 0x27 shift Arabic_kaf 0x27 altgr apostrophe 0x28 quotedbl 0x28 shift Arabic_tah 0x28 altgr grave 0x29 asciitilde 0x29 shift Arabic_thal 0x29 altgr Arabic_shadda 0x29 shift altgr backslash 0x2b bar 0x2b shift less 0x2b altgr greater 0x2b shift altgr Arabic_hamzaonyeh 0x2c altgr asciitilde 0x2c shift altgr Arabic_hamza 0x2d altgr Arabic_sukun 0x2d shift altgr Arabic_hamzaonwaw 0x2e altgr Arabic_kasra 0x2e shift altgr Arabic_ra 0x2f altgr Arabic_kasratan 0x2f shift altgr UFEFB 0x30 altgr UFEF5 0x30 shift altgr Arabic_alefmaksura 0x31 altgr Arabic_maddaonalef 0x31 shift altgr Arabic_tehmarbuta 0x32 altgr apostrophe 0x32 shift altgr comma 0x33 less 0x33 shift Arabic_waw 0x33 altgr period 0x34 greater 0x34 shift Arabic_zain 0x34 altgr slash 0x35 question 0x35 shift Arabic_zah 0x35 altgr Arabic_question_mark 0x35 shift altgr
path: root/docs/feature_command.md
blob: a4ce3f5aea0aa570c4f4201c821271933eec4a18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 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.

On some keyboards Command is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk`:

```make
COMMAND_ENABLE = yes
```

## Usage

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

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()`                      |`(get_mods() == MOD_MASK_SHIFT)`|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_HELP`                    |`H`                             |Print Command help to the console               |
|`MAGIC_KEY_HELP_ALT`                |`SLASH`                         |Print Command help to the console (alternate)   |
|`MAGIC_KEY_LAYER0`                  |`0`                             |Make layer 0 the default layer                  |
|`MAGIC_KEY_LAYER0_ALT`              |`GRAVE`                         |Make layer 0 the default layer (alternate)      |
|`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_BOOTLOADER`              |`B`                             |Jump to bootloader                              |
|`MAGIC_KEY_BOOTLOADER_ALT`          |`ESC`                           |Jump to bootloader (alternate)                  |
|`MAGIC_KEY_LOCK`                    |`CAPS`                          |Lock the keyboard so nothing can be typed       |
|`MAGIC_KEY_EEPROM`                  |`E`                             |Print stored EEPROM config to the console       |
|`MAGIC_KEY_EEPROM_CLEAR`            |`BSPACE`                        |Clear the EEPROM                                |
|`MAGIC_KEY_NKRO`                    |`N`                             |Toggle N-Key Rollover (NKRO)                    |
|`MAGIC_KEY_SLEEP_LED`               |`Z`                             |Toggle LED when computer is sleeping            |