linux/include/uapi/linux/input-event-codes.h

/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
/*
 * Input event codes
 *
 *    *** IMPORTANT ***
 * This file is not only included from C-code but also from devicetree source
 * files. As such this file MUST only contain comments and defines.
 *
 * Copyright (c) 1999-2002 Vojtech Pavlik
 * Copyright (c) 2015 Hans de Goede <[email protected]>
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published by
 * the Free Software Foundation.
 */
#ifndef _UAPI_INPUT_EVENT_CODES_H
#define _UAPI_INPUT_EVENT_CODES_H

/*
 * Device properties and quirks
 */

#define INPUT_PROP_POINTER
#define INPUT_PROP_DIRECT
#define INPUT_PROP_BUTTONPAD
#define INPUT_PROP_SEMI_MT
#define INPUT_PROP_TOPBUTTONPAD
#define INPUT_PROP_POINTING_STICK
#define INPUT_PROP_ACCELEROMETER

#define INPUT_PROP_MAX
#define INPUT_PROP_CNT

/*
 * Event types
 */

#define EV_SYN
#define EV_KEY
#define EV_REL
#define EV_ABS
#define EV_MSC
#define EV_SW
#define EV_LED
#define EV_SND
#define EV_REP
#define EV_FF
#define EV_PWR
#define EV_FF_STATUS
#define EV_MAX
#define EV_CNT

/*
 * Synchronization events.
 */

#define SYN_REPORT
#define SYN_CONFIG
#define SYN_MT_REPORT
#define SYN_DROPPED
#define SYN_MAX
#define SYN_CNT

/*
 * Keys and buttons
 *
 * Most of the keys/buttons are modeled after USB HUT 1.12
 * (see http://www.usb.org/developers/hidpage).
 * Abbreviations in the comments:
 * AC - Application Control
 * AL - Application Launch Button
 * SC - System Control
 */

#define KEY_RESERVED
#define KEY_ESC
#define KEY_1
#define KEY_2
#define KEY_3
#define KEY_4
#define KEY_5
#define KEY_6
#define KEY_7
#define KEY_8
#define KEY_9
#define KEY_0
#define KEY_MINUS
#define KEY_EQUAL
#define KEY_BACKSPACE
#define KEY_TAB
#define KEY_Q
#define KEY_W
#define KEY_E
#define KEY_R
#define KEY_T
#define KEY_Y
#define KEY_U
#define KEY_I
#define KEY_O
#define KEY_P
#define KEY_LEFTBRACE
#define KEY_RIGHTBRACE
#define KEY_ENTER
#define KEY_LEFTCTRL
#define KEY_A
#define KEY_S
#define KEY_D
#define KEY_F
#define KEY_G
#define KEY_H
#define KEY_J
#define KEY_K
#define KEY_L
#define KEY_SEMICOLON
#define KEY_APOSTROPHE
#define KEY_GRAVE
#define KEY_LEFTSHIFT
#define KEY_BACKSLASH
#define KEY_Z
#define KEY_X
#define KEY_C
#define KEY_V
#define KEY_B
#define KEY_N
#define KEY_M
#define KEY_COMMA
#define KEY_DOT
#define KEY_SLASH
#define KEY_RIGHTSHIFT
#define KEY_KPASTERISK
#define KEY_LEFTALT
#define KEY_SPACE
#define KEY_CAPSLOCK
#define KEY_F1
#define KEY_F2
#define KEY_F3
#define KEY_F4
#define KEY_F5
#define KEY_F6
#define KEY_F7
#define KEY_F8
#define KEY_F9
#define KEY_F10
#define KEY_NUMLOCK
#define KEY_SCROLLLOCK
#define KEY_KP7
#define KEY_KP8
#define KEY_KP9
#define KEY_KPMINUS
#define KEY_KP4
#define KEY_KP5
#define KEY_KP6
#define KEY_KPPLUS
#define KEY_KP1
#define KEY_KP2
#define KEY_KP3
#define KEY_KP0
#define KEY_KPDOT

