InputPlumber - Le Bottin des Jeux Linux

InputPlumber

🗃️ Specifications

📰 Title: InputPlumber 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Tool 👁️ Visual: 2D
🏷️ Category: Tool ➤ Input devices ➤ Gamepads & Steering Wheels 🏝️ Perspective: First person (interface)
🔖 Tags: Tool; Gamepad; Controller; Keyboard ⏱️ Pacing: Real Time
🐣️ Approx. start: 2024-02-14 👫️ Played: Single
🐓️ Latest: 2026-05-09 🚦 Status: 04. Released (status)
📍️ Version: Latest: 0.77.1 // Dev: 32b5edb ❤️ Like it: 9. ⏳️
🏛️ License type: 🕊️ Libre 🎀️ Quality: 7. ⏳️
🏛️ License: GPL-3+ ⭐ (temporary):
🐛️ Created: 2026-05-11 🐜️ Updated: 2026-05-11

📦️ Deliverables

📦️ Package name: inputplumber ..... 📦️ Arch: ✓
📄️ Source: ✓ ..... 📦️ RPM: ✓
⚙️ Generic binary: ✓ ..... 📦️ Deb: ✓
🌍️ Browser version: ..... 📦️ AppImage:
📱️ Mobile support: ..... 📦️ Flatpak:
🧹️ Not use: ..... 📦️ Snap:

🚦 Entry status

💡 Lights on: 🚧️ Some work remains to be done:
📰 What's new?: 💥️ New 💭️ New version published (to be updated):
🦣️ Awaiting publication on Mastodon: 🎨️ Significant improvement:
🦺️ Work in progress: 🎖️ This work: 5 stars
📰 Previous News: 👫️ Contrib.: goupildb
🎰️ ID: 16576

📖️ Summary

📜️[en]: A libre daemon for routing and controlling input. It allows users to combine an unlimited number of input devices (such as controllers, mice and keyboards) and translate their inputs into various virtual device formats (composites). In particular, it allows combining multiple input devices (mouse, keyboard, gamepad) or emulating their inputs, intercepting and routing inputs via DBus to control them via an overlay interface. It also provides input mapping profiles to translate source inputs into target inputs. A profile allows one type of input (such as a gamepad) to be translated into another type of input (such as mouse movement). 📜️[fr]: Un démon libre de routage et de contrôle des entrées. Il permet de combiner un nombre illimité de périphériques d'entrée (tels que manettes, souris et claviers) et de traduire leurs entrées vers divers formats de périphériques virtuels (composites). Il permet notamment de combiner plusieurs périphériques d'entrée (souris, clavier, manette) ou d'émuler leurs entrées, d'intercepter et d'acheminer les entrées via DBus pour les contrôler via une interface d'overlay. Il fournit aussi des profils de mappage d'entrées permettant de traduire les entrées source en entrées cibles. Un profil permet de traduire un type d'entrée (tel qu'un gamepad) en un autre type d'entrée (comme le mouvement de la souris).

🕸️ Links

🏡️ Website & videos
Website: [Homepage] [Dev site] [Features/About] [Screenshots]
Videos: t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) ht(202xxx) g(202xxx) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)]
Doc: [WIKI] [FAQ]
Updates: [RSS] / [Changelog 1(news/blog) 2(release notes) 3(tags) 4(commits)]

💰 Commercial
• (empty):

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (InputPlumber Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [Bluesky] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (William Edwards (ShadowApex) 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [Bluesky] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [Bluesky] [PeerTube] [YouTube] [PressKit] [Lemmy] [reddit] [Discord]

🐝️ Related
[HOLaRSE [de]]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] 2 (author's repo)] [Debian/Ubuntu (author's repo)] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [HOLaRSE [de] (20260509)]

🦣️ Social Networking Update (on mastodon)

🕵‍ xxx:

🛠️ Title: InputPlumber
🦊️ Idea: A libre daemon that handles routing and input control
🏡️ https://shadowblip.github.io/InputPlumber/
🐣️ https://github.com/ShadowBlip/InputPlumber/
🔖 #LinuxTool #Mapping #Gamepad #Keyboard #Mouse
📦️ #Libre #Bin #Arch #RPM #Deb
📕️ https://lebottinlinux.vps.a-lec.org/LO.html

🥁️ Update: 0.77.1
⚗️ Minor vers. 🐁️
📌️ Changes: https://github.com/ShadowBlip/InputPlumber/releases
🦣️ From: https://mastodon.social/@holarse/116545080259069781
🛜️ https://github.com/ShadowBlip/InputPlumber/releases.atom

