🎮 ⌨ An easy to use tool to change the behaviour of your input devices.
  • Python 99.8%
  • Shell 0.2%
Find a file
2026-07-20 12:09:23 +02:00
.github Tests compatible with Python 3.14 (#1324) 2026-07-06 15:41:43 +02:00
.vscode Improve mouse-button names (#1168) 2025-10-25 12:30:23 +02:00
bin pyproject.toml, new installation tool, improve github workflows (#1221) 2025-12-25 16:00:35 +01:00
data Add global suspend and resume toggle (#1328) 2026-07-20 12:09:23 +02:00
DEBIAN 2.2.1 (#1312) 2026-06-12 22:56:59 +02:00
inputremapper Add global suspend and resume toggle (#1328) 2026-07-20 12:09:23 +02:00
install More stable macro variable process (#1313) 2026-06-18 12:49:40 +02:00
po Add zh_TW Traditional Chinese locale (#1299) 2026-06-01 15:20:30 +02:00
readme Tests compatible with Python 3.14 (#1324) 2026-07-06 15:41:43 +02:00
scripts 2.2.1 (#1312) 2026-06-12 22:56:59 +02:00
tests Add global suspend and resume toggle (#1328) 2026-07-20 12:09:23 +02:00
.coveragerc Update badges, improve coverage configuration and instructions 2024-10-26 10:31:30 +02:00
.gitignore pyproject.toml, new installation tool, improve github workflows (#1221) 2025-12-25 16:00:35 +01:00
.mypy.ini pyproject.toml, new installation tool, improve github workflows (#1221) 2025-12-25 16:00:35 +01:00
.pylintrc Refactored injection (#263) 2022-04-17 12:19:23 +02:00
.reviewdog.yml pyproject.toml, new installation tool, improve github workflows (#1221) 2025-12-25 16:00:35 +01:00
docker-unittest Tests compatible with Python 3.14 (#1324) 2026-07-06 15:41:43 +02:00
LICENSE outlined some stuff 2020-10-26 23:45:55 +01:00
pyproject.toml Bring pyproject.toml up to standards (#1321) 2026-07-06 11:35:50 +02:00
README.md 2.2.1 (#1312) 2026-06-12 22:56:59 +02:00

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.2.1/input-remapper-2.2.1.deb
sudo apt install -f ./input-remapper-2.2.1.deb

Or install the very latest changes via:

sudo apt install git gettext
git clone https://github.com/sezanzeb/input-remapper.git
cd input-remapper
./scripts/build-deb.sh
sudo apt purge input-remapper input-remapper-daemon input-remapper-gtk python3-inputremapper
sudo apt install -f ./dist/input-remapper-2.2.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

Arch

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

Void

sudo xbps-install -S input-remapper
sudo ln -s /etc/sv/input-remapper /var/service
sudo sv up 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-dasbus, python3-psutil

You can also use pip to install some of them. 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 evdev pydantic dasbus PyGObject
git clone https://github.com/sezanzeb/input-remapper.git
cd input-remapper
sudo python3 -m install --root /
sudo systemctl enable --now input-remapper

For all other options and help, check python3 -m install --help

To uninstall:

sudo python3 -m install.uninstall