Nokogiri / extest

X11 XTEST reimplementation primarily for Steam Controller on Wayland plus flake.nix

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Extest - X11 XTEST Reimplementation for Steam Controller on Wayland

Extest is a drop in replacement for the X11 XTEST extension. It creates a virtual device with the uinput kernel module. It's been primarily developed for allowing the desktop functionality on the Steam Controller to work while Steam is open on Wayland.

Usage

Be sure you have Rust installed. You will also need to install a 32 bit Rust toolchain.

rustup target add i686-unknown-linux-gnu
cargo build --release

This will create a library named libextest.so in target/i686-unknown-linux-gnu/release. Note that this library is 32 bit by default because Steam is a 32 bit application.

You will also need to add your user to the input group if not added already, so that your user can be allowed to actually create fake devices:

sudo usermod -a -G input <your username>

You can then use LD_PRELOAD to override any app that wants to use XTEST functions that have been reimplemented by Extest. Example:

LD_PRELOAD=/path/to/libextest.so steam

The repository also comes with a script to automatically override Steam's desktop file so that whenever you launch Steam from the desktop file (i.e. via desktop icon or application menu) Extest will be automatically preloaded. Just run it like so:

./override_steam_desktop_file.sh

About

X11 XTEST reimplementation primarily for Steam Controller on Wayland plus flake.nix

License:MIT License


Languages

Language:Rust 84.8%Language:Shell 8.9%Language:Nix 6.3%