sezanzeb / input-remapper

🎮 ⌨ An easy to use tool to change the behaviour of your input devices.
GNU General Public License v3.0
3.91k stars 162 forks source link
gamepad gaming keyboard keyboard-shortcuts linux mouse

Input Remapper

An easy to use tool for Linux to change the behaviour of your input devices.
Supports X11, Wayland, combinations, programmable macros, joysticks, wheels,
triggers, keys, mouse-movements and more. Maps any input to any other input.

Usage - Macros - Installation - Development - Examples

 


Installation

Ubuntu/Debian

Either download an installable .deb file from the latest release:

wget https://github.com/sezanzeb/input-remapper/releases/download/2.0.1/input-remapper-2.0.1.deb
sudo apt install -f ./input-remapper-2.0.1.deb

Or install the very latest changes via:

sudo apt install git python3-setuptools gettext
git clone https://github.com/sezanzeb/input-remapper.git
cd input-remapper
./scripts/build.sh
sudo apt install -f ./dist/input-remapper-2.0.1.deb

Input Remapper is also available in the repositories of Debian and Ubuntu via

sudo apt install input-remapper

Input Remapper ≥ 2.0 requires at least Ubuntu 22.04.


Fedora

sudo dnf install input-remapper
sudo systemctl enable --now input-remapper


Manjaro/Arch

yay -S input-remapper-git
sudo systemctl enable --now input-remapper


Other Distros

Figure out the packages providing those dependencies in your distro, and install them: python3-evdev ≥1.3.0, gtksourceview4, python3-devel, python3-pydantic, python3-pydbus, python3-psutil

Python packages need to be installed globally for the service to be able to import them. Don't use --user. Conda and such may also cause problems due to changed python paths and versions.

sudo pip install --no-binary :all: git+https://github.com/sezanzeb/input-remapper.git
sudo systemctl enable --now input-remapper

Or, if that doesn't install it correctly, try

git clone https://github.com/sezanzeb/input-remapper.git
cd input-remapper
sudo python3 setup.py install
sudo systemctl enable --now input-remapper