Evdev

Latest version: v1.9.1

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

Scan your dependencies

Page 3 of 7

1.1.0

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

- Add support for handling force-feedback effect uploads (many thanks to `ndreys`_).

- Fix typo preventing ff effects that need left coefficients from working.

1.0.0

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

- Prevent ``Uinput`` device creation raising ``Objects/longobject.c:415: bad
argument to internal function`` when a non-complete ``AbsInfo`` structure is
passed. All missing ``AbsInfo`` fields are set to 0.

- Fix ``Uinput`` device creation raising ``KeyError`` when a capability filtered
by default is not present.

- The ``InputDevice.fn`` attribute was deprecated in favor of ``InputDevice.path``.
Using the former will show a ``DeprecationWarning``, but would otherwise continue
working as before.

- Fix ``InputDevice`` comparison raising ``AttributeError`` due to a non-existant
``path`` attribute.

- Fix asyncio support in Python 3.5+.

- Uploading FF effect now works both on Python 2.7 and Python 3+.

- Remove the ``asyncore`` example from the tutorial.

0.8.1

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

- Fix Python 2 compatibility issue in with ``Uinput.from_device``.

- Fix minor `evdev.evtest` formatting issue.

0.8.0

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

- Fix ``InputDevice`` comparison on Python 2.

- The device path is now considered when comparing two devices.

- Fix ``UInput.from_device`` not correctly merging the capabilities of
selected devices.

- The list of excluded event types in ``UInput.from_device`` is now
configurable. For example::

UInput.from_device(dev, filtered_types=(EV_SYN, EV_FF))

In addition, ``ecodes.EV_FF`` is now excluded by default.

- Add a context manager for grabbing access to a device -
``InputDevice.grab_context``. For example::

with dev.grab_context():
pass

- Add the ``InputDevice.uniq`` attribute, which contains the unique identifier
of the device. As with ``phys``, this attribute may be empty (i.e. `''`).

0.7.0

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

- ``InputDevice`` now accepts objects that support the path protocol.
For example::

pth = pathlib.Path('/dev/input/event0')
dev = evdev.InputDevice(pth)

- Support path protocol in ``InputDevice``. This means that ``InputDevice``
instances can be passed to callers that expect a ``os.PathLike`` object.

- Exceptions raised during ``InputDevice.async_read()`` (and similar) are now
handled properly (i.e. an exception is set on the returned future instead of
leaking that exception into the event loop) (Fixes `67`_).

0.6.4

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

- Exclude ``ecodes.c`` from source distribution (Fixes `63`_).

Page 3 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.