1d3d1dd3eSPeeter Must /*- 2d3d1dd3eSPeeter Must * Copyright (c) 2016 Oleksandr Tymoshenko <gonzo@FreeBSD.org> 3d3d1dd3eSPeeter Must * Copyright (c) 2015-2016 Vladimir Kondratyev <wulf@FreeBSD.org> 4d3d1dd3eSPeeter Must * All rights reserved. 5d3d1dd3eSPeeter Must * 6d3d1dd3eSPeeter Must * Redistribution and use in source and binary forms, with or without 7d3d1dd3eSPeeter Must * modification, are permitted provided that the following conditions 8d3d1dd3eSPeeter Must * are met: 9d3d1dd3eSPeeter Must * 1. Redistributions of source code must retain the above copyright 10d3d1dd3eSPeeter Must * notice, this list of conditions and the following disclaimer. 11d3d1dd3eSPeeter Must * 2. Redistributions in binary form must reproduce the above copyright 12d3d1dd3eSPeeter Must * notice, this list of conditions and the following disclaimer in the 13d3d1dd3eSPeeter Must * documentation and/or other materials provided with the distribution. 14d3d1dd3eSPeeter Must * 15d3d1dd3eSPeeter Must * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16d3d1dd3eSPeeter Must * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17d3d1dd3eSPeeter Must * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18d3d1dd3eSPeeter Must * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19d3d1dd3eSPeeter Must * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20d3d1dd3eSPeeter Must * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21d3d1dd3eSPeeter Must * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22d3d1dd3eSPeeter Must * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23d3d1dd3eSPeeter Must * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24d3d1dd3eSPeeter Must * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25d3d1dd3eSPeeter Must * SUCH DAMAGE. 26d3d1dd3eSPeeter Must * 27d3d1dd3eSPeeter Must * $FreeBSD$ 28d3d1dd3eSPeeter Must */ 29d3d1dd3eSPeeter Must 30d3d1dd3eSPeeter Must #ifndef _EVDEV_INPUT_EVENT_CODES_H 31d3d1dd3eSPeeter Must #define _EVDEV_INPUT_EVENT_CODES_H 32d3d1dd3eSPeeter Must 33d3d1dd3eSPeeter Must /* 34d3d1dd3eSPeeter Must * Device properties and quirks 35d3d1dd3eSPeeter Must */ 36d3d1dd3eSPeeter Must 37d3d1dd3eSPeeter Must #define INPUT_PROP_POINTER 0x00 /* needs a pointer */ 38d3d1dd3eSPeeter Must #define INPUT_PROP_DIRECT 0x01 /* direct input devices */ 39d3d1dd3eSPeeter Must #define INPUT_PROP_BUTTONPAD 0x02 /* has button(s) under pad */ 40d3d1dd3eSPeeter Must #define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */ 41d3d1dd3eSPeeter Must #define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */ 42d3d1dd3eSPeeter Must #define INPUT_PROP_POINTING_STICK 0x05 /* is a pointing stick */ 43d3d1dd3eSPeeter Must #define INPUT_PROP_ACCELEROMETER 0x06 /* has accelerometer */ 44d3d1dd3eSPeeter Must 45d3d1dd3eSPeeter Must #define INPUT_PROP_MAX 0x1f 46d3d1dd3eSPeeter Must #define INPUT_PROP_CNT (INPUT_PROP_MAX + 1) 47d3d1dd3eSPeeter Must 48d3d1dd3eSPeeter Must /* 49d3d1dd3eSPeeter Must * Event types 50d3d1dd3eSPeeter Must */ 51d3d1dd3eSPeeter Must 52d3d1dd3eSPeeter Must #define EV_SYN 0x00 53d3d1dd3eSPeeter Must #define EV_KEY 0x01 54d3d1dd3eSPeeter Must #define EV_REL 0x02 55d3d1dd3eSPeeter Must #define EV_ABS 0x03 56d3d1dd3eSPeeter Must #define EV_MSC 0x04 57d3d1dd3eSPeeter Must #define EV_SW 0x05 58d3d1dd3eSPeeter Must #define EV_LED 0x11 59d3d1dd3eSPeeter Must #define EV_SND 0x12 60d3d1dd3eSPeeter Must #define EV_REP 0x14 61d3d1dd3eSPeeter Must #define EV_FF 0x15 62d3d1dd3eSPeeter Must #define EV_PWR 0x16 63d3d1dd3eSPeeter Must #define EV_FF_STATUS 0x17 64d3d1dd3eSPeeter Must #define EV_MAX 0x1f 65d3d1dd3eSPeeter Must #define EV_CNT (EV_MAX+1) 66d3d1dd3eSPeeter Must 67d3d1dd3eSPeeter Must /* 68d3d1dd3eSPeeter Must * Synchronization events. 69d3d1dd3eSPeeter Must */ 70d3d1dd3eSPeeter Must 71d3d1dd3eSPeeter Must #define SYN_REPORT 0 72d3d1dd3eSPeeter Must #define SYN_CONFIG 1 73d3d1dd3eSPeeter Must #define SYN_MT_REPORT 2 74d3d1dd3eSPeeter Must #define SYN_DROPPED 3 75d3d1dd3eSPeeter Must #define SYN_MAX 0xf 76d3d1dd3eSPeeter Must #define SYN_CNT (SYN_MAX+1) 77d3d1dd3eSPeeter Must 78d3d1dd3eSPeeter Must /* 79d3d1dd3eSPeeter Must * Keys and buttons 80*a162a738SMichael Neumann * 81*a162a738SMichael Neumann * Most of the keys/buttons are modeled after USB HUT 1.12 82*a162a738SMichael Neumann * (see http://www.usb.org/developers/hidpage). 83d3d1dd3eSPeeter Must * Abbreviations in the comments: 84d3d1dd3eSPeeter Must * AC - Application Control 85d3d1dd3eSPeeter Must * AL - Application Launch Button 86d3d1dd3eSPeeter Must * SC - System Control 87d3d1dd3eSPeeter Must */ 88d3d1dd3eSPeeter Must 89d3d1dd3eSPeeter Must #define KEY_RESERVED 0 90d3d1dd3eSPeeter Must #define KEY_ESC 1 91d3d1dd3eSPeeter Must #define KEY_1 2 92d3d1dd3eSPeeter Must #define KEY_2 3 93d3d1dd3eSPeeter Must #define KEY_3 4 94d3d1dd3eSPeeter Must #define KEY_4 5 95d3d1dd3eSPeeter Must #define KEY_5 6 96d3d1dd3eSPeeter Must #define KEY_6 7 97d3d1dd3eSPeeter Must #define KEY_7 8 98d3d1dd3eSPeeter Must #define KEY_8 9 99d3d1dd3eSPeeter Must #define KEY_9 10 100d3d1dd3eSPeeter Must #define KEY_0 11 101d3d1dd3eSPeeter Must #define KEY_MINUS 12 102d3d1dd3eSPeeter Must #define KEY_EQUAL 13 103d3d1dd3eSPeeter Must #define KEY_BACKSPACE 14 104d3d1dd3eSPeeter Must #define KEY_TAB 15 105d3d1dd3eSPeeter Must #define KEY_Q 16 106d3d1dd3eSPeeter Must #define KEY_W 17 107d3d1dd3eSPeeter Must #define KEY_E 18 108d3d1dd3eSPeeter Must #define KEY_R 19 109d3d1dd3eSPeeter Must #define KEY_T 20 110d3d1dd3eSPeeter Must #define KEY_Y 21 111d3d1dd3eSPeeter Must #define KEY_U 22 112d3d1dd3eSPeeter Must #define KEY_I 23 113d3d1dd3eSPeeter Must #define KEY_O 24 114d3d1dd3eSPeeter Must #define KEY_P 25 115d3d1dd3eSPeeter Must #define KEY_LEFTBRACE 26 116d3d1dd3eSPeeter Must #define KEY_RIGHTBRACE 27 117d3d1dd3eSPeeter Must #define KEY_ENTER 28 118d3d1dd3eSPeeter Must #define KEY_LEFTCTRL 29 119d3d1dd3eSPeeter Must #define KEY_A 30 120d3d1dd3eSPeeter Must #define KEY_S 31 121d3d1dd3eSPeeter Must #define KEY_D 32 122d3d1dd3eSPeeter Must #define KEY_F 33 123d3d1dd3eSPeeter Must #define KEY_G 34 124d3d1dd3eSPeeter Must #define KEY_H 35 125d3d1dd3eSPeeter Must #define KEY_J 36 126d3d1dd3eSPeeter Must #define KEY_K 37 127d3d1dd3eSPeeter Must #define KEY_L 38 128d3d1dd3eSPeeter Must #define KEY_SEMICOLON 39 129d3d1dd3eSPeeter Must #define KEY_APOSTROPHE 40 130d3d1dd3eSPeeter Must #define KEY_GRAVE 41 131d3d1dd3eSPeeter Must #define KEY_LEFTSHIFT 42 132d3d1dd3eSPeeter Must #define KEY_BACKSLASH 43 133d3d1dd3eSPeeter Must #define KEY_Z 44 134d3d1dd3eSPeeter Must #define KEY_X 45 135d3d1dd3eSPeeter Must #define KEY_C 46 136d3d1dd3eSPeeter Must #define KEY_V 47 137d3d1dd3eSPeeter Must #define KEY_B 48 138d3d1dd3eSPeeter Must #define KEY_N 49 139d3d1dd3eSPeeter Must #define KEY_M 50 140d3d1dd3eSPeeter Must #define KEY_COMMA 51 141d3d1dd3eSPeeter Must #define KEY_DOT 52 142d3d1dd3eSPeeter Must #define KEY_SLASH 53 143d3d1dd3eSPeeter Must #define KEY_RIGHTSHIFT 54 144d3d1dd3eSPeeter Must #define KEY_KPASTERISK 55 145d3d1dd3eSPeeter Must #define KEY_LEFTALT 56 146d3d1dd3eSPeeter Must #define KEY_SPACE 57 147d3d1dd3eSPeeter Must #define KEY_CAPSLOCK 58 148d3d1dd3eSPeeter Must #define KEY_F1 59 149d3d1dd3eSPeeter Must #define KEY_F2 60 150d3d1dd3eSPeeter Must #define KEY_F3 61 151d3d1dd3eSPeeter Must #define KEY_F4 62 152d3d1dd3eSPeeter Must #define KEY_F5 63 153d3d1dd3eSPeeter Must #define KEY_F6 64 154d3d1dd3eSPeeter Must #define KEY_F7 65 155d3d1dd3eSPeeter Must #define KEY_F8 66 156d3d1dd3eSPeeter Must #define KEY_F9 67 157d3d1dd3eSPeeter Must #define KEY_F10 68 158d3d1dd3eSPeeter Must #define KEY_NUMLOCK 69 159d3d1dd3eSPeeter Must #define KEY_SCROLLLOCK 70 160d3d1dd3eSPeeter Must #define KEY_KP7 71 161d3d1dd3eSPeeter Must #define KEY_KP8 72 162d3d1dd3eSPeeter Must #define KEY_KP9 73 163d3d1dd3eSPeeter Must #define KEY_KPMINUS 74 164d3d1dd3eSPeeter Must #define KEY_KP4 75 165d3d1dd3eSPeeter Must #define KEY_KP5 76 166d3d1dd3eSPeeter Must #define KEY_KP6 77 167d3d1dd3eSPeeter Must #define KEY_KPPLUS 78 168d3d1dd3eSPeeter Must #define KEY_KP1 79 169d3d1dd3eSPeeter Must #define KEY_KP2 80 170d3d1dd3eSPeeter Must #define KEY_KP3 81 171d3d1dd3eSPeeter Must #define KEY_KP0 82 172d3d1dd3eSPeeter Must #define KEY_KPDOT 83 173d3d1dd3eSPeeter Must 174d3d1dd3eSPeeter Must #define KEY_ZENKAKUHANKAKU 85 175d3d1dd3eSPeeter Must #define KEY_102ND 86 176d3d1dd3eSPeeter Must #define KEY_F11 87 177d3d1dd3eSPeeter Must #define KEY_F12 88 178d3d1dd3eSPeeter Must #define KEY_RO 89 179d3d1dd3eSPeeter Must #define KEY_KATAKANA 90 180d3d1dd3eSPeeter Must #define KEY_HIRAGANA 91 181d3d1dd3eSPeeter Must #define KEY_HENKAN 92 182d3d1dd3eSPeeter Must #define KEY_KATAKANAHIRAGANA 93 183d3d1dd3eSPeeter Must #define KEY_MUHENKAN 94 184d3d1dd3eSPeeter Must #define KEY_KPJPCOMMA 95 185d3d1dd3eSPeeter Must #define KEY_KPENTER 96 186d3d1dd3eSPeeter Must #define KEY_RIGHTCTRL 97 187d3d1dd3eSPeeter Must #define KEY_KPSLASH 98 188d3d1dd3eSPeeter Must #define KEY_SYSRQ 99 189d3d1dd3eSPeeter Must #define KEY_RIGHTALT 100 190d3d1dd3eSPeeter Must #define KEY_LINEFEED 101 191d3d1dd3eSPeeter Must #define KEY_HOME 102 192d3d1dd3eSPeeter Must #define KEY_UP 103 193d3d1dd3eSPeeter Must #define KEY_PAGEUP 104 194d3d1dd3eSPeeter Must #define KEY_LEFT 105 195d3d1dd3eSPeeter Must #define KEY_RIGHT 106 196d3d1dd3eSPeeter Must #define KEY_END 107 197d3d1dd3eSPeeter Must #define KEY_DOWN 108 198d3d1dd3eSPeeter Must #define KEY_PAGEDOWN 109 199d3d1dd3eSPeeter Must #define KEY_INSERT 110 200d3d1dd3eSPeeter Must #define KEY_DELETE 111 201d3d1dd3eSPeeter Must #define KEY_MACRO 112 202d3d1dd3eSPeeter Must #define KEY_MUTE 113 203d3d1dd3eSPeeter Must #define KEY_VOLUMEDOWN 114 204d3d1dd3eSPeeter Must #define KEY_VOLUMEUP 115 205d3d1dd3eSPeeter Must #define KEY_POWER 116 /* SC System Power Down */ 206d3d1dd3eSPeeter Must #define KEY_KPEQUAL 117 207d3d1dd3eSPeeter Must #define KEY_KPPLUSMINUS 118 208d3d1dd3eSPeeter Must #define KEY_PAUSE 119 209d3d1dd3eSPeeter Must #define KEY_SCALE 120 /* AL Compiz Scale (Expose) */ 210d3d1dd3eSPeeter Must 211d3d1dd3eSPeeter Must #define KEY_KPCOMMA 121 212d3d1dd3eSPeeter Must #define KEY_HANGEUL 122 213d3d1dd3eSPeeter Must #define KEY_HANGUEL KEY_HANGEUL 214d3d1dd3eSPeeter Must #define KEY_HANJA 123 215d3d1dd3eSPeeter Must #define KEY_YEN 124 216d3d1dd3eSPeeter Must #define KEY_LEFTMETA 125 217d3d1dd3eSPeeter Must #define KEY_RIGHTMETA 126 218d3d1dd3eSPeeter Must #define KEY_COMPOSE 127 219d3d1dd3eSPeeter Must 220d3d1dd3eSPeeter Must #define KEY_STOP 128 /* AC Stop */ 221d3d1dd3eSPeeter Must #define KEY_AGAIN 129 222d3d1dd3eSPeeter Must #define KEY_PROPS 130 /* AC Properties */ 223d3d1dd3eSPeeter Must #define KEY_UNDO 131 /* AC Undo */ 224d3d1dd3eSPeeter Must #define KEY_FRONT 132 225d3d1dd3eSPeeter Must #define KEY_COPY 133 /* AC Copy */ 226d3d1dd3eSPeeter Must #define KEY_OPEN 134 /* AC Open */ 227d3d1dd3eSPeeter Must #define KEY_PASTE 135 /* AC Paste */ 228d3d1dd3eSPeeter Must #define KEY_FIND 136 /* AC Search */ 229d3d1dd3eSPeeter Must #define KEY_CUT 137 /* AC Cut */ 230d3d1dd3eSPeeter Must #define KEY_HELP 138 /* AL Integrated Help Center */ 231d3d1dd3eSPeeter Must #define KEY_MENU 139 /* Menu (show menu) */ 232d3d1dd3eSPeeter Must #define KEY_CALC 140 /* AL Calculator */ 233d3d1dd3eSPeeter Must #define KEY_SETUP 141 234d3d1dd3eSPeeter Must #define KEY_SLEEP 142 /* SC System Sleep */ 235d3d1dd3eSPeeter Must #define KEY_WAKEUP 143 /* System Wake Up */ 236d3d1dd3eSPeeter Must #define KEY_FILE 144 /* AL Local Machine Browser */ 237d3d1dd3eSPeeter Must #define KEY_SENDFILE 145 238d3d1dd3eSPeeter Must #define KEY_DELETEFILE 146 239d3d1dd3eSPeeter Must #define KEY_XFER 147 240d3d1dd3eSPeeter Must #define KEY_PROG1 148 241d3d1dd3eSPeeter Must #define KEY_PROG2 149 242d3d1dd3eSPeeter Must #define KEY_WWW 150 /* AL Internet Browser */ 243d3d1dd3eSPeeter Must #define KEY_MSDOS 151 244d3d1dd3eSPeeter Must #define KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */ 245d3d1dd3eSPeeter Must #define KEY_SCREENLOCK KEY_COFFEE 246d3d1dd3eSPeeter Must #define KEY_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */ 247d3d1dd3eSPeeter Must #define KEY_DIRECTION KEY_ROTATE_DISPLAY 248d3d1dd3eSPeeter Must #define KEY_CYCLEWINDOWS 154 249d3d1dd3eSPeeter Must #define KEY_MAIL 155 250d3d1dd3eSPeeter Must #define KEY_BOOKMARKS 156 /* AC Bookmarks */ 251d3d1dd3eSPeeter Must #define KEY_COMPUTER 157 252d3d1dd3eSPeeter Must #define KEY_BACK 158 /* AC Back */ 253d3d1dd3eSPeeter Must #define KEY_FORWARD 159 /* AC Forward */ 254d3d1dd3eSPeeter Must #define KEY_CLOSECD 160 255d3d1dd3eSPeeter Must #define KEY_EJECTCD 161 256d3d1dd3eSPeeter Must #define KEY_EJECTCLOSECD 162 257d3d1dd3eSPeeter Must #define KEY_NEXTSONG 163 258d3d1dd3eSPeeter Must #define KEY_PLAYPAUSE 164 259d3d1dd3eSPeeter Must #define KEY_PREVIOUSSONG 165 260d3d1dd3eSPeeter Must #define KEY_STOPCD 166 261d3d1dd3eSPeeter Must #define KEY_RECORD 167 262d3d1dd3eSPeeter Must #define KEY_REWIND 168 263d3d1dd3eSPeeter Must #define KEY_PHONE 169 /* Media Select Telephone */ 264d3d1dd3eSPeeter Must #define KEY_ISO 170 265d3d1dd3eSPeeter Must #define KEY_CONFIG 171 /* AL Consumer Control Configuration */ 266d3d1dd3eSPeeter Must #define KEY_HOMEPAGE 172 /* AC Home */ 267d3d1dd3eSPeeter Must #define KEY_REFRESH 173 /* AC Refresh */ 268d3d1dd3eSPeeter Must #define KEY_EXIT 174 /* AC Exit */ 269d3d1dd3eSPeeter Must #define KEY_MOVE 175 270d3d1dd3eSPeeter Must #define KEY_EDIT 176 271d3d1dd3eSPeeter Must #define KEY_SCROLLUP 177 272d3d1dd3eSPeeter Must #define KEY_SCROLLDOWN 178 273d3d1dd3eSPeeter Must #define KEY_KPLEFTPAREN 179 274d3d1dd3eSPeeter Must #define KEY_KPRIGHTPAREN 180 275d3d1dd3eSPeeter Must #define KEY_NEW 181 /* AC New */ 276d3d1dd3eSPeeter Must #define KEY_REDO 182 /* AC Redo/Repeat */ 277d3d1dd3eSPeeter Must 278d3d1dd3eSPeeter Must #define KEY_F13 183 279d3d1dd3eSPeeter Must #define KEY_F14 184 280d3d1dd3eSPeeter Must #define KEY_F15 185 281d3d1dd3eSPeeter Must #define KEY_F16 186 282d3d1dd3eSPeeter Must #define KEY_F17 187 283d3d1dd3eSPeeter Must #define KEY_F18 188 284d3d1dd3eSPeeter Must #define KEY_F19 189 285d3d1dd3eSPeeter Must #define KEY_F20 190 286d3d1dd3eSPeeter Must #define KEY_F21 191 287d3d1dd3eSPeeter Must #define KEY_F22 192 288d3d1dd3eSPeeter Must #define KEY_F23 193 289d3d1dd3eSPeeter Must #define KEY_F24 194 290d3d1dd3eSPeeter Must 291d3d1dd3eSPeeter Must #define KEY_PLAYCD 200 292d3d1dd3eSPeeter Must #define KEY_PAUSECD 201 293d3d1dd3eSPeeter Must #define KEY_PROG3 202 294d3d1dd3eSPeeter Must #define KEY_PROG4 203 295*a162a738SMichael Neumann #define KEY_ALL_APPLICATIONS 204 /* AC Desktop Show All Applications */ 296*a162a738SMichael Neumann #define KEY_DASHBOARD KEY_ALL_APPLICATIONS 297d3d1dd3eSPeeter Must #define KEY_SUSPEND 205 298d3d1dd3eSPeeter Must #define KEY_CLOSE 206 /* AC Close */ 299d3d1dd3eSPeeter Must #define KEY_PLAY 207 300d3d1dd3eSPeeter Must #define KEY_FASTFORWARD 208 301d3d1dd3eSPeeter Must #define KEY_BASSBOOST 209 302d3d1dd3eSPeeter Must #define KEY_PRINT 210 /* AC Print */ 303d3d1dd3eSPeeter Must #define KEY_HP 211 304d3d1dd3eSPeeter Must #define KEY_CAMERA 212 305d3d1dd3eSPeeter Must #define KEY_SOUND 213 306d3d1dd3eSPeeter Must #define KEY_QUESTION 214 307d3d1dd3eSPeeter Must #define KEY_EMAIL 215 308d3d1dd3eSPeeter Must #define KEY_CHAT 216 309d3d1dd3eSPeeter Must #define KEY_SEARCH 217 310d3d1dd3eSPeeter Must #define KEY_CONNECT 218 311d3d1dd3eSPeeter Must #define KEY_FINANCE 219 /* AL Checkbook/Finance */ 312d3d1dd3eSPeeter Must #define KEY_SPORT 220 313d3d1dd3eSPeeter Must #define KEY_SHOP 221 314d3d1dd3eSPeeter Must #define KEY_ALTERASE 222 315d3d1dd3eSPeeter Must #define KEY_CANCEL 223 /* AC Cancel */ 316d3d1dd3eSPeeter Must #define KEY_BRIGHTNESSDOWN 224 317d3d1dd3eSPeeter Must #define KEY_BRIGHTNESSUP 225 318d3d1dd3eSPeeter Must #define KEY_MEDIA 226 319d3d1dd3eSPeeter Must 320d3d1dd3eSPeeter Must #define KEY_SWITCHVIDEOMODE 227 /* Cycle between available video 321d3d1dd3eSPeeter Must outputs (Monitor/LCD/TV-out/etc) */ 322d3d1dd3eSPeeter Must #define KEY_KBDILLUMTOGGLE 228 323d3d1dd3eSPeeter Must #define KEY_KBDILLUMDOWN 229 324d3d1dd3eSPeeter Must #define KEY_KBDILLUMUP 230 325d3d1dd3eSPeeter Must 326d3d1dd3eSPeeter Must #define KEY_SEND 231 /* AC Send */ 327d3d1dd3eSPeeter Must #define KEY_REPLY 232 /* AC Reply */ 328d3d1dd3eSPeeter Must #define KEY_FORWARDMAIL 233 /* AC Forward Msg */ 329d3d1dd3eSPeeter Must #define KEY_SAVE 234 /* AC Save */ 330d3d1dd3eSPeeter Must #define KEY_DOCUMENTS 235 331d3d1dd3eSPeeter Must 332d3d1dd3eSPeeter Must #define KEY_BATTERY 236 333d3d1dd3eSPeeter Must 334d3d1dd3eSPeeter Must #define KEY_BLUETOOTH 237 335d3d1dd3eSPeeter Must #define KEY_WLAN 238 336d3d1dd3eSPeeter Must #define KEY_UWB 239 337d3d1dd3eSPeeter Must 338d3d1dd3eSPeeter Must #define KEY_UNKNOWN 240 339d3d1dd3eSPeeter Must 340d3d1dd3eSPeeter Must #define KEY_VIDEO_NEXT 241 /* drive next video source */ 341d3d1dd3eSPeeter Must #define KEY_VIDEO_PREV 242 /* drive previous video source */ 342d3d1dd3eSPeeter Must #define KEY_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */ 343d3d1dd3eSPeeter Must #define KEY_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manual 344d3d1dd3eSPeeter Must brightness control is off, 345d3d1dd3eSPeeter Must rely on ambient */ 346d3d1dd3eSPeeter Must #define KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO 347d3d1dd3eSPeeter Must #define KEY_DISPLAY_OFF 245 /* display device to off state */ 348d3d1dd3eSPeeter Must 349d3d1dd3eSPeeter Must #define KEY_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */ 350d3d1dd3eSPeeter Must #define KEY_WIMAX KEY_WWAN 351d3d1dd3eSPeeter Must #define KEY_RFKILL 247 /* Key that controls all radios */ 352d3d1dd3eSPeeter Must 353d3d1dd3eSPeeter Must #define KEY_MICMUTE 248 /* Mute / unmute the microphone */ 354d3d1dd3eSPeeter Must 355d3d1dd3eSPeeter Must /* Code 255 is reserved for special needs of AT keyboard driver */ 356d3d1dd3eSPeeter Must 357d3d1dd3eSPeeter Must #define BTN_MISC 0x100 358d3d1dd3eSPeeter Must #define BTN_0 0x100 359d3d1dd3eSPeeter Must #define BTN_1 0x101 360d3d1dd3eSPeeter Must #define BTN_2 0x102 361d3d1dd3eSPeeter Must #define BTN_3 0x103 362d3d1dd3eSPeeter Must #define BTN_4 0x104 363d3d1dd3eSPeeter Must #define BTN_5 0x105 364d3d1dd3eSPeeter Must #define BTN_6 0x106 365d3d1dd3eSPeeter Must #define BTN_7 0x107 366d3d1dd3eSPeeter Must #define BTN_8 0x108 367d3d1dd3eSPeeter Must #define BTN_9 0x109 368d3d1dd3eSPeeter Must 369d3d1dd3eSPeeter Must #define BTN_MOUSE 0x110 370d3d1dd3eSPeeter Must #define BTN_LEFT 0x110 371d3d1dd3eSPeeter Must #define BTN_RIGHT 0x111 372d3d1dd3eSPeeter Must #define BTN_MIDDLE 0x112 373d3d1dd3eSPeeter Must #define BTN_SIDE 0x113 374d3d1dd3eSPeeter Must #define BTN_EXTRA 0x114 375d3d1dd3eSPeeter Must #define BTN_FORWARD 0x115 376d3d1dd3eSPeeter Must #define BTN_BACK 0x116 377d3d1dd3eSPeeter Must #define BTN_TASK 0x117 378d3d1dd3eSPeeter Must 379d3d1dd3eSPeeter Must #define BTN_JOYSTICK 0x120 380d3d1dd3eSPeeter Must #define BTN_TRIGGER 0x120 381d3d1dd3eSPeeter Must #define BTN_THUMB 0x121 382d3d1dd3eSPeeter Must #define BTN_THUMB2 0x122 383d3d1dd3eSPeeter Must #define BTN_TOP 0x123 384d3d1dd3eSPeeter Must #define BTN_TOP2 0x124 385d3d1dd3eSPeeter Must #define BTN_PINKIE 0x125 386d3d1dd3eSPeeter Must #define BTN_BASE 0x126 387d3d1dd3eSPeeter Must #define BTN_BASE2 0x127 388d3d1dd3eSPeeter Must #define BTN_BASE3 0x128 389d3d1dd3eSPeeter Must #define BTN_BASE4 0x129 390d3d1dd3eSPeeter Must #define BTN_BASE5 0x12a 391d3d1dd3eSPeeter Must #define BTN_BASE6 0x12b 392d3d1dd3eSPeeter Must #define BTN_DEAD 0x12f 393d3d1dd3eSPeeter Must 394d3d1dd3eSPeeter Must #define BTN_GAMEPAD 0x130 395d3d1dd3eSPeeter Must #define BTN_SOUTH 0x130 396d3d1dd3eSPeeter Must #define BTN_A BTN_SOUTH 397d3d1dd3eSPeeter Must #define BTN_EAST 0x131 398d3d1dd3eSPeeter Must #define BTN_B BTN_EAST 399d3d1dd3eSPeeter Must #define BTN_C 0x132 400d3d1dd3eSPeeter Must #define BTN_NORTH 0x133 401d3d1dd3eSPeeter Must #define BTN_X BTN_NORTH 402d3d1dd3eSPeeter Must #define BTN_WEST 0x134 403d3d1dd3eSPeeter Must #define BTN_Y BTN_WEST 404d3d1dd3eSPeeter Must #define BTN_Z 0x135 405d3d1dd3eSPeeter Must #define BTN_TL 0x136 406d3d1dd3eSPeeter Must #define BTN_TR 0x137 407d3d1dd3eSPeeter Must #define BTN_TL2 0x138 408d3d1dd3eSPeeter Must #define BTN_TR2 0x139 409d3d1dd3eSPeeter Must #define BTN_SELECT 0x13a 410d3d1dd3eSPeeter Must #define BTN_START 0x13b 411d3d1dd3eSPeeter Must #define BTN_MODE 0x13c 412d3d1dd3eSPeeter Must #define BTN_THUMBL 0x13d 413d3d1dd3eSPeeter Must #define BTN_THUMBR 0x13e 414d3d1dd3eSPeeter Must 415d3d1dd3eSPeeter Must #define BTN_DIGI 0x140 416d3d1dd3eSPeeter Must #define BTN_TOOL_PEN 0x140 417d3d1dd3eSPeeter Must #define BTN_TOOL_RUBBER 0x141 418d3d1dd3eSPeeter Must #define BTN_TOOL_BRUSH 0x142 419d3d1dd3eSPeeter Must #define BTN_TOOL_PENCIL 0x143 420d3d1dd3eSPeeter Must #define BTN_TOOL_AIRBRUSH 0x144 421d3d1dd3eSPeeter Must #define BTN_TOOL_FINGER 0x145 422d3d1dd3eSPeeter Must #define BTN_TOOL_MOUSE 0x146 423d3d1dd3eSPeeter Must #define BTN_TOOL_LENS 0x147 424d3d1dd3eSPeeter Must #define BTN_TOOL_QUINTTAP 0x148 /* Five fingers on trackpad */ 4254431ffa1SPeeter Must #define BTN_STYLUS3 0x149 426d3d1dd3eSPeeter Must #define BTN_TOUCH 0x14a 427d3d1dd3eSPeeter Must #define BTN_STYLUS 0x14b 428d3d1dd3eSPeeter Must #define BTN_STYLUS2 0x14c 429d3d1dd3eSPeeter Must #define BTN_TOOL_DOUBLETAP 0x14d 430d3d1dd3eSPeeter Must #define BTN_TOOL_TRIPLETAP 0x14e 431d3d1dd3eSPeeter Must #define BTN_TOOL_QUADTAP 0x14f /* Four fingers on trackpad */ 432d3d1dd3eSPeeter Must 433d3d1dd3eSPeeter Must #define BTN_WHEEL 0x150 434d3d1dd3eSPeeter Must #define BTN_GEAR_DOWN 0x150 435d3d1dd3eSPeeter Must #define BTN_GEAR_UP 0x151 436d3d1dd3eSPeeter Must 437d3d1dd3eSPeeter Must #define KEY_OK 0x160 438d3d1dd3eSPeeter Must #define KEY_SELECT 0x161 439d3d1dd3eSPeeter Must #define KEY_GOTO 0x162 440d3d1dd3eSPeeter Must #define KEY_CLEAR 0x163 441d3d1dd3eSPeeter Must #define KEY_POWER2 0x164 442d3d1dd3eSPeeter Must #define KEY_OPTION 0x165 443d3d1dd3eSPeeter Must #define KEY_INFO 0x166 /* AL OEM Features/Tips/Tutorial */ 444d3d1dd3eSPeeter Must #define KEY_TIME 0x167 445d3d1dd3eSPeeter Must #define KEY_VENDOR 0x168 446d3d1dd3eSPeeter Must #define KEY_ARCHIVE 0x169 447d3d1dd3eSPeeter Must #define KEY_PROGRAM 0x16a /* Media Select Program Guide */ 448d3d1dd3eSPeeter Must #define KEY_CHANNEL 0x16b 449d3d1dd3eSPeeter Must #define KEY_FAVORITES 0x16c 450d3d1dd3eSPeeter Must #define KEY_EPG 0x16d 451d3d1dd3eSPeeter Must #define KEY_PVR 0x16e /* Media Select Home */ 452d3d1dd3eSPeeter Must #define KEY_MHP 0x16f 453d3d1dd3eSPeeter Must #define KEY_LANGUAGE 0x170 454d3d1dd3eSPeeter Must #define KEY_TITLE 0x171 455d3d1dd3eSPeeter Must #define KEY_SUBTITLE 0x172 456d3d1dd3eSPeeter Must #define KEY_ANGLE 0x173 457*a162a738SMichael Neumann #define KEY_FULL_SCREEN 0x174 /* AC View Toggle */ 458*a162a738SMichael Neumann #define KEY_ZOOM KEY_FULL_SCREEN 459d3d1dd3eSPeeter Must #define KEY_MODE 0x175 460d3d1dd3eSPeeter Must #define KEY_KEYBOARD 0x176 461*a162a738SMichael Neumann #define KEY_ASPECT_RATIO 0x177 /* HUTRR37: Aspect */ 462*a162a738SMichael Neumann #define KEY_SCREEN KEY_ASPECT_RATIO 463d3d1dd3eSPeeter Must #define KEY_PC 0x178 /* Media Select Computer */ 464d3d1dd3eSPeeter Must #define KEY_TV 0x179 /* Media Select TV */ 465d3d1dd3eSPeeter Must #define KEY_TV2 0x17a /* Media Select Cable */ 466d3d1dd3eSPeeter Must #define KEY_VCR 0x17b /* Media Select VCR */ 467d3d1dd3eSPeeter Must #define KEY_VCR2 0x17c /* VCR Plus */ 468d3d1dd3eSPeeter Must #define KEY_SAT 0x17d /* Media Select Satellite */ 469d3d1dd3eSPeeter Must #define KEY_SAT2 0x17e 470d3d1dd3eSPeeter Must #define KEY_CD 0x17f /* Media Select CD */ 471d3d1dd3eSPeeter Must #define KEY_TAPE 0x180 /* Media Select Tape */ 472d3d1dd3eSPeeter Must #define KEY_RADIO 0x181 473d3d1dd3eSPeeter Must #define KEY_TUNER 0x182 /* Media Select Tuner */ 474d3d1dd3eSPeeter Must #define KEY_PLAYER 0x183 475d3d1dd3eSPeeter Must #define KEY_TEXT 0x184 476d3d1dd3eSPeeter Must #define KEY_DVD 0x185 /* Media Select DVD */ 477d3d1dd3eSPeeter Must #define KEY_AUX 0x186 478d3d1dd3eSPeeter Must #define KEY_MP3 0x187 479d3d1dd3eSPeeter Must #define KEY_AUDIO 0x188 /* AL Audio Browser */ 480d3d1dd3eSPeeter Must #define KEY_VIDEO 0x189 /* AL Movie Browser */ 481d3d1dd3eSPeeter Must #define KEY_DIRECTORY 0x18a 482d3d1dd3eSPeeter Must #define KEY_LIST 0x18b 483d3d1dd3eSPeeter Must #define KEY_MEMO 0x18c /* Media Select Messages */ 484d3d1dd3eSPeeter Must #define KEY_CALENDAR 0x18d 485d3d1dd3eSPeeter Must #define KEY_RED 0x18e 486d3d1dd3eSPeeter Must #define KEY_GREEN 0x18f 487d3d1dd3eSPeeter Must #define KEY_YELLOW 0x190 488d3d1dd3eSPeeter Must #define KEY_BLUE 0x191 489d3d1dd3eSPeeter Must #define KEY_CHANNELUP 0x192 /* Channel Increment */ 490d3d1dd3eSPeeter Must #define KEY_CHANNELDOWN 0x193 /* Channel Decrement */ 491d3d1dd3eSPeeter Must #define KEY_FIRST 0x194 492d3d1dd3eSPeeter Must #define KEY_LAST 0x195 /* Recall Last */ 493d3d1dd3eSPeeter Must #define KEY_AB 0x196 494d3d1dd3eSPeeter Must #define KEY_NEXT 0x197 495d3d1dd3eSPeeter Must #define KEY_RESTART 0x198 496d3d1dd3eSPeeter Must #define KEY_SLOW 0x199 497d3d1dd3eSPeeter Must #define KEY_SHUFFLE 0x19a 498d3d1dd3eSPeeter Must #define KEY_BREAK 0x19b 499d3d1dd3eSPeeter Must #define KEY_PREVIOUS 0x19c 500d3d1dd3eSPeeter Must #define KEY_DIGITS 0x19d 501d3d1dd3eSPeeter Must #define KEY_TEEN 0x19e 502d3d1dd3eSPeeter Must #define KEY_TWEN 0x19f 503d3d1dd3eSPeeter Must #define KEY_VIDEOPHONE 0x1a0 /* Media Select Video Phone */ 504d3d1dd3eSPeeter Must #define KEY_GAMES 0x1a1 /* Media Select Games */ 505d3d1dd3eSPeeter Must #define KEY_ZOOMIN 0x1a2 /* AC Zoom In */ 506d3d1dd3eSPeeter Must #define KEY_ZOOMOUT 0x1a3 /* AC Zoom Out */ 507d3d1dd3eSPeeter Must #define KEY_ZOOMRESET 0x1a4 /* AC Zoom */ 508d3d1dd3eSPeeter Must #define KEY_WORDPROCESSOR 0x1a5 /* AL Word Processor */ 509d3d1dd3eSPeeter Must #define KEY_EDITOR 0x1a6 /* AL Text Editor */ 510d3d1dd3eSPeeter Must #define KEY_SPREADSHEET 0x1a7 /* AL Spreadsheet */ 511d3d1dd3eSPeeter Must #define KEY_GRAPHICSEDITOR 0x1a8 /* AL Graphics Editor */ 512d3d1dd3eSPeeter Must #define KEY_PRESENTATION 0x1a9 /* AL Presentation App */ 513d3d1dd3eSPeeter Must #define KEY_DATABASE 0x1aa /* AL Database App */ 514d3d1dd3eSPeeter Must #define KEY_NEWS 0x1ab /* AL Newsreader */ 515d3d1dd3eSPeeter Must #define KEY_VOICEMAIL 0x1ac /* AL Voicemail */ 516d3d1dd3eSPeeter Must #define KEY_ADDRESSBOOK 0x1ad /* AL Contacts/Address Book */ 517d3d1dd3eSPeeter Must #define KEY_MESSENGER 0x1ae /* AL Instant Messaging */ 518d3d1dd3eSPeeter Must #define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */ 519d3d1dd3eSPeeter Must #define KEY_BRIGHTNESS_TOGGLE KEY_DISPLAYTOGGLE 520d3d1dd3eSPeeter Must #define KEY_SPELLCHECK 0x1b0 /* AL Spell Check */ 521d3d1dd3eSPeeter Must #define KEY_LOGOFF 0x1b1 /* AL Logoff */ 522d3d1dd3eSPeeter Must 523d3d1dd3eSPeeter Must #define KEY_DOLLAR 0x1b2 524d3d1dd3eSPeeter Must #define KEY_EURO 0x1b3 525d3d1dd3eSPeeter Must 526d3d1dd3eSPeeter Must #define KEY_FRAMEBACK 0x1b4 /* Consumer - transport controls */ 527d3d1dd3eSPeeter Must #define KEY_FRAMEFORWARD 0x1b5 528d3d1dd3eSPeeter Must #define KEY_CONTEXT_MENU 0x1b6 /* GenDesc - system context menu */ 529d3d1dd3eSPeeter Must #define KEY_MEDIA_REPEAT 0x1b7 /* Consumer - transport control */ 530d3d1dd3eSPeeter Must #define KEY_10CHANNELSUP 0x1b8 /* 10 channels up (10+) */ 531d3d1dd3eSPeeter Must #define KEY_10CHANNELSDOWN 0x1b9 /* 10 channels down (10-) */ 532d3d1dd3eSPeeter Must #define KEY_IMAGES 0x1ba /* AL Image Browser */ 533*a162a738SMichael Neumann #define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */ 534*a162a738SMichael Neumann #define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */ 535*a162a738SMichael Neumann #define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */ 536d3d1dd3eSPeeter Must 537d3d1dd3eSPeeter Must #define KEY_DEL_EOL 0x1c0 538d3d1dd3eSPeeter Must #define KEY_DEL_EOS 0x1c1 539d3d1dd3eSPeeter Must #define KEY_INS_LINE 0x1c2 540d3d1dd3eSPeeter Must #define KEY_DEL_LINE 0x1c3 541d3d1dd3eSPeeter Must 542d3d1dd3eSPeeter Must #define KEY_FN 0x1d0 543d3d1dd3eSPeeter Must #define KEY_FN_ESC 0x1d1 544d3d1dd3eSPeeter Must #define KEY_FN_F1 0x1d2 545d3d1dd3eSPeeter Must #define KEY_FN_F2 0x1d3 546d3d1dd3eSPeeter Must #define KEY_FN_F3 0x1d4 547d3d1dd3eSPeeter Must #define KEY_FN_F4 0x1d5 548d3d1dd3eSPeeter Must #define KEY_FN_F5 0x1d6 549d3d1dd3eSPeeter Must #define KEY_FN_F6 0x1d7 550d3d1dd3eSPeeter Must #define KEY_FN_F7 0x1d8 551d3d1dd3eSPeeter Must #define KEY_FN_F8 0x1d9 552d3d1dd3eSPeeter Must #define KEY_FN_F9 0x1da 553d3d1dd3eSPeeter Must #define KEY_FN_F10 0x1db 554d3d1dd3eSPeeter Must #define KEY_FN_F11 0x1dc 555d3d1dd3eSPeeter Must #define KEY_FN_F12 0x1dd 556d3d1dd3eSPeeter Must #define KEY_FN_1 0x1de 557d3d1dd3eSPeeter Must #define KEY_FN_2 0x1df 558d3d1dd3eSPeeter Must #define KEY_FN_D 0x1e0 559d3d1dd3eSPeeter Must #define KEY_FN_E 0x1e1 560d3d1dd3eSPeeter Must #define KEY_FN_F 0x1e2 561d3d1dd3eSPeeter Must #define KEY_FN_S 0x1e3 562d3d1dd3eSPeeter Must #define KEY_FN_B 0x1e4 563*a162a738SMichael Neumann #define KEY_FN_RIGHT_SHIFT 0x1e5 564d3d1dd3eSPeeter Must 565d3d1dd3eSPeeter Must #define KEY_BRL_DOT1 0x1f1 566d3d1dd3eSPeeter Must #define KEY_BRL_DOT2 0x1f2 567d3d1dd3eSPeeter Must #define KEY_BRL_DOT3 0x1f3 568d3d1dd3eSPeeter Must #define KEY_BRL_DOT4 0x1f4 569d3d1dd3eSPeeter Must #define KEY_BRL_DOT5 0x1f5 570d3d1dd3eSPeeter Must #define KEY_BRL_DOT6 0x1f6 571d3d1dd3eSPeeter Must #define KEY_BRL_DOT7 0x1f7 572d3d1dd3eSPeeter Must #define KEY_BRL_DOT8 0x1f8 573d3d1dd3eSPeeter Must #define KEY_BRL_DOT9 0x1f9 574d3d1dd3eSPeeter Must #define KEY_BRL_DOT10 0x1fa 575d3d1dd3eSPeeter Must 576d3d1dd3eSPeeter Must #define KEY_NUMERIC_0 0x200 /* used by phones, remote controls, */ 577d3d1dd3eSPeeter Must #define KEY_NUMERIC_1 0x201 /* and other keypads */ 578d3d1dd3eSPeeter Must #define KEY_NUMERIC_2 0x202 579d3d1dd3eSPeeter Must #define KEY_NUMERIC_3 0x203 580d3d1dd3eSPeeter Must #define KEY_NUMERIC_4 0x204 581d3d1dd3eSPeeter Must #define KEY_NUMERIC_5 0x205 582d3d1dd3eSPeeter Must #define KEY_NUMERIC_6 0x206 583d3d1dd3eSPeeter Must #define KEY_NUMERIC_7 0x207 584d3d1dd3eSPeeter Must #define KEY_NUMERIC_8 0x208 585d3d1dd3eSPeeter Must #define KEY_NUMERIC_9 0x209 586d3d1dd3eSPeeter Must #define KEY_NUMERIC_STAR 0x20a 587d3d1dd3eSPeeter Must #define KEY_NUMERIC_POUND 0x20b 588d3d1dd3eSPeeter Must #define KEY_NUMERIC_A 0x20c /* Phone key A - HUT Telephony 0xb9 */ 589d3d1dd3eSPeeter Must #define KEY_NUMERIC_B 0x20d 590d3d1dd3eSPeeter Must #define KEY_NUMERIC_C 0x20e 591d3d1dd3eSPeeter Must #define KEY_NUMERIC_D 0x20f 592d3d1dd3eSPeeter Must 593d3d1dd3eSPeeter Must #define KEY_CAMERA_FOCUS 0x210 594d3d1dd3eSPeeter Must #define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ 595d3d1dd3eSPeeter Must 596d3d1dd3eSPeeter Must #define KEY_TOUCHPAD_TOGGLE 0x212 /* Request switch touchpad on or off */ 597d3d1dd3eSPeeter Must #define KEY_TOUCHPAD_ON 0x213 598d3d1dd3eSPeeter Must #define KEY_TOUCHPAD_OFF 0x214 599d3d1dd3eSPeeter Must 600d3d1dd3eSPeeter Must #define KEY_CAMERA_ZOOMIN 0x215 601d3d1dd3eSPeeter Must #define KEY_CAMERA_ZOOMOUT 0x216 602d3d1dd3eSPeeter Must #define KEY_CAMERA_UP 0x217 603d3d1dd3eSPeeter Must #define KEY_CAMERA_DOWN 0x218 604d3d1dd3eSPeeter Must #define KEY_CAMERA_LEFT 0x219 605d3d1dd3eSPeeter Must #define KEY_CAMERA_RIGHT 0x21a 606d3d1dd3eSPeeter Must 607d3d1dd3eSPeeter Must #define KEY_ATTENDANT_ON 0x21b 608d3d1dd3eSPeeter Must #define KEY_ATTENDANT_OFF 0x21c 609d3d1dd3eSPeeter Must #define KEY_ATTENDANT_TOGGLE 0x21d /* Attendant call on or off */ 610d3d1dd3eSPeeter Must #define KEY_LIGHTS_TOGGLE 0x21e /* Reading light on or off */ 611d3d1dd3eSPeeter Must 612d3d1dd3eSPeeter Must #define BTN_DPAD_UP 0x220 613d3d1dd3eSPeeter Must #define BTN_DPAD_DOWN 0x221 614d3d1dd3eSPeeter Must #define BTN_DPAD_LEFT 0x222 615d3d1dd3eSPeeter Must #define BTN_DPAD_RIGHT 0x223 616d3d1dd3eSPeeter Must 617d3d1dd3eSPeeter Must #define KEY_ALS_TOGGLE 0x230 /* Ambient light sensor */ 618d29a2431SPeeter Must #define KEY_ROTATE_LOCK_TOGGLE 0x231 /* Display rotation lock */ 619d3d1dd3eSPeeter Must 620d3d1dd3eSPeeter Must #define KEY_BUTTONCONFIG 0x240 /* AL Button Configuration */ 621d3d1dd3eSPeeter Must #define KEY_TASKMANAGER 0x241 /* AL Task/Project Manager */ 622d3d1dd3eSPeeter Must #define KEY_JOURNAL 0x242 /* AL Log/Journal/Timecard */ 623d3d1dd3eSPeeter Must #define KEY_CONTROLPANEL 0x243 /* AL Control Panel */ 624d3d1dd3eSPeeter Must #define KEY_APPSELECT 0x244 /* AL Select Task/Application */ 625d3d1dd3eSPeeter Must #define KEY_SCREENSAVER 0x245 /* AL Screen Saver */ 626d3d1dd3eSPeeter Must #define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */ 6274431ffa1SPeeter Must #define KEY_ASSISTANT 0x247 /* AL Context-aware desktop assistant */ 628*a162a738SMichael Neumann #define KEY_KBD_LAYOUT_NEXT 0x248 /* AC Next Keyboard Layout Select */ 629*a162a738SMichael Neumann #define KEY_EMOJI_PICKER 0x249 /* Show/hide emoji picker (HUTRR101) */ 630*a162a738SMichael Neumann #define KEY_DICTATE 0x24a /* Start or Stop Voice Dictation Session (HUTRR99) */ 631*a162a738SMichael Neumann #define KEY_CAMERA_ACCESS_ENABLE 0x24b /* Enables programmatic access to camera devices. (HUTRR72) */ 632*a162a738SMichael Neumann #define KEY_CAMERA_ACCESS_DISABLE 0x24c /* Disables programmatic access to camera devices. (HUTRR72) */ 633*a162a738SMichael Neumann #define KEY_CAMERA_ACCESS_TOGGLE 0x24d /* Toggles the current state of the camera access control. (HUTRR72) */ 634d3d1dd3eSPeeter Must 635d3d1dd3eSPeeter Must #define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */ 636d3d1dd3eSPeeter Must #define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */ 637d3d1dd3eSPeeter Must 638d3d1dd3eSPeeter Must #define KEY_KBDINPUTASSIST_PREV 0x260 639d3d1dd3eSPeeter Must #define KEY_KBDINPUTASSIST_NEXT 0x261 640d3d1dd3eSPeeter Must #define KEY_KBDINPUTASSIST_PREVGROUP 0x262 641d3d1dd3eSPeeter Must #define KEY_KBDINPUTASSIST_NEXTGROUP 0x263 642d3d1dd3eSPeeter Must #define KEY_KBDINPUTASSIST_ACCEPT 0x264 643d3d1dd3eSPeeter Must #define KEY_KBDINPUTASSIST_CANCEL 0x265 644d3d1dd3eSPeeter Must 6454431ffa1SPeeter Must /* Diagonal movement keys */ 6464431ffa1SPeeter Must #define KEY_RIGHT_UP 0x266 6474431ffa1SPeeter Must #define KEY_RIGHT_DOWN 0x267 6484431ffa1SPeeter Must #define KEY_LEFT_UP 0x268 6494431ffa1SPeeter Must #define KEY_LEFT_DOWN 0x269 6504431ffa1SPeeter Must 6514431ffa1SPeeter Must #define KEY_ROOT_MENU 0x26a /* Show Device's Root Menu */ 6524431ffa1SPeeter Must /* Show Top Menu of the Media (e.g. DVD) */ 6534431ffa1SPeeter Must #define KEY_MEDIA_TOP_MENU 0x26b 6544431ffa1SPeeter Must #define KEY_NUMERIC_11 0x26c 6554431ffa1SPeeter Must #define KEY_NUMERIC_12 0x26d 6564431ffa1SPeeter Must /* 6574431ffa1SPeeter Must * Toggle Audio Description: refers to an audio service that helps blind and 6584431ffa1SPeeter Must * visually impaired consumers understand the action in a program. Note: in 6594431ffa1SPeeter Must * some countries this is referred to as "Video Description". 6604431ffa1SPeeter Must */ 6614431ffa1SPeeter Must #define KEY_AUDIO_DESC 0x26e 6624431ffa1SPeeter Must #define KEY_3D_MODE 0x26f 6634431ffa1SPeeter Must #define KEY_NEXT_FAVORITE 0x270 6644431ffa1SPeeter Must #define KEY_STOP_RECORD 0x271 6654431ffa1SPeeter Must #define KEY_PAUSE_RECORD 0x272 6664431ffa1SPeeter Must #define KEY_VOD 0x273 /* Video on Demand */ 6674431ffa1SPeeter Must #define KEY_UNMUTE 0x274 6684431ffa1SPeeter Must #define KEY_FASTREVERSE 0x275 6694431ffa1SPeeter Must #define KEY_SLOWREVERSE 0x276 6704431ffa1SPeeter Must /* 6714431ffa1SPeeter Must * Control a data application associated with the currently viewed channel, 6724431ffa1SPeeter Must * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.) 6734431ffa1SPeeter Must */ 6744431ffa1SPeeter Must #define KEY_DATA 0x277 6754431ffa1SPeeter Must #define KEY_ONSCREEN_KEYBOARD 0x278 676*a162a738SMichael Neumann /* Electronic privacy screen control */ 677*a162a738SMichael Neumann #define KEY_PRIVACY_SCREEN_TOGGLE 0x279 678*a162a738SMichael Neumann 679*a162a738SMichael Neumann /* Select an area of screen to be copied */ 680*a162a738SMichael Neumann #define KEY_SELECTIVE_SCREENSHOT 0x27a 681*a162a738SMichael Neumann 682*a162a738SMichael Neumann /* Move the focus to the next or previous user controllable element within a UI container */ 683*a162a738SMichael Neumann #define KEY_NEXT_ELEMENT 0x27b 684*a162a738SMichael Neumann #define KEY_PREVIOUS_ELEMENT 0x27c 685*a162a738SMichael Neumann 686*a162a738SMichael Neumann /* Toggle Autopilot engagement */ 687*a162a738SMichael Neumann #define KEY_AUTOPILOT_ENGAGE_TOGGLE 0x27d 688*a162a738SMichael Neumann 689*a162a738SMichael Neumann /* Shortcut Keys */ 690*a162a738SMichael Neumann #define KEY_MARK_WAYPOINT 0x27e 691*a162a738SMichael Neumann #define KEY_SOS 0x27f 692*a162a738SMichael Neumann #define KEY_NAV_CHART 0x280 693*a162a738SMichael Neumann #define KEY_FISHING_CHART 0x281 694*a162a738SMichael Neumann #define KEY_SINGLE_RANGE_RADAR 0x282 695*a162a738SMichael Neumann #define KEY_DUAL_RANGE_RADAR 0x283 696*a162a738SMichael Neumann #define KEY_RADAR_OVERLAY 0x284 697*a162a738SMichael Neumann #define KEY_TRADITIONAL_SONAR 0x285 698*a162a738SMichael Neumann #define KEY_CLEARVU_SONAR 0x286 699*a162a738SMichael Neumann #define KEY_SIDEVU_SONAR 0x287 700*a162a738SMichael Neumann #define KEY_NAV_INFO 0x288 701*a162a738SMichael Neumann #define KEY_BRIGHTNESS_MENU 0x289 702*a162a738SMichael Neumann 703*a162a738SMichael Neumann /* 704*a162a738SMichael Neumann * Some keyboards have keys which do not have a defined meaning, these keys 705*a162a738SMichael Neumann * are intended to be programmed / bound to macros by the user. For most 706*a162a738SMichael Neumann * keyboards with these macro-keys the key-sequence to inject, or action to 707*a162a738SMichael Neumann * take, is all handled by software on the host side. So from the kernel's 708*a162a738SMichael Neumann * point of view these are just normal keys. 709*a162a738SMichael Neumann * 710*a162a738SMichael Neumann * The KEY_MACRO# codes below are intended for such keys, which may be labeled 711*a162a738SMichael Neumann * e.g. G1-G18, or S1 - S30. The KEY_MACRO# codes MUST NOT be used for keys 712*a162a738SMichael Neumann * where the marking on the key does indicate a defined meaning / purpose. 713*a162a738SMichael Neumann * 714*a162a738SMichael Neumann * The KEY_MACRO# codes MUST also NOT be used as fallback for when no existing 715*a162a738SMichael Neumann * KEY_FOO define matches the marking / purpose. In this case a new KEY_FOO 716*a162a738SMichael Neumann * define MUST be added. 717*a162a738SMichael Neumann */ 718*a162a738SMichael Neumann #define KEY_MACRO1 0x290 719*a162a738SMichael Neumann #define KEY_MACRO2 0x291 720*a162a738SMichael Neumann #define KEY_MACRO3 0x292 721*a162a738SMichael Neumann #define KEY_MACRO4 0x293 722*a162a738SMichael Neumann #define KEY_MACRO5 0x294 723*a162a738SMichael Neumann #define KEY_MACRO6 0x295 724*a162a738SMichael Neumann #define KEY_MACRO7 0x296 725*a162a738SMichael Neumann #define KEY_MACRO8 0x297 726*a162a738SMichael Neumann #define KEY_MACRO9 0x298 727*a162a738SMichael Neumann #define KEY_MACRO10 0x299 728*a162a738SMichael Neumann #define KEY_MACRO11 0x29a 729*a162a738SMichael Neumann #define KEY_MACRO12 0x29b 730*a162a738SMichael Neumann #define KEY_MACRO13 0x29c 731*a162a738SMichael Neumann #define KEY_MACRO14 0x29d 732*a162a738SMichael Neumann #define KEY_MACRO15 0x29e 733*a162a738SMichael Neumann #define KEY_MACRO16 0x29f 734*a162a738SMichael Neumann #define KEY_MACRO17 0x2a0 735*a162a738SMichael Neumann #define KEY_MACRO18 0x2a1 736*a162a738SMichael Neumann #define KEY_MACRO19 0x2a2 737*a162a738SMichael Neumann #define KEY_MACRO20 0x2a3 738*a162a738SMichael Neumann #define KEY_MACRO21 0x2a4 739*a162a738SMichael Neumann #define KEY_MACRO22 0x2a5 740*a162a738SMichael Neumann #define KEY_MACRO23 0x2a6 741*a162a738SMichael Neumann #define KEY_MACRO24 0x2a7 742*a162a738SMichael Neumann #define KEY_MACRO25 0x2a8 743*a162a738SMichael Neumann #define KEY_MACRO26 0x2a9 744*a162a738SMichael Neumann #define KEY_MACRO27 0x2aa 745*a162a738SMichael Neumann #define KEY_MACRO28 0x2ab 746*a162a738SMichael Neumann #define KEY_MACRO29 0x2ac 747*a162a738SMichael Neumann #define KEY_MACRO30 0x2ad 748*a162a738SMichael Neumann 749*a162a738SMichael Neumann /* 750*a162a738SMichael Neumann * Some keyboards with the macro-keys described above have some extra keys 751*a162a738SMichael Neumann * for controlling the host-side software responsible for the macro handling: 752*a162a738SMichael Neumann * -A macro recording start/stop key. Note that not all keyboards which emit 753*a162a738SMichael Neumann * KEY_MACRO_RECORD_START will also emit KEY_MACRO_RECORD_STOP if 754*a162a738SMichael Neumann * KEY_MACRO_RECORD_STOP is not advertised, then KEY_MACRO_RECORD_START 755*a162a738SMichael Neumann * should be interpreted as a recording start/stop toggle; 756*a162a738SMichael Neumann * -Keys for switching between different macro (pre)sets, either a key for 757*a162a738SMichael Neumann * cycling through the configured presets or keys to directly select a preset. 758*a162a738SMichael Neumann */ 759*a162a738SMichael Neumann #define KEY_MACRO_RECORD_START 0x2b0 760*a162a738SMichael Neumann #define KEY_MACRO_RECORD_STOP 0x2b1 761*a162a738SMichael Neumann #define KEY_MACRO_PRESET_CYCLE 0x2b2 762*a162a738SMichael Neumann #define KEY_MACRO_PRESET1 0x2b3 763*a162a738SMichael Neumann #define KEY_MACRO_PRESET2 0x2b4 764*a162a738SMichael Neumann #define KEY_MACRO_PRESET3 0x2b5 765*a162a738SMichael Neumann 766*a162a738SMichael Neumann /* 767*a162a738SMichael Neumann * Some keyboards have a buildin LCD panel where the contents are controlled 768*a162a738SMichael Neumann * by the host. Often these have a number of keys directly below the LCD 769*a162a738SMichael Neumann * intended for controlling a menu shown on the LCD. These keys often don't 770*a162a738SMichael Neumann * have any labeling so we just name them KEY_KBD_LCD_MENU# 771*a162a738SMichael Neumann */ 772*a162a738SMichael Neumann #define KEY_KBD_LCD_MENU1 0x2b8 773*a162a738SMichael Neumann #define KEY_KBD_LCD_MENU2 0x2b9 774*a162a738SMichael Neumann #define KEY_KBD_LCD_MENU3 0x2ba 775*a162a738SMichael Neumann #define KEY_KBD_LCD_MENU4 0x2bb 776*a162a738SMichael Neumann #define KEY_KBD_LCD_MENU5 0x2bc 7774431ffa1SPeeter Must 778d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY 0x2c0 779d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY1 0x2c0 780d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY2 0x2c1 781d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY3 0x2c2 782d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY4 0x2c3 783d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY5 0x2c4 784d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY6 0x2c5 785d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY7 0x2c6 786d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY8 0x2c7 787d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY9 0x2c8 788d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY10 0x2c9 789d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY11 0x2ca 790d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY12 0x2cb 791d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY13 0x2cc 792d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY14 0x2cd 793d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY15 0x2ce 794d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY16 0x2cf 795d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY17 0x2d0 796d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY18 0x2d1 797d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY19 0x2d2 798d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY20 0x2d3 799d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY21 0x2d4 800d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY22 0x2d5 801d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY23 0x2d6 802d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY24 0x2d7 803d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY25 0x2d8 804d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY26 0x2d9 805d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY27 0x2da 806d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY28 0x2db 807d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY29 0x2dc 808d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY30 0x2dd 809d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY31 0x2de 810d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY32 0x2df 811d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY33 0x2e0 812d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY34 0x2e1 813d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY35 0x2e2 814d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY36 0x2e3 815d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY37 0x2e4 816d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY38 0x2e5 817d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY39 0x2e6 818d3d1dd3eSPeeter Must #define BTN_TRIGGER_HAPPY40 0x2e7 819d3d1dd3eSPeeter Must 820d3d1dd3eSPeeter Must /* We avoid low common keys in module aliases so they don't get huge. */ 821d3d1dd3eSPeeter Must #define KEY_MIN_INTERESTING KEY_MUTE 822d3d1dd3eSPeeter Must #define KEY_MAX 0x2ff 823d3d1dd3eSPeeter Must #define KEY_CNT (KEY_MAX+1) 824d3d1dd3eSPeeter Must 825d3d1dd3eSPeeter Must /* 826d3d1dd3eSPeeter Must * Relative axes 827d3d1dd3eSPeeter Must */ 828d3d1dd3eSPeeter Must 829d3d1dd3eSPeeter Must #define REL_X 0x00 830d3d1dd3eSPeeter Must #define REL_Y 0x01 831d3d1dd3eSPeeter Must #define REL_Z 0x02 832d3d1dd3eSPeeter Must #define REL_RX 0x03 833d3d1dd3eSPeeter Must #define REL_RY 0x04 834d3d1dd3eSPeeter Must #define REL_RZ 0x05 835d3d1dd3eSPeeter Must #define REL_HWHEEL 0x06 836d3d1dd3eSPeeter Must #define REL_DIAL 0x07 837d3d1dd3eSPeeter Must #define REL_WHEEL 0x08 838d3d1dd3eSPeeter Must #define REL_MISC 0x09 839*a162a738SMichael Neumann /* 840*a162a738SMichael Neumann * 0x0a is reserved and should not be used in input drivers. 841*a162a738SMichael Neumann * It was used by HID as REL_MISC+1 and userspace needs to detect if 842*a162a738SMichael Neumann * the next REL_* event is correct or is just REL_MISC + n. 843*a162a738SMichael Neumann * We define here REL_RESERVED so userspace can rely on it and detect 844*a162a738SMichael Neumann * the situation described above. 845*a162a738SMichael Neumann */ 846*a162a738SMichael Neumann #define REL_RESERVED 0x0a 847*a162a738SMichael Neumann #define REL_WHEEL_HI_RES 0x0b 848*a162a738SMichael Neumann #define REL_HWHEEL_HI_RES 0x0c 849d3d1dd3eSPeeter Must #define REL_MAX 0x0f 850d3d1dd3eSPeeter Must #define REL_CNT (REL_MAX+1) 851d3d1dd3eSPeeter Must 852d3d1dd3eSPeeter Must /* 853d3d1dd3eSPeeter Must * Absolute axes 854d3d1dd3eSPeeter Must */ 855d3d1dd3eSPeeter Must 856d3d1dd3eSPeeter Must #define ABS_X 0x00 857d3d1dd3eSPeeter Must #define ABS_Y 0x01 858d3d1dd3eSPeeter Must #define ABS_Z 0x02 859d3d1dd3eSPeeter Must #define ABS_RX 0x03 860d3d1dd3eSPeeter Must #define ABS_RY 0x04 861d3d1dd3eSPeeter Must #define ABS_RZ 0x05 862d3d1dd3eSPeeter Must #define ABS_THROTTLE 0x06 863d3d1dd3eSPeeter Must #define ABS_RUDDER 0x07 864d3d1dd3eSPeeter Must #define ABS_WHEEL 0x08 865d3d1dd3eSPeeter Must #define ABS_GAS 0x09 866d3d1dd3eSPeeter Must #define ABS_BRAKE 0x0a 867d3d1dd3eSPeeter Must #define ABS_HAT0X 0x10 868d3d1dd3eSPeeter Must #define ABS_HAT0Y 0x11 869d3d1dd3eSPeeter Must #define ABS_HAT1X 0x12 870d3d1dd3eSPeeter Must #define ABS_HAT1Y 0x13 871d3d1dd3eSPeeter Must #define ABS_HAT2X 0x14 872d3d1dd3eSPeeter Must #define ABS_HAT2Y 0x15 873d3d1dd3eSPeeter Must #define ABS_HAT3X 0x16 874d3d1dd3eSPeeter Must #define ABS_HAT3Y 0x17 875d3d1dd3eSPeeter Must #define ABS_PRESSURE 0x18 876d3d1dd3eSPeeter Must #define ABS_DISTANCE 0x19 877d3d1dd3eSPeeter Must #define ABS_TILT_X 0x1a 878d3d1dd3eSPeeter Must #define ABS_TILT_Y 0x1b 879d3d1dd3eSPeeter Must #define ABS_TOOL_WIDTH 0x1c 880d3d1dd3eSPeeter Must 881d3d1dd3eSPeeter Must #define ABS_VOLUME 0x20 882*a162a738SMichael Neumann #define ABS_PROFILE 0x21 883d3d1dd3eSPeeter Must 884d3d1dd3eSPeeter Must #define ABS_MISC 0x28 885d3d1dd3eSPeeter Must 886*a162a738SMichael Neumann /* 887*a162a738SMichael Neumann * 0x2e is reserved and should not be used in input drivers. 888*a162a738SMichael Neumann * It was used by HID as ABS_MISC+6 and userspace needs to detect if 889*a162a738SMichael Neumann * the next ABS_* event is correct or is just ABS_MISC + n. 890*a162a738SMichael Neumann * We define here ABS_RESERVED so userspace can rely on it and detect 891*a162a738SMichael Neumann * the situation described above. 892*a162a738SMichael Neumann */ 893*a162a738SMichael Neumann #define ABS_RESERVED 0x2e 894*a162a738SMichael Neumann 895d3d1dd3eSPeeter Must #define ABS_MT_SLOT 0x2f /* MT slot being modified */ 896d3d1dd3eSPeeter Must #define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */ 897d3d1dd3eSPeeter Must #define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */ 898d3d1dd3eSPeeter Must #define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */ 899d3d1dd3eSPeeter Must #define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */ 900d3d1dd3eSPeeter Must #define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */ 901d3d1dd3eSPeeter Must #define ABS_MT_POSITION_X 0x35 /* Center X touch position */ 902d3d1dd3eSPeeter Must #define ABS_MT_POSITION_Y 0x36 /* Center Y touch position */ 903d3d1dd3eSPeeter Must #define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */ 904d3d1dd3eSPeeter Must #define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */ 905d3d1dd3eSPeeter Must #define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */ 906d3d1dd3eSPeeter Must #define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */ 907d3d1dd3eSPeeter Must #define ABS_MT_DISTANCE 0x3b /* Contact hover distance */ 908d3d1dd3eSPeeter Must #define ABS_MT_TOOL_X 0x3c /* Center X tool position */ 909d3d1dd3eSPeeter Must #define ABS_MT_TOOL_Y 0x3d /* Center Y tool position */ 910d3d1dd3eSPeeter Must 911d3d1dd3eSPeeter Must #define ABS_MAX 0x3f 912d3d1dd3eSPeeter Must #define ABS_CNT (ABS_MAX+1) 913d3d1dd3eSPeeter Must 914d3d1dd3eSPeeter Must /* 915d3d1dd3eSPeeter Must * Switch events 916d3d1dd3eSPeeter Must */ 917d3d1dd3eSPeeter Must 918d3d1dd3eSPeeter Must #define SW_LID 0x00 /* set = lid shut */ 919d3d1dd3eSPeeter Must #define SW_TABLET_MODE 0x01 /* set = tablet mode */ 920d3d1dd3eSPeeter Must #define SW_HEADPHONE_INSERT 0x02 /* set = inserted */ 921d3d1dd3eSPeeter Must #define SW_RFKILL_ALL 0x03 /* rfkill master switch, type "any" 922d3d1dd3eSPeeter Must set = radio enabled */ 923d3d1dd3eSPeeter Must #define SW_RADIO SW_RFKILL_ALL /* deprecated */ 924d3d1dd3eSPeeter Must #define SW_MICROPHONE_INSERT 0x04 /* set = inserted */ 925d3d1dd3eSPeeter Must #define SW_DOCK 0x05 /* set = plugged into dock */ 926d3d1dd3eSPeeter Must #define SW_LINEOUT_INSERT 0x06 /* set = inserted */ 927d3d1dd3eSPeeter Must #define SW_JACK_PHYSICAL_INSERT 0x07 /* set = mechanical switch set */ 928d3d1dd3eSPeeter Must #define SW_VIDEOOUT_INSERT 0x08 /* set = inserted */ 929d3d1dd3eSPeeter Must #define SW_CAMERA_LENS_COVER 0x09 /* set = lens covered */ 930d3d1dd3eSPeeter Must #define SW_KEYPAD_SLIDE 0x0a /* set = keypad slide out */ 931d3d1dd3eSPeeter Must #define SW_FRONT_PROXIMITY 0x0b /* set = front proximity sensor active */ 932d3d1dd3eSPeeter Must #define SW_ROTATE_LOCK 0x0c /* set = rotate locked/disabled */ 933d3d1dd3eSPeeter Must #define SW_LINEIN_INSERT 0x0d /* set = inserted */ 934d3d1dd3eSPeeter Must #define SW_MUTE_DEVICE 0x0e /* set = device disabled */ 935d29a2431SPeeter Must #define SW_PEN_INSERTED 0x0f /* set = pen inserted */ 936*a162a738SMichael Neumann #define SW_MACHINE_COVER 0x10 /* set = cover closed */ 937*a162a738SMichael Neumann #define SW_MAX 0x10 938d3d1dd3eSPeeter Must #define SW_CNT (SW_MAX+1) 939d3d1dd3eSPeeter Must 940d3d1dd3eSPeeter Must /* 941d3d1dd3eSPeeter Must * Misc events 942d3d1dd3eSPeeter Must */ 943d3d1dd3eSPeeter Must 944d3d1dd3eSPeeter Must #define MSC_SERIAL 0x00 945d3d1dd3eSPeeter Must #define MSC_PULSELED 0x01 946d3d1dd3eSPeeter Must #define MSC_GESTURE 0x02 947d3d1dd3eSPeeter Must #define MSC_RAW 0x03 948d3d1dd3eSPeeter Must #define MSC_SCAN 0x04 949d3d1dd3eSPeeter Must #define MSC_TIMESTAMP 0x05 950d3d1dd3eSPeeter Must #define MSC_MAX 0x07 951d3d1dd3eSPeeter Must #define MSC_CNT (MSC_MAX+1) 952d3d1dd3eSPeeter Must 953d3d1dd3eSPeeter Must /* 954d3d1dd3eSPeeter Must * LEDs 955d3d1dd3eSPeeter Must */ 956d3d1dd3eSPeeter Must 957d3d1dd3eSPeeter Must #define LED_NUML 0x00 958d3d1dd3eSPeeter Must #define LED_CAPSL 0x01 959d3d1dd3eSPeeter Must #define LED_SCROLLL 0x02 960d3d1dd3eSPeeter Must #define LED_COMPOSE 0x03 961d3d1dd3eSPeeter Must #define LED_KANA 0x04 962d3d1dd3eSPeeter Must #define LED_SLEEP 0x05 963d3d1dd3eSPeeter Must #define LED_SUSPEND 0x06 964d3d1dd3eSPeeter Must #define LED_MUTE 0x07 965d3d1dd3eSPeeter Must #define LED_MISC 0x08 966d3d1dd3eSPeeter Must #define LED_MAIL 0x09 967d3d1dd3eSPeeter Must #define LED_CHARGING 0x0a 968d3d1dd3eSPeeter Must #define LED_MAX 0x0f 969d3d1dd3eSPeeter Must #define LED_CNT (LED_MAX+1) 970d3d1dd3eSPeeter Must 971d3d1dd3eSPeeter Must /* 972d3d1dd3eSPeeter Must * Autorepeat values 973d3d1dd3eSPeeter Must */ 974d3d1dd3eSPeeter Must 975d3d1dd3eSPeeter Must #define REP_DELAY 0x00 976d3d1dd3eSPeeter Must #define REP_PERIOD 0x01 977d3d1dd3eSPeeter Must #define REP_MAX 0x01 978d3d1dd3eSPeeter Must #define REP_CNT (REP_MAX+1) 979d3d1dd3eSPeeter Must 980d3d1dd3eSPeeter Must /* 981d3d1dd3eSPeeter Must * Sounds 982d3d1dd3eSPeeter Must */ 983d3d1dd3eSPeeter Must 984d3d1dd3eSPeeter Must #define SND_CLICK 0x00 985d3d1dd3eSPeeter Must #define SND_BELL 0x01 986d3d1dd3eSPeeter Must #define SND_TONE 0x02 987d3d1dd3eSPeeter Must #define SND_MAX 0x07 988d3d1dd3eSPeeter Must #define SND_CNT (SND_MAX+1) 989d3d1dd3eSPeeter Must 990d3d1dd3eSPeeter Must #endif /* _EVDEV_INPUT_EVENT_CODES_H */ 991