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