#define KEY_ZENKAKUHANKAKU
#define KEY_102ND
#define KEY_F11
#define KEY_F12
#define KEY_RO
#define KEY_KATAKANA
#define KEY_HIRAGANA
#define KEY_HENKAN
#define KEY_KATAKANAHIRAGANA
#define KEY_MUHENKAN
#define KEY_KPJPCOMMA
#define KEY_KPENTER
#define KEY_RIGHTCTRL
#define KEY_KPSLASH
#define KEY_SYSRQ
#define KEY_RIGHTALT
#define KEY_LINEFEED
#define KEY_HOME
#define KEY_UP
#define KEY_PAGEUP
#define KEY_LEFT
#define KEY_RIGHT
#define KEY_END
#define KEY_DOWN
#define KEY_PAGEDOWN
#define KEY_INSERT
#define KEY_DELETE
#define KEY_MACRO
#define KEY_MUTE
#define KEY_VOLUMEDOWN
#define KEY_VOLUMEUP
#define KEY_POWER
#define KEY_KPEQUAL
#define KEY_KPPLUSMINUS
#define KEY_PAUSE
#define KEY_SCALE

#define KEY_KPCOMMA
#define KEY_HANGEUL
#define KEY_HANGUEL
#define KEY_HANJA
#define KEY_YEN
#define KEY_LEFTMETA
#define KEY_RIGHTMETA
#define KEY_COMPOSE

#define KEY_STOP
#define KEY_AGAIN
#define KEY_PROPS
#define KEY_UNDO
#define KEY_FRONT
#define KEY_COPY
#define KEY_OPEN
#define KEY_PASTE
#define KEY_FIND
#define KEY_CUT
#define KEY_HELP
#define KEY_MENU
#define KEY_CALC
#define KEY_SETUP
#define KEY_SLEEP
#define KEY_WAKEUP
#define KEY_FILE
#define KEY_SENDFILE
#define KEY_DELETEFILE
#define KEY_XFER
#define KEY_PROG1
#define KEY_PROG2
#define KEY_WWW
#define KEY_MSDOS
#define KEY_COFFEE
#define KEY_SCREENLOCK
#define KEY_ROTATE_DISPLAY
#define KEY_DIRECTION
#define KEY_CYCLEWINDOWS
#define KEY_MAIL
#define KEY_BOOKMARKS
#define KEY_COMPUTER
#define KEY_BACK
#define KEY_FORWARD
#define KEY_CLOSECD
#define KEY_EJECTCD
#define KEY_EJECTCLOSECD
#define KEY_NEXTSONG
#define KEY_PLAYPAUSE
#define KEY_PREVIOUSSONG
#define KEY_STOPCD
#define KEY_RECORD
#define KEY_REWIND
#define KEY_PHONE
#define KEY_ISO
#define KEY_CONFIG
#define KEY_HOMEPAGE
#define KEY_REFRESH
#define KEY_EXIT
#define KEY_MOVE
#define KEY_EDIT
#define KEY_SCROLLUP
#define KEY_SCROLLDOWN
#define KEY_KPLEFTPAREN
#define KEY_KPRIGHTPAREN
#define KEY_NEW
#define KEY_REDO

#define KEY_F13
#define KEY_F14
#define KEY_F15
#define KEY_F16
#define KEY_F17
#define KEY_F18
#define KEY_F19
#define KEY_F20
#define KEY_F21
#define KEY_F22
#define KEY_F23
#define KEY_F24

#define KEY_PLAYCD
#define KEY_PAUSECD
#define KEY_PROG3
#define KEY_PROG4
#define KEY_ALL_APPLICATIONS
#define KEY_DASHBOARD
#define KEY_SUSPEND
#define KEY_CLOSE
#define KEY_PLAY
#define KEY_FASTFORWARD
#define KEY_BASSBOOST
#define KEY_PRINT
#define KEY_HP
#define KEY_CAMERA
#define KEY_SOUND
#define KEY_QUESTION
#define KEY_EMAIL
#define KEY_CHAT
#define KEY_SEARCH
#define KEY_CONNECT
#define KEY_FINANCE
#define KEY_SPORT
#define KEY_SHOP
#define KEY_ALTERASE
#define KEY_CANCEL
#define KEY_BRIGHTNESSDOWN
#define KEY_BRIGHTNESSUP
#define KEY_MEDIA

#define KEY_SWITCHVIDEOMODE
#define KEY_KBDILLUMTOGGLE
#define KEY_KBDILLUMDOWN
#define KEY_KBDILLUMUP

#define KEY_SEND
#define KEY_REPLY
#define KEY_FORWARDMAIL
#define KEY_SAVE
#define KEY_DOCUMENTS

