Evdev

Latest version: v1.9.1

Safety actively analyzes 723166 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 7

0.3.3

====================

- Raise :class:`IOError` from :func:`InputDevice.device_read()` and
:func:`InputDevice.device_read_many()` when :func:`InputDevice.read()`
fails.

- Several stability and style changes (thank you debian code reviewers).

0.3.2

====================

- Fix vendor id and product id order in :func:`DeviceInfo` (thanks `kived`_).

0.3.1

====================

- :func:`InputDevice.read()` will return an empty tuple if the device
has nothing to offer (instead of segfaulting).

- Exclude unnecessary package data in sdist and bdist.

0.3.0

====================

- Add ability to set/get auto-repeat settings with ``EVIOC{SG}REP``.

- Add :func:`InputDevice.version` - the value of ``EVIOCGVERSION``.

- Add :func:`InputDevice.read_loop()`.

- Add :func:`InputDevice.grab()` and :func:`InputDevice.ungrab()` -
exposes ``EVIOCGRAB``.

- Add :func:`InputDevice.leds` - exposes ``EVIOCGLED``.

- Replace :class:`DeviceInfo` class with a namedtuple.

- Prevent :func:`InputDevice.read_one()` from skipping events.

- Rename :class:`AbsData` to :class:`AbsInfo` (as in ``struct input_absinfo``).

0.2.0

====================

- Add the ability to set arbitrary device capabilities on uinput
devices (defaults to all ``EV_KEY`` ecodes).

- Add :attr:`UInput.device` which is an open :class:`InputDevice` to
the input device that uinput 'spawns'.

- Add :func:`UInput.capabilities()` which is just a shortcut to
:func:`UInput.device.capabilities()`.

- Rename :func:`UInput.write()` to :func:`UInput.write_event()`.

- Add a simpler :func:`UInput.write(type, code, value)` method.

- Make all :func:`UInput` constructor arguments optional (default
device name is now ``py-evdev-uinput``).

- Add the ability to set ``absmin``, ``absmax``, ``absfuzz`` and
``absflat`` when specifying the uinput device's capabilities.

- Remove the ``nophys`` argument - if a device fails the
``EVIOCGPHYS`` ioctl, phys will equal the empty string.

- Make :func:`InputDevice.capabilities()` perform a ``EVIOCGABS``
ioctl for devices that support ``EV_ABS`` and return that info
wrapped in an ``AbsData`` namedtuple.

- Split ``ioctl_devinfo`` into ``ioctl_devinfo`` and
``ioctl_capabilities``.

- Split :func:`UInput.uinput_open()` to :func:`UInput.uinput_open()`
and :func:`UInput.uinput_create()`

- Add more uinput usage examples and documentation.

- Rewrite uinput tests.

- Remove ``mouserel`` and ``mouseabs`` from :class:`UInput`.

- Tie the sphinx version and release to the distutils version.

- Set 'methods-before-attributes' sorting in the docs.

- Remove ``KEY_CNT`` and ``KEY_MAX`` from :func:`ecodes.keys`.

0.1.1

====================

- Add ``events.keys``, which is a combination of all ``BTN_`` and
``KEY_`` event codes.

- ``ecodes.c`` was not generated when installing through ``pip``.

Page 6 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.