Skip to content

Types

Types defined in the evdev module.

evdev.coreDevice ​

Open and manage input devices.

FieldTypeOptional
closefun(self): (ok:true?, err:string?)No
fdfun(self): (fd:evdev.fd?, err:string?)No
flushfun(self): (count:integer?, err:string?)No
get_repeatfun(self): (delay:integer?, period:integer?, err:string?)No
grabfun(self): (ok:true?, err:string?)No
is_openfun(self): booleanNo
pollfun(self): (ready:boolean?, err:string?)No
readfun(self): (event:evdev.event?, err:string?)No
set_repeatfun(self, delay:integer, period:integer): (ok:true?, err:string?)No
ungrabfun(self): (ok:true?, err:string?)No

evdev.coreUInput ​

Open virtual input device handle.

FieldTypeOptional
closefun(self): (ok:true?, err:string?)No
emitfun(self, type:evdev.ecodes.ev, code:integer, value:evdev.eventValue): (ok:true?, err:string?)No
get_repeatfun(self): (delay:integer?, period_or_err:(integer | string)?)No
infofun(self): (info:evdev.deviceInfo?, err:string?)No
is_openfun(self): booleanNo
set_repeatfun(self, delay:integer, period:integer): (ok:true?, err:string?)No
syncfun(self): (ok:true?, err:string?)No

evdev.deviceInfo ​

Input device metadata.

FieldTypeOptionalDescription
bustypeintegerNoBus type from the kernel input ID.
id_aliasesstring[]YesSymlink aliases under /dev/input/by-id, when available.
namestringYesDevice name reported by the kernel.
pathstringNoDevice node path.
path_aliasesstring[]YesSymlink aliases under /dev/input/by-path, when available.
physstringYesPhysical device path, when available.
productintegerNoProduct ID from the kernel input ID.
uniqstringYesUnique identifier string, when available.
vendorintegerNoVendor ID from the kernel input ID.
versionintegerNoHardware version from the kernel input ID.

evdev.ecodes.btn ​

NameValue
BTN_0256
BTN_1257
BTN_2258
BTN_3259
BTN_4260
BTN_5261
BTN_6262
BTN_7263
BTN_8264
BTN_9265
BTN_A304
BTN_B305
BTN_BACK278
BTN_BASE294
BTN_BASE2295
BTN_BASE3296
BTN_BASE4297
BTN_BASE5298
BTN_BASE6299
BTN_C306
BTN_DEAD303
BTN_DIGI320
BTN_DPAD_DOWN545
BTN_DPAD_LEFT546
BTN_DPAD_RIGHT547
BTN_DPAD_UP544
BTN_EAST305
BTN_EXTRA276
BTN_FORWARD277
BTN_GAMEPAD304
BTN_GEAR_DOWN336
BTN_GEAR_UP337
BTN_GRIPL548
BTN_GRIPL2550
BTN_GRIPR549
BTN_GRIPR2551
BTN_JOYSTICK288
BTN_LEFT272
BTN_MIDDLE274
BTN_MISC256
BTN_MODE316
BTN_MOUSE272
BTN_NORTH307
BTN_PINKIE293
BTN_RIGHT273
BTN_SELECT314
BTN_SIDE275
BTN_SOUTH304
BTN_START315
BTN_STYLUS331
BTN_STYLUS2332
BTN_STYLUS3329
BTN_TASK279
BTN_THUMB289
BTN_THUMB2290
BTN_THUMBL317
BTN_THUMBR318
BTN_TL310
BTN_TL2312
BTN_TOOL_AIRBRUSH324
BTN_TOOL_BRUSH322
BTN_TOOL_DOUBLETAP333
BTN_TOOL_FINGER325
BTN_TOOL_LENS327
BTN_TOOL_MOUSE326
BTN_TOOL_PEN320
BTN_TOOL_PENCIL323
BTN_TOOL_QUADTAP335
BTN_TOOL_QUINTTAP328
BTN_TOOL_RUBBER321
BTN_TOOL_TRIPLETAP334
BTN_TOP291
BTN_TOP2292
BTN_TOUCH330
BTN_TR311
BTN_TR2313
BTN_TRIGGER288
BTN_TRIGGER_HAPPY704
BTN_TRIGGER_HAPPY1704
BTN_TRIGGER_HAPPY10713
BTN_TRIGGER_HAPPY11714
BTN_TRIGGER_HAPPY12715
BTN_TRIGGER_HAPPY13716
BTN_TRIGGER_HAPPY14717
BTN_TRIGGER_HAPPY15718
BTN_TRIGGER_HAPPY16719
BTN_TRIGGER_HAPPY17720
BTN_TRIGGER_HAPPY18721
BTN_TRIGGER_HAPPY19722
BTN_TRIGGER_HAPPY2705
BTN_TRIGGER_HAPPY20723
BTN_TRIGGER_HAPPY21724
BTN_TRIGGER_HAPPY22725
BTN_TRIGGER_HAPPY23726
BTN_TRIGGER_HAPPY24727
BTN_TRIGGER_HAPPY25728
BTN_TRIGGER_HAPPY26729
BTN_TRIGGER_HAPPY27730
BTN_TRIGGER_HAPPY28731
BTN_TRIGGER_HAPPY29732
BTN_TRIGGER_HAPPY3706
BTN_TRIGGER_HAPPY30733
BTN_TRIGGER_HAPPY31734
BTN_TRIGGER_HAPPY32735
BTN_TRIGGER_HAPPY33736
BTN_TRIGGER_HAPPY34737
BTN_TRIGGER_HAPPY35738
BTN_TRIGGER_HAPPY36739
BTN_TRIGGER_HAPPY37740
BTN_TRIGGER_HAPPY38741
BTN_TRIGGER_HAPPY39742
BTN_TRIGGER_HAPPY4707
BTN_TRIGGER_HAPPY40743
BTN_TRIGGER_HAPPY5708
BTN_TRIGGER_HAPPY6709
BTN_TRIGGER_HAPPY7710
BTN_TRIGGER_HAPPY8711
BTN_TRIGGER_HAPPY9712
BTN_WEST308
BTN_WHEEL336
BTN_X307
BTN_Y308
BTN_Z309

