whatisgithub

What is input-remapper?

sezanzeb/input-remapper — explained in plain English

Analysis updated 2026-06-26

5,628PythonAudience · ops devopsComplexity · 2/5Setup · easy

In one sentence

A Linux desktop app that lets you remap keys, gamepad buttons, mouse buttons, and joystick axes to anything you want, system-wide on X11 and Wayland.

Mindmap

mindmap
  root((input-remapper))
    What it does
      Remap keys and buttons
      Redirect joystick axes
      Programmable macros
    Tech Stack
      Python
      Linux kernel input
      X11 and Wayland
    Use Cases
      Gamepad remapping
      Keyboard shortcuts
      Macro sequences
    Audience
      Linux power users
      Gamers on Linux
    Setup
      apt or pacman install
      Enable background service
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Remap gamepad buttons to keyboard shortcuts so you can play PC games designed for keyboard and mouse using a controller.

USE CASE 2

Set up system-wide macros on a single key press to automate multi-step keyboard sequences across all applications.

USE CASE 3

Redirect joystick axes to mouse movement so a gamepad acts as a pointing device on the Linux desktop.

USE CASE 4

Rebind keys on a non-standard keyboard layout to match your typing muscle memory without modifying per-app settings.

What is it built with?

PythonLinuxX11Wayland

How does it compare?

sezanzeb/input-remapperdeeplabcut/deeplabcutfacebookresearch/mmf
Stars5,6285,6275,629
LanguagePythonPythonPython
Setup difficultyeasyhardmoderate
Complexity2/54/54/5
Audienceops devopsresearcherresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires enabling the background system service after install so mappings persist across reboots.

License information was not mentioned in the explanation.

So what is it?

Input Remapper is a Linux desktop application that lets you change how your input devices behave. You can remap keys on a keyboard, reassign buttons on a gamepad or mouse, redirect joystick movements, and configure triggers or scroll wheels. Any input can be mapped to any other input: a keyboard key can trigger a mouse movement, a gamepad button can send a key combination, and so on. The tool works on both X11 and Wayland, the two main display systems used on Linux desktops. It runs as a background system service and intercepts device input at a low level, so mappings apply across all applications without needing per-app configuration. A graphical interface lets you set up and manage your mappings without editing configuration files by hand. Beyond simple remapping, the tool supports programmable macros: sequences of keystrokes or actions that are triggered by a single button press or joystick event. Separate documentation pages linked from the README cover macro syntax and example configurations. Installation varies by distribution. On Ubuntu and Debian, a prebuilt .deb package is available on the releases page, and it is also in the official Debian and Ubuntu repositories. Fedora and Arch users can install it through their standard package managers. For other Linux distributions, the README lists the Python dependencies needed to build and install it manually using pip and an included install script. Version 2.0 and later require Ubuntu 22.04 or an equivalent. After installation, the background service needs to be enabled once so that mappings are active automatically after each reboot.

Copy-paste prompts

Prompt 1
Using input-remapper, create a mapping that turns my Xbox controller's left joystick into mouse movement and the A button into a left click.
Prompt 2
Write an input-remapper macro that types my full email address when I press a single extra key on my keyboard.
Prompt 3
Set up input-remapper on Ubuntu 22.04 so my numpad keys trigger volume controls and media playback shortcuts system-wide.
Prompt 4
Show me how to configure input-remapper to remap a gamepad trigger axis to scroll wheel up/down for browsing.

Frequently asked questions

What is input-remapper?

A Linux desktop app that lets you remap keys, gamepad buttons, mouse buttons, and joystick axes to anything you want, system-wide on X11 and Wayland.

What language is input-remapper written in?

Mainly Python. The stack also includes Python, Linux, X11.

What license does input-remapper use?

License information was not mentioned in the explanation.

How hard is input-remapper to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is input-remapper for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.