{"adoption": {"forks": 46, "observed_at": "2026-09-01T02:14:02.907672+00:00", "stars": 1140}, "canonical_url": "https://ross.abutalabs.com/products/houmain-keymapper", "card": {"archived": false, "artifact_type": "application", "description": "A cross-platform context-aware key remapper.", "domain": ["developer-tools", "accessibility", "cross-platform"], "enriched": true, "function": ["developer-tools", "accessibility", "workflow-automation", "configuration-management"], "health_score": 100, "homepage": null, "language": "C++", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["houmain/keymapper"], "name": "houmain/keymapper", "platform": ["windows", "bsd", "cross-platform", "cli"], "pushed_at": "2026-08-29T16:01:41+00:00", "repo": "houmain/keymapper", "stars": 1140, "tags": ["key-remapping", "keyboard-shortcuts", "wayland", "context-aware", "keyboard-layout", "system-utility", "linux", "macos"], "topics": ["keyboard-shortcuts", "keyboard-layout", "context-awareness", "keymapper", "cross-platform", "wayland", "accessibility", "automation", "productivity"], "urls": [], "use_cases": ["remap caps lock to backspace systemwide", "change keyboard shortcuts per application", "manage all keyboard shortcuts in one config file", "share key remapping config between linux windows and mac", "swap key positions on a non-standard keyboard layout", "bind keyboard shortcuts to launch applications", "remap keys on wayland"], "what_it_is": "A cross-platform, context-aware key remapper that lets users redefine keyboard layouts and shortcuts systemwide or per application via a single hand-written configuration file. It runs as a daemon (keymapperd) on GNU/Linux, Windows, macOS, and FreeBSD, and includes keymapperctl for external control.", "when_to_avoid": ["you need a graphical interface to manage remapping", "you only need simple remapping already handled by your OS settings", "you need macro recording or complex scripted automation"], "when_to_choose": ["you need consistent key remapping across multiple operating systems", "you want per-application context-aware shortcut remapping", "you prefer a simple text-based configuration over GUI tools", "you use Wayland where many remappers don't work"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/houmain-keymapper", "repo": "houmain/keymapper", "role": "main", "score": 100}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.907672+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:36:15.736189+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "999853d124442e3fec91f2165473c77454b844e9163cad826939bc864ad8f742", "fetched_at": "2026-09-01T02:14:02.907672+00:00", "kind": "readme", "missing": false, "url": "https://github.com/houmain/keymapper"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 99}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2719, "days_push": 4, "days_rel": 4, "gap_med": 14, "n_releases_24m": 32}, "score": 100, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}