Introduction
This package provides bindings to the generic input event interface in
Linux. The evdev interface serves the purpose of passing events
generated in the kernel directly to userspace through character
devices that are typically located in /dev/input/
.
This package also comes with bindings to uinput, the userspace input subsystem. Uinput allows userspace programs to create and handle input devices that can inject events directly into the input subsystem.
In other words, python-evdev allows you to read and write input events on Linux. An event can be a key or button press, a mouse movement or a tap on a touchscreen.
- Quick Start
- Tutorial
- Listing accessible event devices
- Listing device capabilities
- Listing device capabilities (devices with absolute axes)
- Getting and setting LED states
- Getting currently active keys
- Reading events
- Reading events (using
asyncio
) - Reading events from multiple devices (using
select
) - Reading events from multiple devices (using
selectors
) - Reading events from multiple devices (using
asyncio
) - Accessing evdev constants
- Searching event codes by regex
- Getting exclusive access to a device
- Associating classes with event types
- Injecting input
- Injecting events (using a context manager)
- Specifying
uinput
device options - Create
uinput
device with capabilities of another device - Create
uinput
device capable of receiving FF-effects - Injecting an FF-event into first FF-capable device found
- Forwarding force-feedback from uinput to a real device
- API Reference
events
eventio
eventio_async
device
AbsInfo
KbdInfo
DeviceInfo
InputDevice
InputDevice.__init__()
InputDevice.path
InputDevice.fd
InputDevice.info
InputDevice.name
InputDevice.phys
InputDevice.uniq
InputDevice.version
InputDevice.ff_effects_count
InputDevice.capabilities()
InputDevice.input_props()
InputDevice.leds()
InputDevice.set_led()
InputDevice.__eq__()
InputDevice.__fspath__()
InputDevice.close()
InputDevice.grab()
InputDevice.ungrab()
InputDevice.grab_context()
InputDevice.upload_effect()
InputDevice.erase_effect()
InputDevice.repeat
InputDevice.active_keys()
InputDevice.fn
InputDevice.absinfo()
InputDevice.__annotations__
InputDevice.__hash__
InputDevice.set_absinfo()
uinput
util
ecodes
- Scope and status
- Changelog
- 1.8.0 (Unreleased)
- 1.7.1 (May 8, 2024)
- 1.7.0 (Feb 18, 2024)
- 1.6.1 (Jan 20, 2023)
- 1.6.0 (Jul 17, 2022)
- 1.5.0 (Mar 24, 2022)
- 1.4.0 (Jan 16, 2021)
- 1.3.0 (Jan 12, 2020)
- 1.2.0 (Apr 7, 2019)
- 1.1.2 (Sep 1, 2018)
- 1.1.0 (Aug 27, 2018)
- 1.0.0 (Jun 02, 2018)
- 0.8.1 (Mar 24, 2018)
- 0.8.0 (Mar 22, 2018)
- 0.7.0 (Jun 16, 2017)
- 0.6.4 (Oct 07, 2016)
- 0.6.3 (Oct 06, 2016)
- 0.6.1 (Jun 04, 2016)
- 0.6.0 (Feb 14, 2016)
- 0.5.0 (Jun 16, 2015)
- 0.4.7 (Oct 07, 2014)
- 0.4.6 (Oct 07, 2014)
- 0.4.5 (Jul 06, 2014)
- 0.4.4 (Jun 04, 2014)
- 0.4.3 (Dec 19, 2013)
- 0.4.2 (Dec 13, 2013)
- 0.4.1 (Jul 24, 2013)
- 0.4.0 (Jul 01, 2013)
- 0.3.3 (May 29, 2013)
- 0.3.2 (Apr 05, 2013)
- 0.3.1 (Nov 23, 2012)
- 0.3.0 (Nov 06, 2012)
- 0.2.0 (Aug 22, 2012)
- 0.1.1 (May 18, 2012)
- 0.1.0 (May 17, 2012)
License
This package is released under the terms of the Revised BSD License.