!pC 7      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456None %>MP_g*Q *)('&%$#"! +UTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,V`_^]\[ZYXWa}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcb~~a}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcbV`_^]\[ZYXW+UTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,*)('&%$#"!  None %>MP_g?None %>MP_gA7evdev Testing 2%     %     None %>MP_gB1234566125347      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012evdev-0.2.0.0-inplace Evdev.CodesEvdev.LowLevelEvdev Evdev.StreamSoundEventTypeSndClickSndBellSndToneRepeatEventTypeRepDelay RepPeriod LEDEventTypeLedNumlLedCapsl LedScrolll LedComposeLedKanaLedSleep LedSuspendLedMuteLedMiscLedMail LedCharging MiscEventType MscSerial MscPulseled MscGestureMscRawMscScan MscTimestampSwitchEventTypeSwLid SwTabletModeSwHeadphoneInsert SwRfkillAllSwRadioSwMicrophoneInsertSwDockSwLineoutInsertSwJackPhysicalInsertSwVideooutInsertSwCameraLensCover SwKeypadSlideSwFrontProximity SwRotateLockSwLineinInsert SwMuteDevice AbsoluteAxisAbsXAbsYAbsZAbsRxAbsRyAbsRz AbsThrottle AbsRudderAbsWheelAbsGasAbsBrakeAbsHat0xAbsHat0yAbsHat1xAbsHat1yAbsHat2xAbsHat2yAbsHat3xAbsHat3y AbsPressure AbsDistanceAbsTiltXAbsTiltY AbsToolWidth AbsVolumeAbsMisc AbsReserved AbsMtSlotAbsMtTouchMajorAbsMtTouchMinorAbsMtWidthMajorAbsMtWidthMinorAbsMtOrientationAbsMtPositionXAbsMtPositionY AbsMtToolType AbsMtBlobIdAbsMtTrackingId AbsMtPressure AbsMtDistance AbsMtToolX AbsMtToolY RelativeAxisRelXRelYRelZRelRxRelRyRelRz RelHwheelRelDialRelWheelRelMiscKey KeyReservedKeyEscKey1Key2Key3Key4Key5Key6Key7Key8Key9Key0KeyMinusKeyEqual KeyBackspaceKeyTabKeyQKeyWKeyEKeyRKeyTKeyYKeyUKeyIKeyOKeyP KeyLeftbrace KeyRightbraceKeyEnter KeyLeftctrlKeyAKeySKeyDKeyFKeyGKeyHKeyJKeyKKeyL KeySemicolon KeyApostropheKeyGrave KeyLeftshift KeyBackslashKeyZKeyXKeyCKeyVKeyBKeyNKeyMKeyCommaKeyDotKeySlash KeyRightshift KeyKpasterisk KeyLeftaltKeySpace KeyCapslockKeyF1KeyF2KeyF3KeyF4KeyF5KeyF6KeyF7KeyF8KeyF9KeyF10 KeyNumlock KeyScrolllockKeyKp7KeyKp8KeyKp9 KeyKpminusKeyKp4KeyKp5KeyKp6 KeyKpplusKeyKp1KeyKp2KeyKp3KeyKp0KeyKpdotKeyZenkakuhankakuKey102ndKeyF11KeyF12KeyRo KeyKatakana KeyHiragana KeyHenkanKeyKatakanahiragana KeyMuhenkan KeyKpjpcomma KeyKpenter KeyRightctrl KeyKpslashKeySysrq KeyRightalt KeyLinefeedKeyHomeKeyUp KeyPageupKeyLeftKeyRightKeyEndKeyDown KeyPagedown KeyInsert KeyDeleteKeyMacroKeyMute KeyVolumedown KeyVolumeupKeyPower KeyKpequalKeyKpplusminusKeyPauseKeyScale KeyKpcomma KeyHangeul KeyHanguelKeyHanjaKeyYen KeyLeftmeta KeyRightmeta KeyComposeKeyStopKeyAgainKeyPropsKeyUndoKeyFrontKeyCopyKeyOpenKeyPasteKeyFindKeyCutKeyHelpKeyMenuKeyCalcKeySetupKeySleep KeyWakeupKeyFile KeySendfile KeyDeletefileKeyXferKeyProg1KeyProg2KeyWwwKeyMsdos KeyCoffee KeyScreenlockKeyRotateDisplay KeyDirectionKeyCyclewindowsKeyMail KeyBookmarks KeyComputerKeyBack KeyForward KeyClosecd KeyEjectcdKeyEjectclosecd KeyNextsong KeyPlaypauseKeyPrevioussong KeyStopcd KeyRecord KeyRewindKeyPhoneKeyIso KeyConfig KeyHomepage KeyRefreshKeyExitKeyMoveKeyEdit KeyScrollup KeyScrolldownKeyKpleftparenKeyKprightparenKeyNewKeyRedoKeyF13KeyF14KeyF15KeyF16KeyF17KeyF18KeyF19KeyF20KeyF21KeyF22KeyF23KeyF24 KeyPlaycd KeyPausecdKeyProg3KeyProg4 KeyDashboard KeySuspendKeyCloseKeyPlayKeyFastforward KeyBassboostKeyPrintKeyHp KeyCameraKeySound KeyQuestionKeyEmailKeyChat KeySearch KeyConnect KeyFinanceKeySportKeyShop KeyAlterase KeyCancelKeyBrightnessdownKeyBrightnessupKeyMediaKeySwitchvideomodeKeyKbdillumtoggleKeyKbdillumdown KeyKbdillumupKeySendKeyReplyKeyForwardmailKeySave KeyDocuments KeyBattery KeyBluetoothKeyWlanKeyUwb KeyUnknown KeyVideoNext KeyVideoPrevKeyBrightnessCycleKeyBrightnessAutoKeyBrightnessZero KeyDisplayOffKeyWwanKeyWimax KeyRfkill KeyMicmuteBtnMiscBtn0Btn1Btn2Btn3Btn4Btn5Btn6Btn7Btn8Btn9BtnMouseBtnLeftBtnRight BtnMiddleBtnSideBtnExtra BtnForwardBtnBackBtnTask BtnJoystick BtnTriggerBtnThumb BtnThumb2BtnTopBtnTop2 BtnPinkieBtnBaseBtnBase2BtnBase3BtnBase4BtnBase5BtnBase6BtnDead BtnGamepadBtnSouthBtnABtnEastBtnBBtnCBtnNorthBtnXBtnWestBtnYBtnZBtnTlBtnTrBtnTl2BtnTr2 BtnSelectBtnStartBtnMode BtnThumbl BtnThumbrBtnDigi BtnToolPen BtnToolRubber BtnToolBrush BtnToolPencilBtnToolAirbrush BtnToolFinger BtnToolMouse BtnToolLensBtnToolQuinttapBtnTouch BtnStylus BtnStylus2BtnToolDoubletapBtnToolTripletapBtnToolQuadtapBtnWheel BtnGearDown BtnGearUpKeyOk KeySelectKeyGotoKeyClear KeyPower2 KeyOptionKeyInfoKeyTime KeyVendor KeyArchive KeyProgram KeyChannel KeyFavoritesKeyEpgKeyPvrKeyMhp KeyLanguageKeyTitle KeySubtitleKeyAngleKeyZoomKeyMode KeyKeyboard KeyScreenKeyPcKeyTvKeyTv2KeyVcrKeyVcr2KeySatKeySat2KeyCdKeyTapeKeyRadioKeyTuner KeyPlayerKeyTextKeyDvdKeyAuxKeyMp3KeyAudioKeyVideo KeyDirectoryKeyListKeyMemo KeyCalendarKeyRedKeyGreen KeyYellowKeyBlue KeyChannelupKeyChanneldownKeyFirstKeyLastKeyAbKeyNext KeyRestartKeySlow KeyShuffleKeyBreak KeyPrevious KeyDigitsKeyTeenKeyTwen KeyVideophoneKeyGames KeyZoomin KeyZoomout KeyZoomresetKeyWordprocessor KeyEditorKeySpreadsheetKeyGraphicseditorKeyPresentation KeyDatabaseKeyNews KeyVoicemailKeyAddressbook KeyMessengerKeyDisplaytoggleKeyBrightnessToggle KeySpellcheck KeyLogoff KeyDollarKeyEuro KeyFramebackKeyFrameforwardKeyContextMenuKeyMediaRepeatKey10channelsupKey10channelsdown KeyImages KeyDelEol KeyDelEos KeyInsLine KeyDelLineKeyFnKeyFnEscKeyFnF1KeyFnF2KeyFnF3KeyFnF4KeyFnF5KeyFnF6KeyFnF7KeyFnF8KeyFnF9KeyFnF10KeyFnF11KeyFnF12KeyFn1KeyFn2KeyFnDKeyFnEKeyFnFKeyFnSKeyFnB KeyBrlDot1 KeyBrlDot2 KeyBrlDot3 KeyBrlDot4 KeyBrlDot5 KeyBrlDot6 KeyBrlDot7 KeyBrlDot8 KeyBrlDot9 KeyBrlDot10 KeyNumeric0 KeyNumeric1 KeyNumeric2 KeyNumeric3 KeyNumeric4 KeyNumeric5 KeyNumeric6 KeyNumeric7 KeyNumeric8 KeyNumeric9KeyNumericStarKeyNumericPound KeyNumericA KeyNumericB KeyNumericC KeyNumericDKeyCameraFocus KeyWpsButtonKeyTouchpadToggle KeyTouchpadOnKeyTouchpadOffKeyCameraZoominKeyCameraZoomout KeyCameraUp KeyCameraDown KeyCameraLeftKeyCameraRightKeyAttendantOnKeyAttendantOffKeyAttendantToggleKeyLightsToggle BtnDpadUp BtnDpadDown BtnDpadLeft BtnDpadRight KeyAlsToggleKeyButtonconfigKeyTaskmanager KeyJournalKeyControlpanel KeyAppselectKeyScreensaverKeyVoicecommandKeyBrightnessMinKeyBrightnessMaxKeyKbdinputassistPrevKeyKbdinputassistNextKeyKbdinputassistPrevgroupKeyKbdinputassistNextgroupKeyKbdinputassistAcceptKeyKbdinputassistCancelBtnTriggerHappyBtnTriggerHappy1BtnTriggerHappy2BtnTriggerHappy3BtnTriggerHappy4BtnTriggerHappy5BtnTriggerHappy6BtnTriggerHappy7BtnTriggerHappy8BtnTriggerHappy9BtnTriggerHappy10BtnTriggerHappy11BtnTriggerHappy12BtnTriggerHappy13BtnTriggerHappy14BtnTriggerHappy15BtnTriggerHappy16BtnTriggerHappy17BtnTriggerHappy18BtnTriggerHappy19BtnTriggerHappy20BtnTriggerHappy21BtnTriggerHappy22BtnTriggerHappy23BtnTriggerHappy24BtnTriggerHappy25BtnTriggerHappy26BtnTriggerHappy27BtnTriggerHappy28BtnTriggerHappy29BtnTriggerHappy30BtnTriggerHappy31BtnTriggerHappy32BtnTriggerHappy33BtnTriggerHappy34BtnTriggerHappy35BtnTriggerHappy36BtnTriggerHappy37BtnTriggerHappy38BtnTriggerHappy39BtnTriggerHappy40 SyncEventType SynReport SynConfig SynMtReport SynDropped EventTypeEvSynEvKeyEvRelEvAbsEvMscEvSwEvLedEvSndEvRepEvFfEvPwr EvFfStatusDevicePropertyInputPropPointerInputPropDirectInputPropButtonpadInputPropSemiMtInputPropTopbuttonpadInputPropPointingStickInputPropAccelerometer$fEnumDeviceProperty$fEnumEventType$fEnumSyncEventType $fEnumKey$fEnumRelativeAxis$fEnumAbsoluteAxis$fEnumSwitchEventType$fEnumMiscEventType$fEnumLEDEventType$fEnumRepeatEventType$fEnumSoundEventType$fBoundedDeviceProperty$fEqDeviceProperty$fOrdDeviceProperty$fReadDeviceProperty$fShowDeviceProperty$fBoundedEventType $fEqEventType$fOrdEventType$fReadEventType$fShowEventType$fBoundedSyncEventType$fEqSyncEventType$fOrdSyncEventType$fReadSyncEventType$fShowSyncEventType $fBoundedKey$fEqKey$fOrdKey $fReadKey $fShowKey$fBoundedRelativeAxis$fEqRelativeAxis$fOrdRelativeAxis$fReadRelativeAxis$fShowRelativeAxis$fBoundedAbsoluteAxis$fEqAbsoluteAxis$fOrdAbsoluteAxis$fReadAbsoluteAxis$fShowAbsoluteAxis$fBoundedSwitchEventType$fEqSwitchEventType$fOrdSwitchEventType$fReadSwitchEventType$fShowSwitchEventType$fBoundedMiscEventType$fEqMiscEventType$fOrdMiscEventType$fReadMiscEventType$fShowMiscEventType$fBoundedLEDEventType$fEqLEDEventType$fOrdLEDEventType$fReadLEDEventType$fShowLEDEventType$fBoundedRepeatEventType$fEqRepeatEventType$fOrdRepeatEventType$fReadRepeatEventType$fShowRepeatEventType$fBoundedSoundEventType$fEqSoundEventType$fOrdSoundEventType$fReadSoundEventType$fShowSoundEventTypeDeviceTimeEventGrabMode LibevdevGrabLibevdevUngrab ReadFlagsSyncNormal ForceSyncBlocking deviceName'_ deviceFd'_libevdev_set_fd libevdev_newlibevdev_grab'_libevdev_next_event withEventwithTime convertEvent nextEvent libevdev_grab grabDevice newDevicedeviceFd deviceName convertEnum$fEnumReadFlags$fEnumGrabMode $fEqReadFlags$fOrdReadFlags$fShowReadFlags$fShowGrabMode KeyEventTypeReleasedPressedRepeated EventValue EventCode devicePathForceFeedbackStatusEvent PowerEventForceFeedbackEvent RepeatEvent SoundEventLEDEvent SwitchEvent MiscEvent AbsoluteEvent RelativeEventKeyEvent SyncEvent prettyEventdefaultReadFlags ungrabDevicemaybeNewDeviceevdevDir getDeviceName $fShowDevice$fEnumEventCode $fEqEventCode$fOrdEventCode$fReadEventCode$fShowEventCode$fEnumEventValue$fEqEventValue$fOrdEventValue$fReadEventValue$fShowEventValue $fEqEvent $fOrdEvent $fShowEvent$fEnumKeyEventType$fEqKeyEventType$fOrdKeyEventType$fReadKeyEventType$fShowKeyEventType allEventsfilteredEvents readEventsreadEventsMany makeDevicesallDevicePaths