Skip to content

HID Keys

JSON Schema

https://schemas.acrobits.net/core/data/hid/keypress.json

About

These values are used by keyPress triggers to match keyboard, media, and gamepad input. Key names are case-insensitive in the app, but examples and configuration should use the canonical names below.

Keyboard events can also be matched by a numeric platform key code using the code field instead of key. Use named keys where possible; numeric codes are intended for device-specific input that is not covered by this list.

Examples

Match Enter pressed with either Control key:

{
    "@": "keyboard",
    "key": "ENTER",
    "modifiers": [
        "CTRL"
    ]
}

Match a headset hook button:

{
    "@": "media",
    "key": "HEADSETHOOK"
}

Match a gamepad button:

{
    "@": "gamepad",
    "key": "BUTTON_A"
}

Android

On Android, HID input is based on android.view.KeyEvent. Most key names below map directly to Android KEYCODE_* constants, with the KEYCODE_ prefix removed.

For example, Android KEYCODE_ENTER is configured as ENTER, KEYCODE_HEADSETHOOK as HEADSETHOOK, and KEYCODE_BUTTON_A as BUTTON_A.

Keyboard Keys

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, STAR, POUND, UP, DOWN, LEFT, RIGHT, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, COMMA, PERIOD, TAB, SPACE, ENTER, DEL, GRAVE, MINUS, EQUALS, LEFT_BRACKET, RIGHT_BRACKET, BACKSLASH, SEMICOLON, APOSTROPHE, SLASH, AT, PLUS, PAGE_UP, PAGE_DOWN, ESCAPE, BACKSPACE, INSERT, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, NUMPAD_0, NUMPAD_1, NUMPAD_2, NUMPAD_3, NUMPAD_4, NUMPAD_5, NUMPAD_6, NUMPAD_7, NUMPAD_8, NUMPAD_9, NUMPAD_DIVIDE, NUMPAD_MULTIPLY, NUMPAD_SUBTRACT, NUMPAD_ADD, NUMPAD_DOT, NUMPAD_COMMA, NUMPAD_ENTER, NUMPAD_EQUALS, NUMPAD_LEFT_PAREN, NUMPAD_RIGHT_PAREN

Keyboard Modifiers

Generic modifier names match either physical side of that modifier. For example, CTRL matches either L_CTRL, or R_CTRL, while L_CTRL matches only the left Control key. The same rule applies to ALT/L_ALT/R_ALT and SHIFT/L_SHIFT/R_SHIFT.

  • ALT
  • L_ALT
  • R_ALT
  • CTRL
  • L_CTRL
  • R_CTRL
  • SHIFT
  • L_SHIFT
  • R_SHIFT

Media Keys

HOME, BACK, CALL, ENDCALL, VOLUME_UP, VOLUME_DOWN, VOLUME_MUTE, POWER, CAMERA, CLEAR, EXPLORER, ENVELOPE, HEADSETHOOK, SEARCH, MEDIA_PLAY_PAUSE, MEDIA_PLAY, MEDIA_PAUSE, MEDIA_CLOSE, MEDIA_EJECT, MEDIA_RECORD, MEDIA_STOP, MEDIA_NEXT, MEDIA_PREVIOUS, MEDIA_REWIND, MEDIA_FAST_FORWARD, MUTE, INFO, CHANNEL_UP, CHANNEL_DOWN, ZOOM_IN, ZOOM_OUT, SETTINGS, TV_POWER, TV_INPUT, STB_POWER, STB_INPUT, AVR_POWER, AVR_INPUT, PROG_RED, PROG_GREEN, PROG_YELLOW, PROG_BLUE, APP_SWITCH, BUTTON_1, BUTTON_2, BUTTON_3, BUTTON_4, BUTTON_5, BUTTON_6, BUTTON_7, BUTTON_8, BUTTON_9, BUTTON_10, BUTTON_11, BUTTON_12, BUTTON_13, BUTTON_14, BUTTON_15, BUTTON_16, LANGUAGE_SWITCH, MANNER_MODE, 3D_MODE, CONTACTS, CALENDAR, MUSIC, CALCULATOR, ASSIST, BRIGHTNESS_DOWN, BRIGHTNESS_UP, MEDIA_AUDIO_TRACK, SLEEP, WAKEUP, PAIRING, LAST_CHANNEL, TV_DATA_SERVICE, VOICE_ASSIST, TV_RADIO_SERVICE, TV_TELETEXT, TV_NUMBER_ENTRY, TV_TERRESTRIAL_ANALOG, TV_TERRESTRIAL_DIGITAL, TV_SATELLITE, TV_SATELLITE_BS, TV_SATELLITE_CS, TV_SATELLITE_SERVICE, TV_NETWORK, TV_ANTENNA_CABLE, TV_INPUT_HDMI_1, TV_INPUT_HDMI_2, TV_INPUT_HDMI_3, TV_INPUT_HDMI_4, TV_INPUT_COMPOSITE_1, TV_INPUT_COMPOSITE_2, TV_INPUT_COMPONENT_1, TV_INPUT_COMPONENT_2, TV_INPUT_VGA_1, TV_AUDIO_DESCRIPTION, TV_AUDIO_DESCRIPTION_MIX_UP, TV_AUDIO_DESCRIPTION_MIX_DOWN, TV_ZOOM_MODE, TV_CONTENTS_MENU, TV_MEDIA_CONTEXT_MENU, TV_TIMER_PROGRAMMING, HELP, NAVIGATE_PREVIOUS, NAVIGATE_NEXT, NAVIGATE_IN, NAVIGATE_OUT, STEM_PRIMARY, STEM_1, STEM_2, STEM_3, MEDIA_SKIP_FORWARD, MEDIA_SKIP_BACKWARD, MEDIA_STEP_FORWARD, MEDIA_STEP_BACKWARD, SOFT_SLEEP, CUT, COPY, PASTE, SYSTEM_NAVIGATION_UP, SYSTEM_NAVIGATION_DOWN, SYSTEM_NAVIGATION_LEFT, SYSTEM_NAVIGATION_RIGHT, REFRESH, THUMBS_UP, THUMBS_DOWN, PROFILE_SWITCH, VIDEO_APP_1, VIDEO_APP_2, VIDEO_APP_3, VIDEO_APP_4, VIDEO_APP_5, VIDEO_APP_6, VIDEO_APP_7, VIDEO_APP_8, KEYBOARD_BACKLIGHT_DOWN, KEYBOARD_BACKLIGHT_UP, KEYBOARD_BACKLIGHT_TOGGLE, EMOJI_PICKER, DICTATE, NEW, CLOSE, DO_NOT_DISTURB, PRINT, LOCK, FULLSCREEN

Gamepad Keys

DPAD_UP, DPAD_DOWN, DPAD_LEFT, DPAD_RIGHT, DPAD_CENTER, DPAD_UP_LEFT, DPAD_DOWN_LEFT, DPAD_UP_RIGHT, DPAD_DOWN_RIGHT, BUTTON_A, BUTTON_B, BUTTON_C, BUTTON_X, BUTTON_Y, BUTTON_Z, BUTTON_L1, BUTTON_R1, BUTTON_L2, BUTTON_R2, BUTTON_THUMBL, BUTTON_THUMBR, BUTTON_START, BUTTON_SELECT, BUTTON_MODE