🕶️ The project icon

📚️ InputPlumber is a libre daemon for routing and controlling input. It allows users to combine an unlimited number of input devices (such as controllers, mice and keyboards) and translate their inputs into various virtual device formats (composites). In particular, it allows combining multiple input devices (mouse, keyboard, gamepad) or emulating their inputs, intercepting and routing inputs via DBus to control them via an overlay interface. It also provides input mapping profiles to translate source inputs into target inputs. A profile allows one type of input (such as a gamepad) to be translated into another type of input (such as mouse movement).

📕 Description [en]

📜️ "A libre daemon that handles routing and input control" 📜️


InputPlumber is an open source input routing and control daemon for Linux. It can be used to combine any number of input devices (like gamepads, mice, and keyboards) and translate their input to a variety of virtual device formats.

Features

✅️ Combine multiple input devices
✅️ Emulate mouse, keyboard, and gamepad inputs
✅️ Intercept and route input over DBus for overlay interface control
✅️ Input mapping profiles to translate source input into the desired target input
☐ Route input over the network

How it works

InputPlumber is designed around the concept of a Composite Device, which is a logical collection of one or more source devices that InputPlumber reads input events from, then translates and routes those events to one or more target devices.

Input Event Flow

When InputPlumber reads an event from a source device, it first identifies any input events that may need to be interpreted differently using a Capability Map, which is a YAML configuration file that tells InputPlumber how it should interpret events from a source device. After the event is interpreted, it is sent to the Composite Device.

Once the Composite Device receives the input event from the source device, the event is translated according to any Profile that might be loaded on the Composite Device. A Profile allows translating one kind of input (like a gamepad joystick) into another kind of input (like mouse motion).

Finally, once the event is translated according to the Profile, it is routed to any target device(s) that support the input event.

📕 Description [fr]

Un démon libre de routage et de contrôle des entrées, par la InputPlumber Team, initié par William Edwards (ShadowApex).

InputPlumber est un démon libre de routage et de contrôle des entrées. Il permet de combiner un nombre illimité de périphériques d'entrée (tels que manettes, souris et claviers) et de traduire leurs entrées vers divers formats de périphériques virtuels (composites). Il permet notamment de combiner plusieurs périphériques d'entrée (souris, clavier, manette) ou d'émuler leurs entrées, d'intercepter et d'acheminer les entrées via DBus pour les contrôler via une interface d'overlay. Il fournit aussi des profils de mappage d'entrées permettant de traduire les entrées source en entrées cibles. Un profil permet de traduire un type d'entrée (tel qu'un gamepad) en un autre type d'entrée (comme le mouvement de la souris).


InputPlumber est un démon open source de routage et de contrôle des entrées pour Linux. Il permet de combiner un nombre illimité de périphériques d'entrée (tels que manettes, souris et claviers) et de traduire leurs entrées vers divers formats de périphériques virtuels.

Fonctionnalités

✅️ Combiner plusieurs périphériques d'entrée
✅️ Émuler les entrées de souris, de clavier et de manette
✅️ Intercepter et acheminer les entrées via DBus pour les contrôler via une interface d'overlay
✅️ Profils de mappage d'entrées pour traduire les entrées source en entrées cible souhaitées
☐ Acheminer les entrées via le réseau

Fonctionnement

InputPlumber s'articule autour du concept de « périphérique composite », qui est un ensemble logique d'un ou plusieurs périphériques source à partir desquels InputPlumber lit les événements d'entrée, puis traduit et achemine ces événements vers un ou plusieurs périphériques cibles.

Flux des événements d'entrée

Lorsque InputPlumber lit un événement provenant d'un périphérique source, il identifie d'abord les événements d'entrée qui pourraient nécessiter une interprétation différente à l'aide d'une carte de capacités (Capability Map), qui est un fichier de configuration YAML indiquant à InputPlumber comment interpréter les événements provenant d'un périphérique source. Une fois l'événement interprété, il est envoyé au périphérique composite.

Une fois que le périphérique composite a reçu l'événement d'entrée provenant du périphérique source, l'événement est traduit selon tout profil susceptible d'être chargé sur le périphérique composite. Un profil permet de traduire un type d'entrée (comme le joystick d'une manette de jeu) en un autre type d'entrée (comme le mouvement de la souris).

Enfin, une fois l'événement traduit conformément au profil, il est acheminé vers tout appareil cible prenant en charge cet événement d'entrée.