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
- Fixes:
- Fix vendor id and product id order in
DeviceInfo(thanks kived).
- Fix vendor id and product id order in
- Fixes:
device.read()will return an empty tuple if the device has nothing to offer (instead of segfaulting).- Exclude unnecessary package data in sdist and bdist.
- Enhancements:
- Add ability to set/get auto-repeat settings with
EVIOC{SG}REP. - Add
device.version- the value ofEVIOCGVERSION. - Add
device.read_loop(). - Add
device.grab()anddevice.ungrab()- exposesEVIOCGRAB. - Add
device.leds- exposesEVIOCGLED. - Replace
DeviceInfoclass with a namedtuple.
- Add ability to set/get auto-repeat settings with
- Fixes:
device.read_one()was dropping events.- Rename
AbsDatatoAbsInfo(as instruct 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