evdev.ecodes.ev ​

NameValue
EV_ABS3
EV_CNT32
EV_FF21
EV_FF_STATUS23
EV_KEY1
EV_LED17
EV_MAX31
EV_MSC4
EV_PWR22
EV_REL2
EV_REP20
EV_SND18
EV_SW5
EV_SYN0

evdev.ecodes.key ​

NameValue
KEY_011
KEY_12
KEY_102ND86
KEY_10CHANNELSDOWN441
KEY_10CHANNELSUP440
KEY_23
KEY_34
KEY_3D_MODE623
KEY_45
KEY_56
KEY_67
KEY_78
KEY_89
KEY_910
KEY_A30
KEY_AB406
KEY_ACCESSIBILITY590
KEY_ACTION_ON_SELECTION596
KEY_ADDRESSBOOK429
KEY_AGAIN129
KEY_ALL_APPLICATIONS204
KEY_ALS_TOGGLE560
KEY_ALTERASE222
KEY_ANGLE371
KEY_APOSTROPHE40
KEY_APPSELECT580
KEY_ARCHIVE361
KEY_ASPECT_RATIO375
KEY_ASSISTANT583
KEY_ATTENDANT_OFF540
KEY_ATTENDANT_ON539
KEY_ATTENDANT_TOGGLE541
KEY_AUDIO392
KEY_AUDIO_DESC622
KEY_AUTOPILOT_ENGAGE_TOGGLE637
KEY_AUX390
KEY_B48
KEY_BACK158
KEY_BACKSLASH43
KEY_BACKSPACE14
KEY_BASSBOOST209
KEY_BATTERY236
KEY_BLUE401
KEY_BLUETOOTH237
KEY_BOOKMARKS156
KEY_BREAK411
KEY_BRIGHTNESS_CYCLE243
KEY_BRIGHTNESS_MAX593
KEY_BRIGHTNESS_MENU649
KEY_BRIGHTNESS_MIN592
KEY_BRIGHTNESS_TOGGLE431
KEY_BRIGHTNESSDOWN224
KEY_BRIGHTNESSUP225
KEY_BRL_DOT1497
KEY_BRL_DOT10506
KEY_BRL_DOT2498
KEY_BRL_DOT3499
KEY_BRL_DOT4500
KEY_BRL_DOT5501
KEY_BRL_DOT6502
KEY_BRL_DOT7503
KEY_BRL_DOT8504
KEY_BRL_DOT9505
KEY_BUTTONCONFIG576
KEY_C46
KEY_CALC140
KEY_CALENDAR397
KEY_CAMERA212
KEY_CAMERA_ACCESS_DISABLE588
KEY_CAMERA_ACCESS_ENABLE587
KEY_CAMERA_ACCESS_TOGGLE589
KEY_CAMERA_DOWN536
KEY_CAMERA_FOCUS528
KEY_CAMERA_LEFT537
KEY_CAMERA_RIGHT538
KEY_CAMERA_UP535
KEY_CAMERA_ZOOMIN533
KEY_CAMERA_ZOOMOUT534
KEY_CANCEL223
KEY_CAPSLOCK58
KEY_CD383
KEY_CHANNEL363
KEY_CHANNELDOWN403
KEY_CHANNELUP402
KEY_CHAT216
KEY_CLEAR355
KEY_CLEARVU_SONAR646
KEY_CLOSE206
KEY_CLOSECD160
KEY_CNT768
KEY_COFFEE152
KEY_COMMA51
KEY_COMPOSE127
KEY_COMPUTER157
KEY_CONFIG171
KEY_CONNECT218
KEY_CONTEXT_MENU438
KEY_CONTEXTUAL_INSERT597
KEY_CONTEXTUAL_QUERY598
KEY_CONTROLPANEL579
KEY_COPY133
KEY_CUT137
KEY_CYCLEWINDOWS154
KEY_D32
KEY_DASHBOARD204
KEY_DATA631
KEY_DATABASE426
KEY_DEL_EOL448
KEY_DEL_EOS449
KEY_DEL_LINE451
KEY_DELETE111
KEY_DELETEFILE146
KEY_DICTATE586
KEY_DIGITS413
KEY_DIRECTION153
KEY_DIRECTORY394
KEY_DISPLAY_OFF245
KEY_DISPLAYTOGGLE431
KEY_DO_NOT_DISTURB591
KEY_DOCUMENTS235
KEY_DOLLAR434
KEY_DOT52
KEY_DOWN108
KEY_DUAL_RANGE_RADAR643
KEY_DVD389
KEY_E18
KEY_EDIT176
KEY_EDITOR422
KEY_EJECTCD161
KEY_EJECTCLOSECD162
KEY_EMAIL215
KEY_EMOJI_PICKER585
KEY_END107
KEY_ENTER28
KEY_EPG365
KEY_EPRIVACY_SCREEN_OFF595
KEY_EPRIVACY_SCREEN_ON594
KEY_EQUAL13
KEY_ESC1
KEY_EURO435
KEY_EXIT174
KEY_F33
KEY_F159
KEY_F1068
KEY_F1187
KEY_F1288
KEY_F13183
KEY_F14184
KEY_F15185
KEY_F16186
KEY_F17187
KEY_F18188
KEY_F19189
KEY_F260
KEY_F20190
KEY_F21191
KEY_F22192
KEY_F23193
KEY_F24194
KEY_F361
KEY_F462
KEY_F563
KEY_F664
KEY_F765
KEY_F866
KEY_F967
KEY_FASTFORWARD208
KEY_FASTREVERSE629
KEY_FAVORITES364
KEY_FILE144
KEY_FINANCE219
KEY_FIND136
KEY_FIRST404
KEY_FISHING_CHART641
KEY_FN464
KEY_FN_1478
KEY_FN_2479
KEY_FN_B484
KEY_FN_D480
KEY_FN_E481
KEY_FN_ESC465
KEY_FN_F482
KEY_FN_F1466
KEY_FN_F10475
KEY_FN_F11476
KEY_FN_F12477
KEY_FN_F2467
KEY_FN_F3468
KEY_FN_F4469
KEY_FN_F5470
KEY_FN_F6471
KEY_FN_F7472
KEY_FN_F8473
KEY_FN_F9474
KEY_FN_RIGHT_SHIFT485
KEY_FN_S483
KEY_FORWARD159
KEY_FORWARDMAIL233
KEY_FRAMEBACK436
KEY_FRAMEFORWARD437
KEY_FRONT132
KEY_FULL_SCREEN372
KEY_G34
KEY_GAMES417
KEY_GOTO354
KEY_GRAPHICSEDITOR424
KEY_GRAVE41
KEY_GREEN399
KEY_H35
KEY_HANGEUL122
KEY_HANGUEL122
KEY_HANGUP_PHONE446
KEY_HANJA123
KEY_HELP138
KEY_HENKAN92
KEY_HIRAGANA91
KEY_HOME102
KEY_HOMEPAGE172
KEY_HP211
KEY_I23
KEY_IMAGES442
KEY_INFO358
KEY_INS_LINE450
KEY_INSERT110
KEY_ISO170
KEY_J36
KEY_JOURNAL578
KEY_K37
KEY_KATAKANA90
KEY_KATAKANAHIRAGANA93
KEY_KBD_LAYOUT_NEXT584
KEY_KBD_LCD_MENU1696
KEY_KBD_LCD_MENU2697
KEY_KBD_LCD_MENU3698
KEY_KBD_LCD_MENU4699
KEY_KBD_LCD_MENU5700
KEY_KBDILLUMDOWN229
KEY_KBDILLUMTOGGLE228
KEY_KBDILLUMUP230
KEY_KBDINPUTASSIST_ACCEPT612
KEY_KBDINPUTASSIST_CANCEL613
KEY_KBDINPUTASSIST_NEXT609
KEY_KBDINPUTASSIST_NEXTGROUP611
KEY_KBDINPUTASSIST_PREV608
KEY_KBDINPUTASSIST_PREVGROUP610
KEY_KEYBOARD374
KEY_KP082
KEY_KP179
KEY_KP280
KEY_KP381
KEY_KP475
KEY_KP576
KEY_KP677
KEY_KP771
KEY_KP872
KEY_KP973
KEY_KPASTERISK55
KEY_KPCOMMA121
KEY_KPDOT83
KEY_KPENTER96
KEY_KPEQUAL117
KEY_KPJPCOMMA95
KEY_KPLEFTPAREN179
KEY_KPMINUS74
KEY_KPPLUS78
KEY_KPPLUSMINUS118
KEY_KPRIGHTPAREN180
KEY_KPSLASH98
KEY_L38
KEY_LANGUAGE368
KEY_LAST405
KEY_LEFT105
KEY_LEFT_DOWN617
KEY_LEFT_UP616
KEY_LEFTALT56
KEY_LEFTBRACE26
KEY_LEFTCTRL29
KEY_LEFTMETA125
KEY_LEFTSHIFT42
KEY_LIGHTS_TOGGLE542
KEY_LINEFEED101
KEY_LINK_PHONE447
KEY_LIST395
KEY_LOGOFF433
KEY_M50
KEY_MACRO112
KEY_MACRO1656
KEY_MACRO10665
KEY_MACRO11666
KEY_MACRO12667
KEY_MACRO13668
KEY_MACRO14669
KEY_MACRO15670
KEY_MACRO16671
KEY_MACRO17672
KEY_MACRO18673
KEY_MACRO19674
KEY_MACRO2657
KEY_MACRO20675
KEY_MACRO21676
KEY_MACRO22677
KEY_MACRO23678
KEY_MACRO24679
KEY_MACRO25680
KEY_MACRO26681
KEY_MACRO27682
KEY_MACRO28683
KEY_MACRO29684
KEY_MACRO3658
KEY_MACRO30685
KEY_MACRO4659
KEY_MACRO5660
KEY_MACRO6661
KEY_MACRO7662
KEY_MACRO8663
KEY_MACRO9664
KEY_MACRO_PRESET1691
KEY_MACRO_PRESET2692
KEY_MACRO_PRESET3693
KEY_MACRO_PRESET_CYCLE690
KEY_MACRO_RECORD_START688
KEY_MACRO_RECORD_STOP689
KEY_MAIL155
KEY_MARK_WAYPOINT638
KEY_MAX767
KEY_MEDIA226
KEY_MEDIA_REPEAT439
KEY_MEDIA_TOP_MENU619
KEY_MEMO396
KEY_MENU139
KEY_MESSENGER430
KEY_MHP367
KEY_MICMUTE248
KEY_MIN_INTERESTING113
KEY_MINUS12
KEY_MODE373
KEY_MOVE175
KEY_MP3391
KEY_MSDOS151
KEY_MUHENKAN94
KEY_MUTE113
KEY_N49
KEY_NAV_CHART640
KEY_NAV_INFO648
KEY_NEW181
KEY_NEWS427
KEY_NEXT407
KEY_NEXT_ELEMENT635
KEY_NEXT_FAVORITE624
KEY_NEXTSONG163
KEY_NOTIFICATION_CENTER444
KEY_NUMERIC_0512
KEY_NUMERIC_1513
KEY_NUMERIC_11620
KEY_NUMERIC_12621
KEY_NUMERIC_2514
KEY_NUMERIC_3515
KEY_NUMERIC_4516
KEY_NUMERIC_5517
KEY_NUMERIC_6518
KEY_NUMERIC_7519
KEY_NUMERIC_8520
KEY_NUMERIC_9521
KEY_NUMERIC_A524
KEY_NUMERIC_B525
KEY_NUMERIC_C526
KEY_NUMERIC_D527
KEY_NUMERIC_POUND523
KEY_NUMERIC_STAR522
KEY_NUMLOCK69
KEY_O24
KEY_OK352
KEY_ONSCREEN_KEYBOARD632
KEY_OPEN134
KEY_OPTION357
KEY_P25
KEY_PAGEDOWN109
KEY_PAGEUP104
KEY_PASTE135
KEY_PAUSE119
KEY_PAUSE_RECORD626
KEY_PAUSECD201
KEY_PC376
KEY_PERFORMANCE701
KEY_PHONE169
KEY_PICKUP_PHONE445
KEY_PLAY207
KEY_PLAYCD200
KEY_PLAYER387
KEY_PLAYPAUSE164
KEY_POWER116
KEY_POWER2356
KEY_PRESENTATION425
KEY_PREVIOUS412
KEY_PREVIOUS_ELEMENT636
KEY_PREVIOUSSONG165
KEY_PRINT210
KEY_PRIVACY_SCREEN_TOGGLE633
KEY_PROG1148
KEY_PROG2149
KEY_PROG3202
KEY_PROG4203
KEY_PROGRAM362
KEY_PROPS130
KEY_PVR366
KEY_Q16
KEY_QUESTION214
KEY_R19
KEY_RADAR_OVERLAY644
KEY_RADIO385
KEY_RECORD167
KEY_RED398
KEY_REDO182
KEY_REFRESH173
KEY_REFRESH_RATE_TOGGLE562
KEY_REPLY232
KEY_RESERVED0
KEY_RESTART408
KEY_REWIND168
KEY_RFKILL247
KEY_RIGHT106
KEY_RIGHT_DOWN615
KEY_RIGHT_UP614
KEY_RIGHTALT100
KEY_RIGHTBRACE27
KEY_RIGHTCTRL97
KEY_RIGHTMETA126
KEY_RIGHTSHIFT54
KEY_RO89
KEY_ROOT_MENU618
KEY_ROTATE_DISPLAY153
KEY_ROTATE_LOCK_TOGGLE561
KEY_S31
KEY_SAT381
KEY_SAT2382
KEY_SAVE234
KEY_SCALE120
KEY_SCREEN375
KEY_SCREENLOCK152
KEY_SCREENSAVER581
KEY_SCROLLDOWN178
KEY_SCROLLLOCK70
KEY_SCROLLUP177
KEY_SEARCH217
KEY_SELECT353
KEY_SELECTIVE_SCREENSHOT634
KEY_SEMICOLON39
KEY_SEND231
KEY_SENDFILE145
KEY_SETUP141
KEY_SHOP221
KEY_SHUFFLE410
KEY_SIDEVU_SONAR647
KEY_SINGLE_RANGE_RADAR642
KEY_SLASH53
KEY_SLEEP142
KEY_SLOW409
KEY_SLOWREVERSE630
KEY_SOS639
KEY_SOUND213
KEY_SPACE57
KEY_SPELLCHECK432
KEY_SPORT220
KEY_SPREADSHEET423
KEY_STOP128
KEY_STOP_RECORD625
KEY_STOPCD166
KEY_SUBTITLE370
KEY_SUSPEND205
KEY_SYSRQ99
KEY_T20
KEY_TAB15
KEY_TAPE384
KEY_TASKMANAGER577
KEY_TEEN414
KEY_TEXT388
KEY_TIME359
KEY_TITLE369
KEY_TOUCHPAD_OFF532
KEY_TOUCHPAD_ON531
KEY_TOUCHPAD_TOGGLE530
KEY_TRADITIONAL_SONAR645
KEY_TUNER386
KEY_TV377
KEY_TV2378
KEY_TWEN415
KEY_U22
KEY_UNDO131
KEY_UNKNOWN240
KEY_UNMUTE628
KEY_UP103
KEY_UWB239
KEY_V47
KEY_VCR379
KEY_VCR2380
KEY_VENDOR360
KEY_VIDEO393
KEY_VIDEO_NEXT241
KEY_VIDEO_PREV242
KEY_VIDEOPHONE416
KEY_VOD627
KEY_VOICECOMMAND582
KEY_VOICEMAIL428
KEY_VOLUMEDOWN114
KEY_VOLUMEUP115
KEY_W17
KEY_WAKEUP143
KEY_WIMAX246
KEY_WLAN238
KEY_WORDPROCESSOR421
KEY_WPS_BUTTON529
KEY_WWAN246
KEY_WWW150
KEY_X45
KEY_XFER147
KEY_Y21
KEY_YELLOW400
KEY_YEN124
KEY_Z44
KEY_ZENKAKUHANKAKU85
KEY_ZOOM372
KEY_ZOOMIN418
KEY_ZOOMOUT419
KEY_ZOOMRESET420

