2 unstable releases
0.2.0 | Jul 26, 2024 |
---|---|
0.1.0 | May 20, 2024 |
#698 in Hardware support
20KB
418 lines
hid-replay
HID replay is a utility to create virtual HID devices via the uhid kernel module. Typically the input is a recording created by hid-recorder.
This is a Rust reimplementation of hid-replay from hid-tools.
Installation
hid-replay
needs access to the /dev/uhid
device and typically needs
to run as root.
The easiest is to install with cargo as root:
$ sudo cargo install hid-replay
$ sudo hid-replay path/to/recording
Alternatively leave out the sudo
which installs installs in $CARGO_HOME
(usually $HOME/.cargo
) and run with pkexec
instead.
$ cargo install hid-replay
$ pkexec hid-replay path/to/recording
pkexec
will ask for your user's password.
Alternatively you can install hid-replay so you can access it via sudo:
Sudo-compatible Installation
Install as user in $CARGO_HOME
This is the default cargo
installation but requires that you add the
path manually when running hid-replay:
$ cargo install hid-replay
$ sudo $HOME/.cargo/bin/hid-replay path/to/recording
Install as root in /usr/local
Install hid-replay in /usr/local/
which is typically part of the
default $PATH
.
$ sudo CARGO_INSTALL_ROOT=/usr/local cargo install hid-replay
$ sudo hid-replay path/to/recording
Allow access to the device to non-root users
This is the least safe option as once read access is granted, any process can create virtual HID devices. This allows for malicious interference with your running session.
$ cargo install hid-replay
$ sudo chmod o+r /dev/uhid
$ hid-replay path/to/recording
It is recommended to remove these permissions once need for replaying is over:
$ sudo chmod o-r /dev/uhid
Dependencies
~3–5.5MB
~106K SLoC