Codelists
Enumerators
Keypad modes
Keypad mode |
Value |
Explanation |
|---|---|---|
UNKNOWN |
0x00 |
Mode is not set |
KB_MODE |
0x10 |
Keyboard mode |
MIDI_MODE |
0x20 |
MIDI mode |
HID_MODE |
0x30 |
HID mode (special keys and media control) |
OFF_MODE |
0xFF |
Preset is inactive (off) |
Key functions
MIDI mode
HID mode
Power controls
Function |
Code |
|---|---|
CONSUMER_POWER |
0x0030 |
CONSUMER_SLEEP |
0x0032 |
CONSUMER_BRIGHTNESS_UP |
0x006F |
CONSUMER_BRIGHTNESS_DOWN |
0x0070 |
CONSUMER_SCREENSAVER |
0x019e |
Media controls
Function |
Code |
|---|---|
MEDIA_RECORD |
0x00B2 |
MEDIA_FAST_FORWARD |
0x00B3 |
MEDIA_REWIND |
0x00B4 |
MEDIA_NEXT |
0x00B5 |
MEDIA_PREVIOUS |
0x00B6 |
MEDIA_STOP |
0x00B7 |
MEDIA_PLAY_PAUSE |
0x00CD |
MEDIA_PAUSE |
0x00B0 |
MEDIA_VOLUME_MUTE |
0x00E2 |
MEDIA_VOLUME_UP |
0x00E9 |
MEDIA_VOLUME_DOWN |
0x00EA |
Program launchers
Function |
Code |
|---|---|
CONSUMER_PROGRAMMABLE_BUTTON_CONFIGURATION |
0x0182 |
CONSUMER_CONTROL_CONFIGURATION |
0x0183 |
CONSUMER_EMAIL_READER |
0x018A |
CONSUMER_CALCULATOR |
0x0192 |
CONSUMER_EXPLORER |
0x0194 |
Browser
Function |
Code |
|---|---|
CONSUMER_BROWSER_HOME |
0x0223 |
CONSUMER_BROWSER_BACK |
0x0224 |
CONSUMER_BROWSER_FORWARD |
0x0225 |
CONSUMER_BROWSER_REFRESH |
0x0227 |
CONSUMER_BROWSER_BOOKMARKS |
0x022A |
Other HID codes
There are about 360 more codes including OSC, custom keys, games, etc. A complete list is available on GitHub (ConsumerAPI) or in USB specification.
KEYBOARD mode
Letters and numbers
Function |
Code |
|---|---|
KEY_A |
0x0004 |
KEY_B |
0x0005 |
KEY_C |
0x0006 |
KEY_D |
0x0007 |
KEY_E |
0x0008 |
KEY_F |
0x0009 |
KEY_G |
0x0010 |
KEY_H |
0x0011 |
KEY_I |
0x0012 |
KEY_J |
0x0013 |
KEY_K |
0x0014 |
KEY_L |
0x0015 |
KEY_M |
0x0016 |
KEY_N |
0x0017 |
KEY_O |
0x0018 |
KEY_P |
0x0019 |
KEY_Q |
0x0020 |
KEY_R |
0x0021 |
KEY_S |
0x0022 |
KEY_T |
0x0023 |
KEY_U |
0x0024 |
KEY_V |
0x0025 |
KEY_W |
0x0026 |
KEY_X |
0x0027 |
KEY_Y |
0x0028 |
KEY_Z |
0x0029 |
KEY_1 |
0x0030 |
KEY_2 |
0x0031 |
KEY_3 |
0x0032 |
KEY_4 |
0x0033 |
KEY_5 |
0x0034 |
KEY_6 |
0x0035 |
KEY_7 |
0x0036 |
KEY_8 |
0x0037 |
KEY_9 |
0x0038 |
KEY_0 |
0x0039 |
Numpad
Function |
Code |
|---|---|
KEYPAD_DIVIDE |
0x0054 |
KEYPAD_MULTIPLY |
0x0055 |
KEYPAD_SUBTRACT |
0x0056 |
KEYPAD_ADD |
0x0057 |
KEYPAD_ENTER |
0x0058 |
KEYPAD_1 |
0x0059 |
KEYPAD_2 |
0x005A |
KEYPAD_3 |
0x005B |
KEYPAD_4 |
0x005C |
KEYPAD_5 |
0x005D |
KEYPAD_6 |
0x005E |
KEYPAD_7 |
0x005F |
KEYPAD_8 |
0x0060 |
KEYPAD_9 |
0x0061 |
KEYPAD_0 |
0x0062 |
KEYPAD_DOT |
0x0063 |
Function/other keys
Function |
Code |
|---|---|
KEY_ENTER |
0x0040 |
KEY_ESC |
0x0041 |
KEY_BACKSPACE |
0x0042 |
KEY_TAB |
0x0043 |
KEY_SPACE |
0x0044 |
KEY_MINUS |
0x0045 |
KEY_EQUAL |
0x0046 |
KEY_LEFT_BRACE |
0x0047 |
KEY_RIGHT_BRACE |
0x0048 |
KEY_BACKSLASH |
0x0049 |
KEY_NON_US_NUM |
0x0050 |
KEY_SEMICOLON |
0x0051 |
KEY_QUOTE |
0x0052 |
KEY_TILDE |
0x0053 |
KEY_COMMA |
0x0054 |
KEY_PERIOD |
0x0055 |
KEY_SLASH |
0x0056 |
KEY_CAPS_LOCK |
0x0039 |
KEY_F1 |
0x003A |
KEY_F2 |
0x003B |
KEY_F3 |
0x003C |
KEY_F4 |
0x003D |
KEY_F5 |
0x003E |
KEY_F6 |
0x003F |
KEY_F7 |
0x0040 |
KEY_F8 |
0x0041 |
KEY_F9 |
0x0042 |
KEY_F10 |
0x0043 |
KEY_F11 |
0x0044 |
KEY_F12 |
0x0045 |
KEY_PRINTSCREEN |
0x0046 |
KEY_SCROLL_LOCK |
0x0047 |
KEY_PAUSE |
0x0048 |
KEY_INSERT |
0x0049 |
KEY_HOME |
0x004A |
KEY_PAGE_UP |
0x004B |
KEY_DELETE |
0x004C |
KEY_END |
0x004D |
KEY_PAGE_DOWN |
0x004E |
KEY_RIGHT_ARROW |
0x004F |
KEY_LEFT_ARROW |
0x0050 |
KEY_DOWN_ARROW |
0x0051 |
KEY_UP_ARROW |
0x0052 |
KEY_NUM_LOCK |
0x0053 |
KEY_NON_US |
0x0064 |
KEY_MENU |
0x0065 |
Complete list is available on GitHub: KeyLayouts.
Data structures
Version structure
Byte(-s) |
Field |
Example |
|---|---|---|
0 |
Major |
0x02 |
1 |
Minor |
0x01 |
2 |
Revision |
0x00 |
Preset structure
Byte(-s) |
Field |
Example (HEX) |
Explanation |
|
|---|---|---|---|---|
0 |
id |
00 |
Preset ID (should be the same as preset number) |
|
1-16 |
name |
4d 49 44 49 00 00 00 00 00 00 00 00 00 00 00 00 |
Preset name (16 chars, 0-padded to the right) |
|
17 |
mode |
20 |
Preset mode (see Keypad modes) |
|
18:19 |
Key |
00 2f |
Key 0 |
Function (see Key functions) |
20:22 |
Cb |
00 00 FF |
Base color R G B |
|
23:25 |
Ca |
00 00 FF |
Accent color R G B |
|
26 |
CbI |
33 |
Base color intensity |
|
27 |
CaI |
AD |
Accent color intensity |
|
28:29 |
Key |
00 30 |
Key 1 |
Function (see Key functions) |
30:32 |
Cb |
00 00 FF |
Base color R G B |
|
33:35 |
Ca |
00 00 FF |
Accent color R G B |
|
36 |
CbI |
33 |
Base color intensity |
|
37 |
CaI |
AD |
Accent color intensity |
|
38:39 |
Key |
00 32 |
Key 2 |
Function (see Key functions) |
40:42 |
Cb |
FF FF 00 |
Base color R G B |
|
43:45 |
Ca |
FF FF 00 |
Accent color R G B |
|
46 |
CbI |
33 |
Base color intensity |
|
47 |
CaI |
AD |
Accent color intensity |
|
48:49 |
Key |
00 34 |
Key 3 |
Function (see Key functions) |
50:52 |
Cb |
FF 00 00 |
Base color R G B |
|
53:55 |
Ca |
FF 00 00 |
Accent color R G B |
|
56 |
CbI |
33 |
Base color intensity |
|
57 |
CaI |
AD |
Accent color intensity |
|
58:59 |
Key |
00 35 |
Key 4 |
Function (see Key functions) |
60:62 |
Cb |
00 FF 00 |
Base color R G B |
|
63:65 |
Ca |
00 FF 00 |
Accent color R G B |
|
66 |
CbI |
33 |
Base color intensity |
|
67 |
CaI |
AD |
Accent color intensity |
|
68:70 |
Cp |
FF FF 00 |
Preset color R G B |
|
71 |
CaI |
AD |
Preset color intensity |
|