evdev.ecodes.rel ​

NameValue
REL_CNT16
REL_DIAL7
REL_HWHEEL6
REL_HWHEEL_HI_RES12
REL_MAX15
REL_MISC9
REL_RESERVED10
REL_RX3
REL_RY4
REL_RZ5
REL_WHEEL8
REL_WHEEL_HI_RES11
REL_X0
REL_Y1
REL_Z2

evdev.ecodes.syn ​

NameValue
SYN_CNT16
SYN_CONFIG1
SYN_DROPPED3
SYN_MAX15
SYN_MT_REPORT2
SYN_REPORT0

evdev.event ​

A Linux input event.

FieldTypeOptionalDescription
codeintegerNoKey/button/axis code, e.g. KEY_A.
deviceevdev.DeviceYesThe Device object that produced this event.
secintegerYesTimestamp seconds.
typeevdev.ecodes.evNoEvent type, e.g. EV_KEY.
usecintegerYesTimestamp microseconds.
valueevdev.eventValueNoEvent value, e.g. 0 = release, 1 = press, 2 = repeat.

evdev.eventValue ​

Numeric value attached to an input event.

integer

evdev.fd ​

Linux file descriptor number.

integer

evdev.path ​

Path to an evdev device node or related input path.

string

evdev.uinputSpec ​

Configuration used to create a /dev/uinput virtual device.

FieldTypeOptionalDescription
bustypeintegerYesLinux bus type (default: BUS_USB / 3).
event_typesevdev.ecodes.ev[]YesEvent types to enable. Defaults to EV_SYN, plus EV_KEY/EV_REP for keyboard keys and EV_REL for relative axes.
keys(evdev.ecodes.key | evdev.ecodes.btn)[]YesKeys/buttons to expose. Defaults to all real KEY_* and BTN_* codes when omitted.
namestringYesDevice name shown by the kernel (default: "Lua evdev virtual keyboard").
pathstringYesuinput control node (default: "/dev/uinput"). Kernel assigns /dev/input/eventX.
productintegerYesProduct ID (default: 0xE7DE).
relsevdev.ecodes.rel[]YesRelative axes to expose. Defaults to all real REL_* codes when omitted.
vendorintegerYesVendor ID (default: 0x1209).
versionintegerYesVersion number (default: 1).