MCPcopy Index your code
hub / github.com/sezanzeb/input-remapper

github.com/sezanzeb/input-remapper @2.2.1 sqlite

repository ↗ · DeepWiki ↗ · release 2.2.1 ↗
2,276 symbols 14,408 edges 199 files 751 documented · 33%
README

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

Core symbols most depended-on inside this repo

add
called by 174
inputremapper/configs/preset.py
gtk_iteration
called by 172
inputremapper/gui/utils.py
subscribe
called by 169
inputremapper/gui/messages/message_broker.py
get
called by 168
tests/lib/fixtures.py
publish
called by 153
inputremapper/daemon.py
load_group
called by 147
inputremapper/gui/controller.py
get_preset_path
called by 140
inputremapper/groups.py
parse
called by 132
inputremapper/injection/macros/parse.py

Shape

Method 1,845
Class 313
Function 111
Route 7

Languages

Python100%

Modules by API surface

tests/system/gui/test_components.py195 symbols
inputremapper/gui/components/editor.py110 symbols
tests/unit/test_controller.py90 symbols
tests/unit/test_data_manager.py73 symbols
inputremapper/gui/controller.py51 symbols
tests/system/gui/test_gui.py49 symbols
tests/lib/patches.py48 symbols
inputremapper/gui/data_manager.py43 symbols
tests/unit/test_event_pipeline/test_mapping_handlers.py40 symbols
tests/unit/test_reader.py39 symbols
inputremapper/configs/mapping.py37 symbols
inputremapper/configs/input_config.py34 symbols

Dependencies from manifests, versioned

PyGObject
dasbus
evdev
packaging
pycairo

For agents

$ claude mcp add input-remapper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact