Line data Source code
1 0 : /* 2 : * Copyright 2023 Google LLC 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : * 6 : * Input event codes, for codes available in Linux, use the same values as in 7 : * https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/input-event-codes.h 8 : */ 9 : 10 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_INPUT_INPUT_EVENT_CODES_H_ 11 : #define ZEPHYR_INCLUDE_DT_BINDINGS_INPUT_INPUT_EVENT_CODES_H_ 12 : 13 : /** 14 : * @defgroup input_events Input Event Definitions 15 : * @ingroup input_interface 16 : * @{ 17 : */ 18 : 19 : 20 : /** 21 : * @name Input event types. 22 : * @anchor INPUT_EV_CODES 23 : * @{ 24 : */ 25 1 : #define INPUT_EV_KEY 0x01 /**< Key event */ 26 1 : #define INPUT_EV_REL 0x02 /**< Relative coordinate event */ 27 1 : #define INPUT_EV_ABS 0x03 /**< Absolute coordinate event */ 28 1 : #define INPUT_EV_MSC 0x04 /**< Miscellaneous event */ 29 1 : #define INPUT_EV_DEVICE 0xef /**< Device specific input event */ 30 1 : #define INPUT_EV_VENDOR_START 0xf0 /**< Vendor specific event start */ 31 1 : #define INPUT_EV_VENDOR_STOP 0xff /**< Vendor specific event stop */ 32 : /** @} */ 33 : 34 : /** 35 : * @name Input event KEY codes. 36 : * @anchor INPUT_KEY_CODES 37 : * @{ 38 : */ 39 1 : #define INPUT_KEY_RESERVED 0 /**< Reserved, do not use */ 40 : 41 1 : #define INPUT_KEY_0 11 /**< 0 Key */ 42 1 : #define INPUT_KEY_1 2 /**< 1 Key */ 43 1 : #define INPUT_KEY_2 3 /**< 2 Key */ 44 1 : #define INPUT_KEY_3 4 /**< 3 Key */ 45 1 : #define INPUT_KEY_4 5 /**< 4 Key */ 46 1 : #define INPUT_KEY_5 6 /**< 5 Key */ 47 1 : #define INPUT_KEY_6 7 /**< 6 Key */ 48 1 : #define INPUT_KEY_7 8 /**< 7 Key */ 49 1 : #define INPUT_KEY_8 9 /**< 8 Key */ 50 1 : #define INPUT_KEY_9 10 /**< 9 Key */ 51 1 : #define INPUT_KEY_A 30 /**< A Key */ 52 1 : #define INPUT_KEY_APOSTROPHE 40 /**< Apostrophe Key */ 53 1 : #define INPUT_KEY_B 48 /**< B Key */ 54 1 : #define INPUT_KEY_BACK 158 /**< Back Key */ 55 1 : #define INPUT_KEY_BACKSLASH 43 /**< Backslash Key */ 56 1 : #define INPUT_KEY_BACKSPACE 14 /**< Backspace Key */ 57 1 : #define INPUT_KEY_BLUETOOTH 237 /**< Bluetooth Key */ 58 1 : #define INPUT_KEY_BRIGHTNESSDOWN 224 /**< Brightness Up Key */ 59 1 : #define INPUT_KEY_BRIGHTNESSUP 225 /**< Brightneess Down Key */ 60 1 : #define INPUT_KEY_C 46 /**< C Key */ 61 1 : #define INPUT_KEY_CAPSLOCK 58 /**< Caps Lock Key */ 62 1 : #define INPUT_KEY_COFFEE 152 /**< Screen Saver Key */ 63 1 : #define INPUT_KEY_COMMA 51 /**< Comma Key */ 64 1 : #define INPUT_KEY_COMPOSE 127 /**< Compose Key */ 65 1 : #define INPUT_KEY_CONNECT 218 /**< Connect Key */ 66 1 : #define INPUT_KEY_D 32 /**< D Key */ 67 1 : #define INPUT_KEY_DELETE 111 /**< Delete Key */ 68 1 : #define INPUT_KEY_DOT 52 /**< Dot Key */ 69 1 : #define INPUT_KEY_DOWN 108 /**< Down Key */ 70 1 : #define INPUT_KEY_E 18 /**< E Key */ 71 1 : #define INPUT_KEY_END 107 /**< End Key */ 72 1 : #define INPUT_KEY_ENTER 28 /**< Enter Key */ 73 1 : #define INPUT_KEY_EQUAL 13 /**< Equal Key */ 74 1 : #define INPUT_KEY_ESC 1 /**< Escape Key */ 75 1 : #define INPUT_KEY_F 33 /**< F Key */ 76 1 : #define INPUT_KEY_F1 59 /**< F1 Key */ 77 1 : #define INPUT_KEY_F10 68 /**< F10 Key */ 78 1 : #define INPUT_KEY_F11 87 /**< F11 Key */ 79 1 : #define INPUT_KEY_F12 88 /**< F12 Key */ 80 1 : #define INPUT_KEY_F13 183 /**< F13 Key */ 81 1 : #define INPUT_KEY_F14 184 /**< F14 Key */ 82 1 : #define INPUT_KEY_F15 185 /**< F15 Key */ 83 1 : #define INPUT_KEY_F16 186 /**< F16 Key */ 84 1 : #define INPUT_KEY_F17 187 /**< F17 Key */ 85 1 : #define INPUT_KEY_F18 188 /**< F18 Key */ 86 1 : #define INPUT_KEY_F19 189 /**< F19 Key */ 87 1 : #define INPUT_KEY_F2 60 /**< F2 Key */ 88 1 : #define INPUT_KEY_F20 190 /**< F20 Key */ 89 1 : #define INPUT_KEY_F21 191 /**< F21 Key */ 90 1 : #define INPUT_KEY_F22 192 /**< F22 Key */ 91 1 : #define INPUT_KEY_F23 193 /**< F23 Key */ 92 1 : #define INPUT_KEY_F24 194 /**< F24 Key */ 93 1 : #define INPUT_KEY_F3 61 /**< F3 Key */ 94 1 : #define INPUT_KEY_F4 62 /**< F4 Key */ 95 1 : #define INPUT_KEY_F5 63 /**< F5 Key */ 96 1 : #define INPUT_KEY_F6 64 /**< F6 Key */ 97 1 : #define INPUT_KEY_F7 65 /**< F7 Key */ 98 1 : #define INPUT_KEY_F8 66 /**< F8 Key */ 99 1 : #define INPUT_KEY_F9 67 /**< F9 Key */ 100 1 : #define INPUT_KEY_FASTFORWARD 208 /**< Fast Forward Key */ 101 1 : #define INPUT_KEY_FORWARD 159 /**< Forward Key */ 102 1 : #define INPUT_KEY_G 34 /**< G Key */ 103 1 : #define INPUT_KEY_GRAVE 41 /**< Grave (backtick) Key */ 104 1 : #define INPUT_KEY_H 35 /**< H Key */ 105 1 : #define INPUT_KEY_HOME 102 /**< Home Key */ 106 1 : #define INPUT_KEY_I 23 /**< I Key */ 107 1 : #define INPUT_KEY_INSERT 110 /**< Insert Key */ 108 1 : #define INPUT_KEY_J 36 /**< J Key */ 109 1 : #define INPUT_KEY_K 37 /**< K Key */ 110 1 : #define INPUT_KEY_KP0 82 /**< Keypad 0 Key */ 111 1 : #define INPUT_KEY_KP1 79 /**< Keypad 1 Key */ 112 1 : #define INPUT_KEY_KP2 80 /**< Keypad 2 Key */ 113 1 : #define INPUT_KEY_KP3 81 /**< Keypad 3 Key */ 114 1 : #define INPUT_KEY_KP4 75 /**< Keypad 4 Key */ 115 1 : #define INPUT_KEY_KP5 76 /**< Keypad 5 Key */ 116 1 : #define INPUT_KEY_KP6 77 /**< Keypad 6 Key */ 117 1 : #define INPUT_KEY_KP7 71 /**< Keypad 7 Key */ 118 1 : #define INPUT_KEY_KP8 72 /**< Keypad 8 Key */ 119 1 : #define INPUT_KEY_KP9 73 /**< Keypad 9 Key */ 120 1 : #define INPUT_KEY_KPASTERISK 55 /**< Keypad Asterisk Key */ 121 1 : #define INPUT_KEY_KPCOMMA 121 /**< Keypad Comma Key */ 122 1 : #define INPUT_KEY_KPDOT 83 /**< Keypad Dot Key */ 123 1 : #define INPUT_KEY_KPENTER 96 /**< Keypad Enter Key */ 124 1 : #define INPUT_KEY_KPEQUAL 117 /**< Keypad Equal Key */ 125 1 : #define INPUT_KEY_KPMINUS 74 /**< Keypad Minus Key */ 126 1 : #define INPUT_KEY_KPPLUS 78 /**< Keypad Plus Key */ 127 1 : #define INPUT_KEY_KPPLUSMINUS 118 /**< Keypad Plus Key */ 128 1 : #define INPUT_KEY_KPSLASH 98 /**< Keypad Slash Key */ 129 1 : #define INPUT_KEY_L 38 /**< L Key */ 130 1 : #define INPUT_KEY_LEFT 105 /**< Left Key */ 131 1 : #define INPUT_KEY_LEFTALT 56 /**< Left Alt Key */ 132 1 : #define INPUT_KEY_LEFTBRACE 26 /**< Left Brace Key */ 133 1 : #define INPUT_KEY_LEFTCTRL 29 /**< Left Ctrl Key */ 134 1 : #define INPUT_KEY_LEFTMETA 125 /**< Left Meta Key */ 135 1 : #define INPUT_KEY_LEFTSHIFT 42 /**< Left Shift Key */ 136 1 : #define INPUT_KEY_M 50 /**< M Key */ 137 1 : #define INPUT_KEY_MENU 139 /**< Menu Key */ 138 1 : #define INPUT_KEY_MINUS 12 /**< Minus Key */ 139 1 : #define INPUT_KEY_MUTE 113 /**< Mute Key */ 140 1 : #define INPUT_KEY_N 49 /**< N Key */ 141 1 : #define INPUT_KEY_NUMLOCK 69 /**< Num Lock Key */ 142 1 : #define INPUT_KEY_O 24 /**< O Key */ 143 1 : #define INPUT_KEY_P 25 /**< P Key */ 144 1 : #define INPUT_KEY_PAGEDOWN 109 /**< Page Down Key */ 145 1 : #define INPUT_KEY_PAGEUP 104 /**< Page UpKey */ 146 1 : #define INPUT_KEY_PAUSE 119 /**< Pause Key */ 147 1 : #define INPUT_KEY_PLAY 207 /**< Play Key */ 148 1 : #define INPUT_KEY_POWER 116 /**< Power Key */ 149 1 : #define INPUT_KEY_PRINT 210 /**< Print Key */ 150 1 : #define INPUT_KEY_Q 16 /**< Q Key */ 151 1 : #define INPUT_KEY_R 19 /**< R Key */ 152 1 : #define INPUT_KEY_RIGHT 106 /**< Right Key */ 153 1 : #define INPUT_KEY_RIGHTALT 100 /**< Right Alt Key */ 154 1 : #define INPUT_KEY_RIGHTBRACE 27 /**< Right Brace Key */ 155 1 : #define INPUT_KEY_RIGHTCTRL 97 /**< Right Ctrl Key */ 156 1 : #define INPUT_KEY_RIGHTMETA 126 /**< Right Meta Key */ 157 1 : #define INPUT_KEY_RIGHTSHIFT 54 /**< Right Shift Key */ 158 1 : #define INPUT_KEY_S 31 /**< S Key */ 159 1 : #define INPUT_KEY_SCALE 120 /**< Scale Key */ 160 1 : #define INPUT_KEY_SCROLLLOCK 70 /**< Scroll Lock Key */ 161 1 : #define INPUT_KEY_SEMICOLON 39 /**< Semicolon Key */ 162 1 : #define INPUT_KEY_SLASH 53 /**< Slash Key */ 163 1 : #define INPUT_KEY_SLEEP 142 /**< System Sleep Key */ 164 1 : #define INPUT_KEY_SPACE 57 /**< Space Key */ 165 1 : #define INPUT_KEY_SYSRQ 99 /**< SysReq Key */ 166 1 : #define INPUT_KEY_T 20 /**< T Key */ 167 1 : #define INPUT_KEY_TAB 15 /**< Tab Key*/ 168 1 : #define INPUT_KEY_U 22 /**< U Key */ 169 1 : #define INPUT_KEY_UP 103 /**< Up Key */ 170 1 : #define INPUT_KEY_UWB 239 /**< Ultra-Wideband Key */ 171 1 : #define INPUT_KEY_V 47 /**< V Key */ 172 1 : #define INPUT_KEY_VOLUMEDOWN 114 /**< Volume Down Key */ 173 1 : #define INPUT_KEY_VOLUMEUP 115 /**< Volume Up Key */ 174 1 : #define INPUT_KEY_W 17 /**< W Key */ 175 1 : #define INPUT_KEY_WAKEUP 143 /**< System Wake Up Key */ 176 1 : #define INPUT_KEY_WLAN 238 /**< Wireless LAN Key */ 177 1 : #define INPUT_KEY_X 45 /**< X Key */ 178 1 : #define INPUT_KEY_Y 21 /**< Y Key */ 179 1 : #define INPUT_KEY_Z 44 /**< Z Key */ 180 : /** @} */ 181 : 182 : 183 : /** 184 : * @name Input event BTN codes. 185 : * @anchor INPUT_BTN_CODES 186 : * @{ 187 : */ 188 1 : #define INPUT_BTN_0 0x100 /**< 0 button */ 189 1 : #define INPUT_BTN_1 0x101 /**< 1 button */ 190 1 : #define INPUT_BTN_2 0x102 /**< 2 button */ 191 1 : #define INPUT_BTN_3 0x103 /**< 3 button */ 192 1 : #define INPUT_BTN_4 0x104 /**< 4 button */ 193 1 : #define INPUT_BTN_5 0x105 /**< 5 button */ 194 1 : #define INPUT_BTN_6 0x106 /**< 6 button */ 195 1 : #define INPUT_BTN_7 0x107 /**< 7 button */ 196 1 : #define INPUT_BTN_8 0x108 /**< 8 button */ 197 1 : #define INPUT_BTN_9 0x109 /**< 9 button */ 198 1 : #define INPUT_BTN_A INPUT_BTN_SOUTH /**< A button */ 199 1 : #define INPUT_BTN_B INPUT_BTN_EAST /**< B button */ 200 1 : #define INPUT_BTN_BACK 0x116 /**< Back button */ 201 1 : #define INPUT_BTN_C 0x132 /**< C button */ 202 1 : #define INPUT_BTN_DPAD_DOWN 0x221 /**< Directional pad Down */ 203 1 : #define INPUT_BTN_DPAD_LEFT 0x222 /**< Directional pad Left */ 204 1 : #define INPUT_BTN_DPAD_RIGHT 0x223 /**< Directional pad Right */ 205 1 : #define INPUT_BTN_DPAD_UP 0x220 /**< Directional pad Up */ 206 1 : #define INPUT_BTN_EAST 0x131 /**< East button */ 207 1 : #define INPUT_BTN_EXTRA 0x114 /**< Extra button */ 208 1 : #define INPUT_BTN_FORWARD 0x115 /**< Forward button */ 209 1 : #define INPUT_BTN_GEAR_DOWN 0x150 /**< Gear Up button */ 210 1 : #define INPUT_BTN_GEAR_UP 0x151 /**< Gear Down button */ 211 1 : #define INPUT_BTN_LEFT 0x110 /**< Left button */ 212 1 : #define INPUT_BTN_MIDDLE 0x112 /**< Middle button */ 213 1 : #define INPUT_BTN_MODE 0x13c /**< Mode button */ 214 1 : #define INPUT_BTN_NORTH 0x133 /**< North button */ 215 1 : #define INPUT_BTN_RIGHT 0x111 /**< Right button */ 216 1 : #define INPUT_BTN_SELECT 0x13a /**< Select button */ 217 1 : #define INPUT_BTN_SIDE 0x113 /**< Side button */ 218 1 : #define INPUT_BTN_SOUTH 0x130 /**< South button */ 219 1 : #define INPUT_BTN_START 0x13b /**< Start button */ 220 1 : #define INPUT_BTN_TASK 0x117 /**< Task button */ 221 1 : #define INPUT_BTN_THUMBL 0x13d /**< Left thumbstick button */ 222 1 : #define INPUT_BTN_THUMBR 0x13e /**< Right thumbstick button */ 223 1 : #define INPUT_BTN_TL 0x136 /**< Left trigger (L1) */ 224 1 : #define INPUT_BTN_TL2 0x138 /**< Left trigger 2 (L2) */ 225 1 : #define INPUT_BTN_TOUCH 0x14a /**< Touchscreen touch */ 226 1 : #define INPUT_BTN_TR 0x137 /**< Right trigger (R1) */ 227 1 : #define INPUT_BTN_TR2 0x139 /**< Right trigger 2 (R2) */ 228 1 : #define INPUT_BTN_WEST 0x134 /**< West button */ 229 1 : #define INPUT_BTN_X INPUT_BTN_NORTH /**< X button */ 230 1 : #define INPUT_BTN_Y INPUT_BTN_WEST /**< Y button */ 231 1 : #define INPUT_BTN_Z 0x135 /**< Z button */ 232 : /** @} */ 233 : 234 : /** 235 : * @name Input event ABS codes. 236 : * @anchor INPUT_ABS_CODES 237 : * @{ 238 : */ 239 1 : #define INPUT_ABS_BRAKE 0x0a /**< Absolute brake position */ 240 1 : #define INPUT_ABS_GAS 0x09 /**< Absolute gas position */ 241 1 : #define INPUT_ABS_MT_SLOT 0x2f /**< Absolute multitouch slot identifier */ 242 1 : #define INPUT_ABS_RUDDER 0x07 /**< Absolute rudder position */ 243 1 : #define INPUT_ABS_RX 0x03 /**< Absolute rotation around X axis */ 244 1 : #define INPUT_ABS_RY 0x04 /**< Absolute rotation around Y axis */ 245 1 : #define INPUT_ABS_RZ 0x05 /**< Absolute rotation around Z axis */ 246 1 : #define INPUT_ABS_THROTTLE 0x06 /**< Absolute throttle position */ 247 1 : #define INPUT_ABS_WHEEL 0x08 /**< Absolute wheel position */ 248 1 : #define INPUT_ABS_X 0x00 /**< Absolute X coordinate */ 249 1 : #define INPUT_ABS_Y 0x01 /**< Absolute Y coordinate */ 250 1 : #define INPUT_ABS_Z 0x02 /**< Absolute Z coordinate */ 251 : /** @} */ 252 : 253 : /** 254 : * @name Input event REL codes. 255 : * @anchor INPUT_REL_CODES 256 : * @{ 257 : */ 258 1 : #define INPUT_REL_DIAL 0x07 /**< Relative dial coordinate */ 259 1 : #define INPUT_REL_HWHEEL 0x06 /**< Relative horizontal wheel coordinate */ 260 1 : #define INPUT_REL_MISC 0x09 /**< Relative misc coordinate */ 261 1 : #define INPUT_REL_RX 0x03 /**< Relative rotation around X axis */ 262 1 : #define INPUT_REL_RY 0x04 /**< Relative rotation around Y axis */ 263 1 : #define INPUT_REL_RZ 0x05 /**< Relative rotation around Z axis */ 264 1 : #define INPUT_REL_WHEEL 0x08 /**< Relative wheel coordinate */ 265 1 : #define INPUT_REL_X 0x00 /**< Relative X coordinate */ 266 1 : #define INPUT_REL_Y 0x01 /**< Relative Y coordinate */ 267 1 : #define INPUT_REL_Z 0x02 /**< Relative Z coordinate */ 268 : /** @} */ 269 : 270 : /** 271 : * @name Input event MSC codes. 272 : * @anchor INPUT_MSC_CODES 273 : * @{ 274 : */ 275 1 : #define INPUT_MSC_SCAN 0x04 /**< Scan code */ 276 : /** @} */ 277 : 278 : /** @} */ 279 : 280 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_INPUT_INPUT_EVENT_CODES_H_ */