Evdev

Latest version: v1.7.1

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

Scan your dependencies

Page 3 of 6

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`_).

0.6.3

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

- Add the ``UInput.from_device`` class method, which allows uinput device to be
created with the capabiltiies of one or more existing input devices::

ui = UInput.from_device('/dev/input1', '/dev/input2', **constructor_kwargs)

- Add the ``build_ecodes`` distutils command, which generates the ``ecodes.c``
extension module. The new way of overwriting the evdev header locations is::

python setup.py build \
build_ecodes --evdev-headers path/input.h:path/input-event-codes.h \
build_ext --include-dirs path/ \
install

The ``build*`` and ``install`` commands no longer have to be part of the same
command-line (i.e. running ``install`` will reuse the outputs of the last
``build``).

0.6.1

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

- Disable tty echoing while evtest is running.
- Allow evtest to listen to more than one devices.

- The setup.py script now allows the location of the input header files to be
overwritten. For example::

python setup.py build_ext \
--evdev-headers path/input.h:path/input-event-codes.h \
--include-dirs path/ \
install

0.6.0

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

- Asyncio and async/await support (many thanks to `paulo-raca`_).
- Add the ability to set the `phys` property of uinput devices (thanks `paulo-raca`_).
- Add a generic :func:`InputDevice.set` method (thanks `paulo-raca`_).
- Distribute the evtest script along with evdev.
- Fix issue with generating :mod:`ecodes.c` in recent kernels (``>= 4.4.0``).
- Fix absinfo item indexes in :func:`UInput.uinput_create()` (thanks `forsenonlhaimaisentito`_).
- More robust comparison of :class:`InputDevice` objects (thanks `isia`_).

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.