houmain

houmain/keymapper

C++ GPL-3.0 Productivity

A cross-platform context-aware key remapper.

1.1k stars
42 forks
active
GitHub +3 / week

1.1k

Stars

42

Forks

14

Open issues

11

Contributors

5.6.0 14 Jun 2026

AI Analysis

keymapper is a cross-platform, context-aware keyboard remapper that lets users redefine keys and shortcuts systemwide or per-application through a single configuration file. It supports GNU/Linux, Windows, macOS, and FreeBSD, with features including mouse button mapping, application launching, and dynamic configuration reloading. This tool is purpose-built for power users, accessibility advocates, and keyboard enthusiasts who need fine-grained control over input devices — not for general-purp...

Productivity Application Discovery value: 6/10
Documentation 8/10
Activity 9/10
Community 7/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

keyboard-remapping cross-platform context-aware accessibility automation
Actively maintained Well documented Niche/specialized use case GPL-3.0 licensed Production ready
Deep Analysis · Based on README and public signals
6d ago

Lightweight cross-platform key remapper with context awareness, steady maintenance since 2019

keymapper is a C++ daemon for remapping keyboard input and managing shortcuts across Windows, macOS, Linux, and FreeBSD. It enables per-application key rebinding through a human-readable configuration file and supports context-aware rules based on window title, process, or input device. Adoption appears limited to power users and keyboard enthusiasts; real-world usage is not well-documented. The project is actively maintained with recent commits but grows modestly compared to higher-starred alternatives in the same category.

Origin

Created in March 2019 by houmain, keymapper emerged as a response to the need for a unified, cross-platform key remapping tool that could work consistently across different operating systems. It has evolved incrementally with steady refinements rather than rapid feature expansion.

Growth

The project has accumulated 1,119 stars over ~7 years with relatively flat growth (6 stars in last 7 days as of July 2026). This suggests either a mature, stable user base with limited new adoption, or limited awareness in the broader keyboard remapping market. The presence of multiple competing projects with substantially higher star counts suggests keymapper occupies a smaller niche despite similar functionality.

In production

Adoption not verified. README does not document known production deployments, organizations, or large-scale usage. No case studies, testimonials, or deployment metrics are provided. The modest star count and slow recent growth do not confirm active real-world use, though they do not rule it out either.

Code analysis
Architecture

Based on README, keymapper appears to follow a daemon-plus-config-file architecture: a background service (keymapperd) reads declarative configuration files and applies key transformation rules. Context awareness is built into the mapping logic, allowing conditionals based on window metadata or input device. The configuration syntax uses a simple arrow notation (input >> output) with support for nested modifier groups, sequential and simultaneous key combinations, and string literals for character typing. Likely uses low-level OS APIs for keyboard interception on each supported platform.

Tests

Not documented in README. No mention of unit tests, integration tests, or CI/CD test reporting beyond a build badge.

Maintenance

Last push 2026-06-14 (20 days before analysis date), indicating active maintenance. Build workflow badge present, suggesting CI/CD is in place. Issue tracker appears monitored. Commits are recent and regular, but update frequency is not specified in README. Project does not appear abandoned, but update cadence is moderate rather than rapid.

Honest verdict

ADOPT IF: you need cross-platform key remapping (Windows, macOS, Linux, FreeBSD) with per-application context rules and want to manage all shortcuts in a single declarative file. The syntax is human-readable and the project is actively maintained. AVOID IF: you require strong community support, extensive third-party documentation, or verified production deployment at scale—adoption is not well-documented and the project remains relatively unknown outside keyboard enthusiast circles. MONITOR IF: you are evaluating it for a new deployment; verify compatibility with your specific OS and application, and assess whether the modest community size poses a risk if you need community support or bug fixes.

Independent dimensions

Mainstream potential

3/10

Technical importance

6/10

Adoption evidence

2/10

Risks
  • Adoption is not verified in README or public documentation, making it difficult to assess real-world reliability or community responsiveness.
  • Star count and growth lag significantly behind competing projects (kanata, input-remapper, xremap), which may signal lower visibility or less active community evangelism.
  • Test coverage not documented; no transparency on how thoroughly the tool is tested across supported platforms.
  • Cross-platform support (Windows, macOS, Linux, FreeBSD) introduces maintenance complexity; a single maintainer or small team may struggle with platform-specific bugs.
  • Configuration file language is custom; learning curve and potential incompatibility if project is abandoned or unmaintained.
Prediction

keymapper likely remains a stable niche tool for users who prioritize unified cross-platform configuration over community size. Barring major new features or marketing efforts, it will probably continue accruing stars slowly. The presence of larger competitors suggests it may never achieve mainstream adoption, but active maintenance and clear scope make it a reliable choice for specific use cases.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

C++
96.6%
C
2%
CMake
0.8%
Objective-C++
0.3%
Shell
0.2%
JavaScript
0.1%
PowerShell
0%

Information

Language
C++
License
GPL-3.0
Last updated
5d ago
Created
89mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

keymapperorg

keymapperorg/KeyMapper

Key Mapper is an Android app that enables users to remap buttons on phones,...

2.5k Kotlin Mobile
xremap

xremap/xremap

xremap is a key remapper for Linux that supports both X11 and Wayland, unlike...

2.1k Rust Dev Tools
jtroo

jtroo/kanata

Kanata is a cross-platform keyboard remapper for Linux, macOS, and Windows that...

7.6k Rust Productivity
sezanzeb

sezanzeb/input-remapper

Input Remapper is a Linux desktop application that remaps input devices...

5.8k Python Productivity
RedBearAK

RedBearAK/Toshy

Toshy is a keymapper configuration tool that enables macOS-style keyboard...

1.1k Python Productivity
vs. alternatives
kanata (7577 stars, Rust)

kanata has ~6.8× the star count and is more actively discussed in keyboard enthusiast communities. Both support cross-platform remapping; kanata is more heavily used in the custom keyboard/QMK ecosystem. kanata's higher stars may reflect stronger community visibility rather than superior capability.

input-remapper (5759 stars, Python)

Larger Linux-focused user base. Python implementation may be more accessible for modification but potentially less performant. input-remapper appears to dominate Linux remapping discussions; keymapper aims for broader cross-platform consistency.

xremap (2121 stars, Rust)

Similar scope but lower adoption than kanata and input-remapper. Both keymapper and xremap serve users wanting systemwide context-aware remapping; xremap has ~1.9× keymapper's stars.

Toshy (1062 stars, Python)

Nearly identical star count to keymapper. Both are niche projects. Toshy focuses on keyboard layout switching; keymapper is more general-purpose remapping.

KeyMapper (2447 stars, Kotlin)

Android-focused tool; different platform, so not a direct competitor. Demonstrates that 'keymapper' naming appears in multiple distinct projects, which may dilute searchability for houmain's version.