awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
sezanzeb avatar

sezanzeb/input-remapper

0
View on GitHub↗

Input Remapper

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.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Linux - A Linux tool that reassigns physical keys, buttons, and axes on input devices using evdev and uinput.
  • Input Event Interception - Captures raw input events from Linux evdev devices at the kernel level before system processing.
  • Synthetic Input Device Injectors - Creates synthetic input devices via the uinput kernel module to inject remapped events into the system.
  • Daemon-Client Structures - Splits the input remapping system into a persistent background daemon and a graphical configuration client.
  • Configuration-Driven Rule Engines - Provides a rule engine that parses JSON/YAML configuration files to define input remapping rules at runtime.
  • Keyboard Mappers - Reassigns individual keyboard keys to different keypresses or macros for personalized typing and shortcuts.
  • Gamepad Button Reassigners - Maps gamepad buttons and axes to keyboard keys, mouse actions, or other gamepad outputs for custom controls.
  • Gamepad-to-Keyboard Mappings - Maps gamepad buttons and joysticks to emulate keyboard keys and mouse movements for game compatibility.
  • Input Remapping - Reassigns physical keys or buttons on input devices to trigger different keyboard or mouse actions.
  • Accessibility Customizations - Enables accessibility adaptations by remapping keys to easier positions for users with disabilities.
  • Modifier-Aware Key Mappings - Preserves modifier key order and timing when remapping key combinations for complex shortcuts.
  • Mouse Button Reconfigurations - Customizes mouse button assignments for left-handed use, gaming, or productivity workflows.
  • User-Space Processing Pipelines - Transforms input events through a series of user-space stages that apply mapping rules before injection.
  • Keyboard Layout Configurations - Modifies keyboard layout to create custom key bindings for frequently used applications or games.
  • Native Input Mappers - Relies on Linux evdev and uinput to intercept and modify input events in real time.
5,389 stars·211 forks·Python·gpl-3.0·35 views

Star history

Star history chart for sezanzeb/input-remapperStar history chart for sezanzeb/input-remapper

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does sezanzeb/input-remapper do?

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.

What are the main features of sezanzeb/input-remapper?

The main features of sezanzeb/input-remapper are: Linux, Input Event Interception, Synthetic Input Device Injectors, Daemon-Client Structures, Configuration-Driven Rule Engines, Keyboard Mappers, Gamepad Button Reassigners, Gamepad-to-Keyboard Mappings.

Which projects share features with sezanzeb/input-remapper?

Projects with overlapping indexed features include: pqrs-org/karabiner-archived — This project is a macOS keyboard remapping utility that intercepts and transforms hardware input events to customize… davidobot/betterjoy — BetterJoy is a software layer and driver for connecting Nintendo Switch Pro Controllers and Joy-Cons to a Windows… rvaiya/keyd — keyd is a kernel-level daemon for Linux that intercepts and remaps physical keyboard inputs to create custom layouts… boppreh/keyboard — This project is a cross-platform input interception library and global keyboard event simulator for Windows and Linux.… rbreaves/kinto — Kinto is an application-specific keymap engine and contextual keyboard remapper. It functions as a… jtroo/kanata — Kanata is a cross-platform keymap engine and keyboard firmware emulator that intercepts physical keystrokes to output…

Projects sharing features with Input Remapper

These projects share indexed features with Input Remapper. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • pqrs-org/karabiner-archivedpqrs-org avatar

    pqrs-org/Karabiner-archived

    3,787View on GitHub↗

    This project is a macOS keyboard remapping utility that intercepts and transforms hardware input events to customize key mappings, mouse behavior, and system automation. It utilizes a kernel-level input interceptor to modify or block raw hardware signals before they reach the operating system, paired with a state-aware rule engine that processes signals through conditional logic based on the active application or hardware. The system includes a human interface device emulator to inject synthesized keyboard and mouse events into macOS and a keyboard macro system for executing shell commands, l

    C++
    View on GitHub↗3,787
  • davidobot/betterjoyDavidobot avatar

    Davidobot/BetterJoy

    4,698View on GitHub↗

    BetterJoy is a software layer and driver for connecting Nintendo Switch Pro Controllers and Joy-Cons to a Windows environment via Bluetooth or USB. It functions as an XInput controller emulator and gamepad input mapper, translating Nintendo Switch controller inputs into XInput signals for use with PC games and emulators. The project includes a gyroscope mouse emulator that maps the internal gyroscope of Nintendo Switch controllers to system mouse cursor movement. It also provides a configuration interface for remapping controller buttons to custom keyboard keys. The software covers hardware

    C#bluetoothcemucemu-emulator
    View on GitHub↗4,698
  • rvaiya/keydrvaiya avatar

    rvaiya/keyd

    5,590View on GitHub↗

    keyd is a kernel-level daemon for Linux that intercepts and remaps physical keyboard inputs to create custom layouts and shortcuts. It functions as a system-level input service and layout manager, capable of modifying input signals before they reach the operating system. The service supports application-aware mapping, which dynamically changes keyboard behavior based on the active window. It also provides device-specific mapping, allowing unique configurations to be assigned to different physical keyboards using their hardware identifiers. The tool includes capabilities for managing multiple

    Cckeyboardkeyboard-layout
    View on GitHub↗5,590
  • boppreh/keyboardboppreh avatar

    boppreh/keyboard

    3,962View on GitHub↗

    This project is a cross-platform input interception library and global keyboard event simulator for Windows and Linux. It provides a programmatic interface to monitor global keyboard events, simulate hardware input, and block system events to create custom hotkeys and shortcuts. The tool functions as a keyboard macro automation utility and a text expansion engine. It can record keystroke sequences and replay them with precise timing, or detect specific typed character sequences and replace them with predefined strings using simulated backspaces. The library covers a broad range of input cont

    Pythoncallbackhotkeykeyboard-events
    View on GitHub↗3,962
  • Compare all 30 related projects→