#define KEY_BATTERY

#define KEY_BLUETOOTH
#define KEY_WLAN
#define KEY_UWB

#define KEY_UNKNOWN

#define KEY_VIDEO_NEXT
#define KEY_VIDEO_PREV
#define KEY_BRIGHTNESS_CYCLE
#define KEY_BRIGHTNESS_AUTO
#define KEY_BRIGHTNESS_ZERO
#define KEY_DISPLAY_OFF

#define KEY_WWAN
#define KEY_WIMAX
#define KEY_RFKILL

#define KEY_MICMUTE

/* Code 255 is reserved for special needs of AT keyboard driver */

#define BTN_MISC
#define BTN_0
#define BTN_1
#define BTN_2
#define BTN_3
#define BTN_4
#define BTN_5
#define BTN_6
#define BTN_7
#define BTN_8
#define BTN_9

#define BTN_MOUSE
#define BTN_LEFT
#define BTN_RIGHT
#define BTN_MIDDLE
#define BTN_SIDE
#define BTN_EXTRA
#define BTN_FORWARD
#define BTN_BACK
#define BTN_TASK

#define BTN_JOYSTICK
#define BTN_TRIGGER
#define BTN_THUMB
#define BTN_THUMB2
#define BTN_TOP
#define BTN_TOP2
#define BTN_PINKIE
#define BTN_BASE
#define BTN_BASE2
#define BTN_BASE3
#define BTN_BASE4
#define BTN_BASE5
#define BTN_BASE6
#define BTN_DEAD

#define BTN_GAMEPAD
#define BTN_SOUTH
#define BTN_A
#define BTN_EAST
#define BTN_B
#define BTN_C
#define BTN_NORTH
#define BTN_X
#define BTN_WEST
#define BTN_Y
#define BTN_Z
#define BTN_TL
#define BTN_TR
#define BTN_TL2
#define BTN_TR2
#define BTN_SELECT
#define BTN_START
#define BTN_MODE
#define BTN_THUMBL
#define BTN_THUMBR

#define BTN_DIGI
#define BTN_TOOL_PEN
#define BTN_TOOL_RUBBER
#define BTN_TOOL_BRUSH
#define BTN_TOOL_PENCIL
#define BTN_TOOL_AIRBRUSH
#define BTN_TOOL_FINGER
#define BTN_TOOL_MOUSE
#define BTN_TOOL_LENS
#define BTN_TOOL_QUINTTAP
#define BTN_STYLUS3
#define BTN_TOUCH
#define BTN_STYLUS
#define BTN_STYLUS2
#define BTN_TOOL_DOUBLETAP
#define BTN_TOOL_TRIPLETAP
#define BTN_TOOL_QUADTAP

#define BTN_WHEEL
#define BTN_GEAR_DOWN
#define BTN_GEAR_UP

#define KEY_OK
#define KEY_SELECT
#define KEY_GOTO
#define KEY_CLEAR
#define KEY_POWER2
#define KEY_OPTION
#define KEY_INFO
#define KEY_TIME
#define KEY_VENDOR
#define KEY_ARCHIVE
#define KEY_PROGRAM
#define KEY_CHANNEL
#define KEY_FAVORITES
#define KEY_EPG
#define KEY_PVR
#define KEY_MHP
#define KEY_LANGUAGE
#define KEY_TITLE
#define KEY_SUBTITLE
#define KEY_ANGLE
#define KEY_FULL_SCREEN
#define KEY_ZOOM
#define KEY_MODE
#define KEY_KEYBOARD
#define KEY_ASPECT_RATIO
#define KEY_SCREEN
#define KEY_PC
#define KEY_TV
#define KEY_TV2
#define KEY_VCR
#define KEY_VCR2
#define KEY_SAT
#define KEY_SAT2
#define KEY_CD
#define KEY_TAPE
#define KEY_RADIO
#define KEY_TUNER
#define KEY_PLAYER
#define KEY_TEXT
#define KEY_DVD
#define KEY_AUX
#define KEY_MP3
#define KEY_AUDIO
#define KEY_VIDEO
#define KEY_DIRECTORY
#define KEY_LIST
#define KEY_MEMO
#define KEY_CALENDAR
#define KEY_RED
#define KEY_GREEN
#define KEY_YELLOW
#define KEY_BLUE
#define KEY_CHANNELUP
#define KEY_CHANNELDOWN
#define KEY_FIRST
#define KEY_LAST
#define KEY_AB
#define KEY_NEXT
#define KEY_RESTART
#define KEY_SLOW
#define KEY_SHUFFLE
#define KEY_BREAK
#define KEY_PREVIOUS
#define KEY_DIGITS
#define KEY_TEEN
#define KEY_TWEN
#define KEY_VIDEOPHONE
#define KEY_GAMES
#define KEY_ZOOMIN
#define KEY_ZOOMOUT
#define KEY_ZOOMRESET
#define KEY_WORDPROCESSOR
#define KEY_EDITOR
#define KEY_SPREADSHEET
#define KEY_GRAPHICSEDITOR
#define KEY_PRESENTATION
#define KEY_DATABASE
#define KEY_NEWS
#define KEY_VOICEMAIL
#define KEY_ADDRESSBOOK
#define KEY_MESSENGER
#define KEY_DISPLAYTOGGLE
#define KEY_BRIGHTNESS_TOGGLE
#define KEY_SPELLCHECK
#define KEY_LOGOFF

