evdev 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/.
evdev also comes with bindings to uinput, the userspace input subsystem. Uinput allows userspace programs to create and handle input devices from which input events can be directly injected into the input subsystem.
- Documentation:
devel http://gvalkov.github.com/python-evdev stable http://packages.python.org/evdev - Development:
- https://github.com/gvalkov/python-evdev
- PyPi:
- http://pypi.python.org/pypi/evdev
- Enhancements:
- Add ability to set/get auto-repeat settings
EVIOC{SG}REP. - Add
InputDevice.version- the value ofEVIOCGVERSION. - Add
device.read_loop() - Add
device.grab()anddevice.ungrab()- exposesEVIOCGRAB - Replace the
DeviceInfoclass with a namedtuple.
- Add ability to set/get auto-repeat settings
- Fixes:
device.read_one()was dropping events.- Rename
AbsDatatoAbsInfo(due tostruct input_absinfo).
- Enhancements:
- Add the ability to set arbitrary device capabilities on uinput
devices (defaults to all
EV_KEYecodes). - Add
UInput.devicewhich is an openInputDeviceto the input device that uinput 'spawns'. - Add
UInput.capabilities()which is just a shortcut toUInput.device.capabilities(). - Rename
UInput.write()toUInput.write_event(). - Add a simpler
UInput.write(type, code, value)method. - Make all
UInputconstructor arguments optional (default device name is nowpy-evdev-uinput). - Add the ability to set
absmin,absmax,absfuzzandabsflatwhen specifying the uinput device's capabilities. - Remove the
nophysargument - if a device fails theEVIOCGPHYSioctl, phys will equal the empty string. - Make
InputDevice.capabilities()perform aEVIOCGABSioctl for devices that supportEV_ABSand return that info wrapped in anAbsDatanamedtuple. - Split
ioctl_devinfointoioctl_devinfoandioctl_capabilities. - Split
uinput_open()touinput_open()anduinput_create() - Add more uinput usage examples and documentation.
- Rewrite uinput tests.
- Remove
mouserelandmouseabsfromUInput. - Tie the sphinx version and release to the distutils version.
- Set 'methods-before-attributes' sorting in the docs.
- Add the ability to set arbitrary device capabilities on uinput
devices (defaults to all
- Fixes:
- Remove
KEY_CNTandKEY_MAXfromecodes.keys.
- Remove
- Enhancements:
- Add
events.keys, which is a combination of allBTN_andKEY_event codes.
- Add
- Fixes:
ecodes.cwas not generated when installing throughpip.
Initial Release