Skip to main content

unplug

unplug is a Python TUI that allows creating and replaying uinput devices from libinput recordings.

unplug requires write access to /dev/uinput, so it needs to be run as root or with the appropriate permissions set on the /dev/uinput node.

Installation

$ pip install unplug
# allow access to uinput for the time being (or run as root)
$ sudo chmod o+rw /dev/uinput
$ unplug

This will search for any .yml file in the current directory and if it looks like a valid libinput record file, it will load it into the available list of devices.

Where the device name/vid/pid is the same, multiple recordings are collated into the same device within unplug, so the

See the libinput documentation for details on libinput record.

Running from git

$ git clone https://gitlab.freedesktop.org/whot/unplug.git
$ cd unplug
$ uv run unplug

Updating recordings

To create recordings, you can use the libinput record command:

$ sudo libinput record --output recording.yml
# select device, record a few events, ctrl+c

Adding the (optional) unplug.name and unplug.description keys to the recording file will allow you to name the recording in the unplug TUI:

# libinput record
version: 1
ndevices: 1
libinput:
  version: "1.28.903"
  git: "unknown"
# Add the unplug.name key as description of this recording
unplug:
  name: "Key A press/release"
  description: any short markdown

Metadata

Release files for unplug 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unplug 0.1.1
File Size Uploaded Provenance
unplug-0.1.1.tar.gz 40.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for unplug 0.1.1
File Interpreter ABI Platform
unplug-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 115.6 kB

Release files / unplug-0.1.1.tar.gz

Download URL unplug-0.1.1.tar.gz
Size 40.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0a8e54b401631c2530665d4a266404d5b8b1dbcae12f29dbf28c133234ad67c8
BLAKE2b-256 checksum
How to use checksums
9838901b1a06c5c67f0d5899dde3a8696d8a1f6d069da43b02a6182df234c4cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.25

Release files / unplug-0.1.1-py3-none-any.whl

Download URL unplug-0.1.1-py3-none-any.whl
Size 75.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47da10025efcc225f02d6fc139fbe8b213e81c812ccef035c51b4c94cb4e28b5
BLAKE2b-256 checksum
How to use checksums
e4c5aa7692440a36d4a4c0c2b6da62cd4e1efc3cd9bf0a2bac8a33637e97f3de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.25

Security for unplug 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page