#define KEY_DOLLAR
#define KEY_EURO

#define KEY_FRAMEBACK
#define KEY_FRAMEFORWARD
#define KEY_CONTEXT_MENU
#define KEY_MEDIA_REPEAT
#define KEY_10CHANNELSUP
#define KEY_10CHANNELSDOWN
#define KEY_IMAGES
#define KEY_NOTIFICATION_CENTER
#define KEY_PICKUP_PHONE
#define KEY_HANGUP_PHONE

#define KEY_DEL_EOL
#define KEY_DEL_EOS
#define KEY_INS_LINE
#define KEY_DEL_LINE

#define KEY_FN
#define KEY_FN_ESC
#define KEY_FN_F1
#define KEY_FN_F2
#define KEY_FN_F3
#define KEY_FN_F4
#define KEY_FN_F5
#define KEY_FN_F6
#define KEY_FN_F7
#define KEY_FN_F8
#define KEY_FN_F9
#define KEY_FN_F10
#define KEY_FN_F11
#define KEY_FN_F12
#define KEY_FN_1
#define KEY_FN_2
#define KEY_FN_D
#define KEY_FN_E
#define KEY_FN_F
#define KEY_FN_S
#define KEY_FN_B
#define KEY_FN_RIGHT_SHIFT

#define KEY_BRL_DOT1
#define KEY_BRL_DOT2
#define KEY_BRL_DOT3
#define KEY_BRL_DOT4
#define KEY_BRL_DOT5
#define KEY_BRL_DOT6
#define KEY_BRL_DOT7
#define KEY_BRL_DOT8
#define KEY_BRL_DOT9
#define KEY_BRL_DOT10

#define KEY_NUMERIC_0
#define KEY_NUMERIC_1
#define KEY_NUMERIC_2
#define KEY_NUMERIC_3
#define KEY_NUMERIC_4
#define KEY_NUMERIC_5
#define KEY_NUMERIC_6
#define KEY_NUMERIC_7
#define KEY_NUMERIC_8
#define KEY_NUMERIC_9
#define KEY_NUMERIC_STAR
#define KEY_NUMERIC_POUND
#define KEY_NUMERIC_A
#define KEY_NUMERIC_B
#define KEY_NUMERIC_C
#define KEY_NUMERIC_D

#define KEY_CAMERA_FOCUS
#define KEY_WPS_BUTTON

#define KEY_TOUCHPAD_TOGGLE
#define KEY_TOUCHPAD_ON
#define KEY_TOUCHPAD_OFF

#define KEY_CAMERA_ZOOMIN
#define KEY_CAMERA_ZOOMOUT
#define KEY_CAMERA_UP
#define KEY_CAMERA_DOWN
#define KEY_CAMERA_LEFT
#define KEY_CAMERA_RIGHT

#define KEY_ATTENDANT_ON
#define KEY_ATTENDANT_OFF
#define KEY_ATTENDANT_TOGGLE
#define KEY_LIGHTS_TOGGLE

#define BTN_DPAD_UP
#define BTN_DPAD_DOWN
#define BTN_DPAD_LEFT
#define BTN_DPAD_RIGHT

