Input Remapper is a Linux tool that reassigns physical keys, buttons, and axes on keyboards, mice, and gamepads to custom actions or keypresses. It intercepts raw input events at the kernel level and injects remapped events through synthetic devices, enabling real-time customization without modifying system-wide settings.
The tool supports modifier-aware key combination mapping, allowing complex shortcuts that preserve modifier timing. It also provides gamepad-to-keyboard mapping, mouse button reconfiguration, keyboard layout enhancement, and accessibility input customizations. A daemon-client architecture separates the persistent event-handling background process from a graphical interface for configuration.
Configuration is rule-based, stored in JSON or YAML files that define how each input is transformed through a user-space pipeline. This design allows for persistent, shareable remapping presets across sessions.