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
rvaiya avatar

rvaiya/keyd

0
View on GitHub↗
5,590 stars·254 forks·C·MIT·12 views

Keyd

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 keyboard layers via modifier keys and overloading keys to perform different actions based on whether they are tapped or held. Additional input management features include one-shot modifiers and the emission of specific Unicode characters.

Features

  • Input Event Interception - Intercepts raw keyboard hardware signals at the kernel level to modify input before it reaches the OS.
  • Layered Keymaps - Maintains multiple mapping sets that can be toggled via modifier keys to change active keyboard layouts.
  • Application-Specific Bindings - Changes keyboard behavior dynamically based on the active window or application currently in focus.
  • Application-Context Profiles - Provides configuration sets that automatically activate based on the focused system window or application.
  • Device-Specific Remapping - Assigns unique key remaps to specific physical keyboards using their unique hardware identifiers.
  • Device-Specific Mappings - Assigns unique key remaps to specific hardware keyboards using their unique device identifiers.
  • Dynamic Layering - Enables toggling between different sets of key mappings dynamically during use via modifier keys.
  • Dynamic Layout Layering - Supports defining multiple sets of key mappings that toggle to change key functions using a modifier.
  • Tap-Hold Key Behaviors - Implements logic for keys that trigger different actions depending on whether they are tapped or held.
  • Linux - Uses Linux kernel interfaces like evdev and uinput to intercept and redirect hardware keyboard events.
  • Kernel-Level Input Remapping - Changes the output of physical keys at the kernel level to create custom layouts and shortcuts.
  • Keyboard Layout Managers - Provides a tool for defining custom key mappings, layers, and modifier behaviors to change how a keyboard functions.
  • Application-Aware Keymaps - Changes keyboard behavior dynamically based on which window or application is currently active.
  • Device-Specific Input Rules - Applies custom input remapping and transformation logic to specific hardware devices using unique identifiers.
  • Virtual Key Injection - Generates synthetic input events to inject specific keycodes or Unicode characters into the system input buffer.
  • One-Shot Modifiers - Implements one-shot modifiers that apply a modifier key to the next pressed key without needing to hold it down.

Star history

Star history chart for rvaiya/keydStar history chart for rvaiya/keyd

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.

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

Projects sharing features with Keyd

These projects share indexed features with Keyd. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • kmonad/kmonadkmonad avatar

    kmonad/kmonad

    5,018View on GitHub↗

    Kmonad is a cross-platform keyboard remapper and advanced key mapping engine that intercepts physical keyboard inputs and transforms them into customized virtual output events. It functions as a programmable input wrapper and multi-layer keyboard manager, allowing users to redefine physical keys and route hardware inputs to virtual devices across different operating systems. The system distinguishes itself through a multi-layer management architecture that enables the definition of dynamic keyboard layers and overlays to change keyboard functions based on the current context. It implements co

    Haskellcross-platformhaskellkeyboard
    View on GitHub↗5,018
  • rbreaves/kintorbreaves avatar

    rbreaves/kinto

    5,179View on GitHub↗

    Kinto is an application-specific keymap engine and contextual keyboard remapper. It functions as a configuration-driven utility that automatically switches keyboard mappings and modifier keys based on the active application window. The project acts as a cross-platform input manager and desktop shortcut emulator, specifically designed to replicate macOS keyboard shortcuts and layout behaviors on Linux and Windows. This enables a Mac-style workflow on Linux by matching keyboard shortcut behaviors across different operating systems. The system provides capabilities for custom input remapping an

    Python
    View on GitHub↗5,179
  • tekezo/karabinertekezo avatar

    tekezo/Karabiner

    3,787View on GitHub↗

    Karabiner is a system-level keyboard remapper and input modifier for macOS. It functions as a kernel-level interceptor that modifies raw hardware events before they reach the operating system, utilizing a virtual hardware device to inject synthesized keyboard and mouse actions. The project distinguishes itself as a context-aware input manager, applying modification rules dynamically based on the active application, connected hardware, or current input source. It serves as a keyboard macro engine capable of automating multi-key shortcuts and conditional behaviors. Its broader capabilities inc

    C++
    View on GitHub↗3,787
  • zmkfirmware/zmkzmkfirmware avatar

    zmkfirmware/zmk

    4,124View on GitHub↗

    ZMK is a modular firmware framework built on the Zephyr RTOS for wireless keyboards. It functions as a programmable system for defining custom keymaps, layers, and input behaviors, acting as an HID device emulator for keyboard and mouse input on computers and mobile devices. It specifically provides a controller solution for synchronizing two separate keyboard halves over wireless or wired links. The project is distinguished by its focus on Bluetooth Low Energy connectivity, featuring multi-device pairing and the ability to switch between several saved host profiles. It includes advanced powe

    Cbluetoothhacktoberfestkeyboard
    View on GitHub↗4,124
Compare all 30 related projects→

Frequently asked questions

What does rvaiya/keyd do?

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.

What are the main features of rvaiya/keyd?

The main features of rvaiya/keyd are: Input Event Interception, Layered Keymaps, Application-Specific Bindings, Application-Context Profiles, Device-Specific Remapping, Device-Specific Mappings, Dynamic Layering, Dynamic Layout Layering.

Which projects share features with rvaiya/keyd?

Projects with overlapping indexed features include: kmonad/kmonad — Kmonad is a cross-platform keyboard remapper and advanced key mapping engine that intercepts physical keyboard inputs… rbreaves/kinto — Kinto is an application-specific keymap engine and contextual keyboard remapper. It functions as a… tekezo/karabiner — Karabiner is a system-level keyboard remapper and input modifier for macOS. It functions as a kernel-level interceptor… zmkfirmware/zmk — ZMK is a modular firmware framework built on the Zephyr RTOS for wireless keyboards. It functions as a programmable… pqrs-org/karabiner-archived — This project is a macOS keyboard remapping utility that intercepts and transforms hardware input events to customize… sezanzeb/input-remapper — Input Remapper is a Linux tool that reassigns physical keys, buttons, and axes on keyboards, mice, and gamepads to…