#define KEY_ALS_TOGGLE
#define KEY_ROTATE_LOCK_TOGGLE
#define KEY_REFRESH_RATE_TOGGLE

#define KEY_BUTTONCONFIG
#define KEY_TASKMANAGER
#define KEY_JOURNAL
#define KEY_CONTROLPANEL
#define KEY_APPSELECT
#define KEY_SCREENSAVER
#define KEY_VOICECOMMAND
#define KEY_ASSISTANT
#define KEY_KBD_LAYOUT_NEXT
#define KEY_EMOJI_PICKER
#define KEY_DICTATE
#define KEY_CAMERA_ACCESS_ENABLE
#define KEY_CAMERA_ACCESS_DISABLE
#define KEY_CAMERA_ACCESS_TOGGLE
#define KEY_ACCESSIBILITY
#define KEY_DO_NOT_DISTURB

#define KEY_BRIGHTNESS_MIN
#define KEY_BRIGHTNESS_MAX

#define KEY_KBDINPUTASSIST_PREV
#define KEY_KBDINPUTASSIST_NEXT
#define KEY_KBDINPUTASSIST_PREVGROUP
#define KEY_KBDINPUTASSIST_NEXTGROUP
#define KEY_KBDINPUTASSIST_ACCEPT
#define KEY_KBDINPUTASSIST_CANCEL

/* Diagonal movement keys */
#define KEY_RIGHT_UP
#define KEY_RIGHT_DOWN
#define KEY_LEFT_UP
#define KEY_LEFT_DOWN

#define KEY_ROOT_MENU
/* Show Top Menu of the Media (e.g. DVD) */
#define KEY_MEDIA_TOP_MENU
#define KEY_NUMERIC_11
#define KEY_NUMERIC_12
/*
 * Toggle Audio Description: refers to an audio service that helps blind and
 * visually impaired consumers understand the action in a program. Note: in
 * some countries this is referred to as "Video Description".
 */
#define KEY_AUDIO_DESC
#define KEY_3D_MODE
#define KEY_NEXT_FAVORITE
#define KEY_STOP_RECORD
#define KEY_PAUSE_RECORD
#define KEY_VOD
#define KEY_UNMUTE
#define KEY_FASTREVERSE
#define KEY_SLOWREVERSE
/*
 * Control a data application associated with the currently viewed channel,
 * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.)
 */
#define KEY_DATA
#define KEY_ONSCREEN_KEYBOARD
/* Electronic privacy screen control */
#define KEY_PRIVACY_SCREEN_TOGGLE

/* Select an area of screen to be copied */
#define KEY_SELECTIVE_SCREENSHOT

/* Move the focus to the next or previous user controllable element within a UI container */
#define KEY_NEXT_ELEMENT
#define KEY_PREVIOUS_ELEMENT

/* Toggle Autopilot engagement */
#define KEY_AUTOPILOT_ENGAGE_TOGGLE

/* Shortcut Keys */
#define KEY_MARK_WAYPOINT
#define KEY_SOS
#define KEY_NAV_CHART
#define KEY_FISHING_CHART
#define KEY_SINGLE_RANGE_RADAR
#define KEY_DUAL_RANGE_RADAR
#define KEY_RADAR_OVERLAY
#define KEY_TRADITIONAL_SONAR
#define KEY_CLEARVU_SONAR
#define KEY_SIDEVU_SONAR
#define KEY_NAV_INFO
#define KEY_BRIGHTNESS_MENU

/*
 * Some keyboards have keys which do not have a defined meaning, these keys
 * are intended to be programmed / bound to macros by the user. For most
 * keyboards with these macro-keys the key-sequence to inject, or action to
 * take, is all handled by software on the host side. So from the kernel's
 * point of view these are just normal keys.
 *
 * The KEY_MACRO# codes below are intended for such keys, which may be labeled
 * e.g. G1-G18, or S1 - S30. The KEY_MACRO# codes MUST NOT be used for keys
 * where the marking on the key does indicate a defined meaning / purpose.
 *
 * The KEY_MACRO# codes MUST also NOT be used as fallback for when no existing
 * KEY_FOO define matches the marking / purpose. In this case a new KEY_FOO
 * define MUST be added.
 */
