- Fixes:
- Silence
OSErrorin destructor (thanks @polyphemus). - Make
InputDevice.close()work in cases in which stdin (fd 0) has been closed (thanks @polyphemus).
- Silence
- Enhancements:
- Rework documentation and docstrings.
- Fixes:
- Call
InputDevice.close()inInputDevice.__del__().
- Call
- Fixes:
- Fix reference counting in
device_read,device_read_manyandioctl_capabilities.
- Fix reference counting in
- Enhancements:
Add
FF_*andFF_STATUScodes toecodes(thanks @bgilbert).Reverse event code mappings (
ecodes.{KEY,FF,REL,ABS}and etc.) will now map to a list of codes, whenever a value corresponds to multiple codes:>>> ecodes.KEY[152] ... ['KEY_COFFEE', 'KEY_SCREENLOCK'] >>> ecodes.KEY[30] ... 'KEY_A'
Set the state of a LED through
device.set_led()(thanks @accek).device.fdis opened inO_RDWRmode from now on.
- Fixes:
- Fix segfault in
device_read_many()(thanks @bgilbert).
- Fix segfault in
- Fixes:
- Raise
IOErrorfromdevice_read()anddevice_read_many()whenread()fails. - Several stability and style changes (thank you debian code reviewers).
- Raise
- 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