#define KEY_MACRO1
#define KEY_MACRO2
#define KEY_MACRO3
#define KEY_MACRO4
#define KEY_MACRO5
#define KEY_MACRO6
#define KEY_MACRO7
#define KEY_MACRO8
#define KEY_MACRO9
#define KEY_MACRO10
#define KEY_MACRO11
#define KEY_MACRO12
#define KEY_MACRO13
#define KEY_MACRO14
#define KEY_MACRO15
#define KEY_MACRO16
#define KEY_MACRO17
#define KEY_MACRO18
#define KEY_MACRO19
#define KEY_MACRO20
#define KEY_MACRO21
#define KEY_MACRO22
#define KEY_MACRO23
#define KEY_MACRO24
#define KEY_MACRO25
#define KEY_MACRO26
#define KEY_MACRO27
#define KEY_MACRO28
#define KEY_MACRO29
#define KEY_MACRO30

/*
 * Some keyboards with the macro-keys described above have some extra keys
 * for controlling the host-side software responsible for the macro handling:
 * -A macro recording start/stop key. Note that not all keyboards which emit
 *  KEY_MACRO_RECORD_START will also emit KEY_MACRO_RECORD_STOP if
 *  KEY_MACRO_RECORD_STOP is not advertised, then KEY_MACRO_RECORD_START
 *  should be interpreted as a recording start/stop toggle;
 * -Keys for switching between different macro (pre)sets, either a key for
 *  cycling through the configured presets or keys to directly select a preset.
 */
#define KEY_MACRO_RECORD_START
#define KEY_MACRO_RECORD_STOP
#define KEY_MACRO_PRESET_CYCLE
#define KEY_MACRO_PRESET1
#define KEY_MACRO_PRESET2
#define KEY_MACRO_PRESET3

/*
 * Some keyboards have a buildin LCD panel where the contents are controlled
 * by the host. Often these have a number of keys directly below the LCD
 * intended for controlling a menu shown on the LCD. These keys often don't
 * have any labeling so we just name them KEY_KBD_LCD_MENU#
 */
#define KEY_KBD_LCD_MENU1
#define KEY_KBD_LCD_MENU2
#define KEY_KBD_LCD_MENU3
#define KEY_KBD_LCD_MENU4
#define KEY_KBD_LCD_MENU5

#define BTN_TRIGGER_HAPPY
#define BTN_TRIGGER_HAPPY1
#define BTN_TRIGGER_HAPPY2
#define BTN_TRIGGER_HAPPY3
#define BTN_TRIGGER_HAPPY4
#define BTN_TRIGGER_HAPPY5
#define BTN_TRIGGER_HAPPY6
#define BTN_TRIGGER_HAPPY7
#define BTN_TRIGGER_HAPPY8
#define BTN_TRIGGER_HAPPY9
#define BTN_TRIGGER_HAPPY10
#define BTN_TRIGGER_HAPPY11
#define BTN_TRIGGER_HAPPY12
#define BTN_TRIGGER_HAPPY13
#define BTN_TRIGGER_HAPPY14
#define BTN_TRIGGER_HAPPY15
#define BTN_TRIGGER_HAPPY16
#define BTN_TRIGGER_HAPPY17
#define BTN_TRIGGER_HAPPY18
#define BTN_TRIGGER_HAPPY19
#define BTN_TRIGGER_HAPPY20
#define BTN_TRIGGER_HAPPY21
#define BTN_TRIGGER_HAPPY22
#define BTN_TRIGGER_HAPPY23
#define BTN_TRIGGER_HAPPY24
#define BTN_TRIGGER_HAPPY25
#define BTN_TRIGGER_HAPPY26
#define BTN_TRIGGER_HAPPY27
#define BTN_TRIGGER_HAPPY28
#define BTN_TRIGGER_HAPPY29
#define BTN_TRIGGER_HAPPY30
#define BTN_TRIGGER_HAPPY31
#define BTN_TRIGGER_HAPPY32
#define BTN_TRIGGER_HAPPY33
#define BTN_TRIGGER_HAPPY34
#define BTN_TRIGGER_HAPPY35
#define BTN_TRIGGER_HAPPY36
#define BTN_TRIGGER_HAPPY37
#define BTN_TRIGGER_HAPPY38
#define BTN_TRIGGER_HAPPY39
#define BTN_TRIGGER_HAPPY40

/* We avoid low common keys in module aliases so they don't get huge. */
#define KEY_MIN_INTERESTING
#define KEY_MAX
#define KEY_CNT

/*
 * Relative axes
 */

#define REL_X
#define REL_Y
#define REL_Z
#define REL_RX
#define REL_RY
#define REL_RZ
#define REL_HWHEEL
#define REL_DIAL
#define REL_WHEEL
#define REL_MISC
/*
 * 0x0a is reserved and should not be used in input drivers.
 * It was used by HID as REL_MISC+1 and userspace needs to detect if
 * the next REL_* event is correct or is just REL_MISC + n.
 * We define here REL_RESERVED so userspace can rely on it and detect
 * the situation described above.
 */
#define REL_RESERVED
#define REL_WHEEL_HI_RES
#define REL_HWHEEL_HI_RES
#define REL_MAX
#define REL_CNT

/*
 * Absolute axes
 */

#define ABS_X
#define ABS_Y
#define ABS_Z
#define ABS_RX
#define ABS_RY
#define ABS_RZ
#define ABS_THROTTLE
#define ABS_RUDDER
#define ABS_WHEEL
#define ABS_GAS
#define ABS_BRAKE
#define ABS_HAT0X
#define ABS_HAT0Y
#define ABS_HAT1X
#define ABS_HAT1Y
#define ABS_HAT2X
#define ABS_HAT2Y
#define ABS_HAT3X
#define ABS_HAT3Y
#define ABS_PRESSURE
#define ABS_DISTANCE
#define ABS_TILT_X
#define ABS_TILT_Y
#define ABS_TOOL_WIDTH

#define ABS_VOLUME
#define ABS_PROFILE

#define ABS_MISC

/*
 * 0x2e is reserved and should not be used in input drivers.
 * It was used by HID as ABS_MISC+6 and userspace needs to detect if
 * the next ABS_* event is correct or is just ABS_MISC + n.
 * We define here ABS_RESERVED so userspace can rely on it and detect
 * the situation described above.
 */
#define ABS_RESERVED

#define ABS_MT_SLOT
#define ABS_MT_TOUCH_MAJOR
#define ABS_MT_TOUCH_MINOR
#define ABS_MT_WIDTH_MAJOR
#define ABS_MT_WIDTH_MINOR
#define ABS_MT_ORIENTATION
#define ABS_MT_POSITION_X
#define ABS_MT_POSITION_Y
#define ABS_MT_TOOL_TYPE
#define ABS_MT_BLOB_ID
#define ABS_MT_TRACKING_ID
#define ABS_MT_PRESSURE
#define ABS_MT_DISTANCE
#define ABS_MT_TOOL_X
#define ABS_MT_TOOL_Y


#define ABS_MAX
#define ABS_CNT

/*
 * Switch events
 */

#define SW_LID
#define SW_TABLET_MODE
#define SW_HEADPHONE_INSERT
#define SW_RFKILL_ALL
#define SW_RADIO
#define SW_MICROPHONE_INSERT
#define SW_DOCK
#define SW_LINEOUT_INSERT
#define SW_JACK_PHYSICAL_INSERT
#define SW_VIDEOOUT_INSERT
#define SW_CAMERA_LENS_COVER
#define SW_KEYPAD_SLIDE
#define SW_FRONT_PROXIMITY
#define SW_ROTATE_LOCK
#define SW_LINEIN_INSERT
#define SW_MUTE_DEVICE
#define SW_PEN_INSERTED
#define SW_MACHINE_COVER
#define SW_MAX
#define SW_CNT

/*
 * Misc events
 */

#define MSC_SERIAL
#define MSC_PULSELED
#define MSC_GESTURE
#define MSC_RAW
#define MSC_SCAN
#define MSC_TIMESTAMP
#define MSC_MAX
#define MSC_CNT

/*
 * LEDs
 */

#define LED_NUML
#define LED_CAPSL
#define LED_SCROLLL
#define LED_COMPOSE
#define LED_KANA
#define LED_SLEEP
#define LED_SUSPEND
#define LED_MUTE
#define LED_MISC
#define LED_MAIL
#define LED_CHARGING
#define LED_MAX
#define LED_CNT

/*
 * Autorepeat values
 */

#define REP_DELAY
#define REP_PERIOD
#define REP_MAX
#define REP_CNT

/*
 * Sounds
 */

#define SND_CLICK
#define SND_BELL
#define SND_TONE
#define SND_MAX
#define SND_CNT

#endif