30 open-source projects similar to rvaiya/keyd, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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
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
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
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-clien
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
Karabiner-Elements is a system-level utility designed for advanced keyboard and mouse customization. It functions as a background service that intercepts raw hardware input signals at the driver level, allowing for the transformation of key presses and pointer movements before they reach the operating system. By utilizing virtual input device emulation, the software re-injects modified events into the system stream, enabling complex remapping, macro execution, and hardware-specific control. The project distinguishes itself through a sophisticated state-based logic engine that enables context-
Kanata is a cross-platform keymap engine and keyboard firmware emulator that intercepts physical keystrokes to output modified signals on Windows, Linux, and macOS. It serves as a keyboard remapper and layer manager, allowing users to define custom key-map sequences and modal editing behaviors through a declarative configuration file. The system implements keyboard firmware features in software, enabling advanced behaviors such as tap-hold logic, unicode output, and dynamic macros. It utilizes a state-based layer stack to manage multiple sets of key assignments that toggle dynamically and sup
LinearMouse is a macOS system utility that overrides default pointer acceleration and scrolling behaviors for mice and trackpads. It provides tools to remove cursor acceleration for linear movement and decouple scroll directions for individual devices. The project features an input device profiler that allows for unique cursor and scroll configurations based on the connected hardware. It also includes an input remapper to assign mouse buttons and scroll gestures to keyboard shortcuts and system media controls. The utility covers pointer precision adjustment, scroll behavior customization, an
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
logiops is a userspace driver and configuration tool for Logitech hardware that utilizes the HID++ protocol to manage input behaviors. It functions as an input device mapper and peripheral gesture engine, allowing for the assignment of custom key presses and actions to hardware buttons on compatible mice and keyboards. The project differentiates itself through a specialized gesture engine that triggers software actions based on mouse movement and button combinations. It also provides hardware-level control over vendor-specific features, such as adjusting SmartShift thresholds for scroll wheel
skhd is a hotkey daemon and keyboard remapper for macOS. It operates as a background service that maps custom keyboard shortcuts to shell commands, scripts, and system actions. The utility features application-aware shortcut management, allowing the same hotkey to execute different commands depending on which application is focused. It also includes an input mode manager to define distinct operational modes that change how keys behave based on the active state. The system supports contextual routing through application-specific shortcuts and event exclusions to preserve native app behavior.
Clink is a command line enhancer and shell extension for the Windows CMD terminal. It functions as a readline-style input library and completion engine, adding advanced line editing, persistent command history, and command argument prediction to the standard Windows command line environment. The project distinguishes itself through a scriptable architecture that allows for custom completion definitions, Lua keyboard mapping, and dynamic prompt customization. It enables the creation of context-sensitive prompts that can include asynchronous updates, environment-based formatting, and transient
Barrier is a network-based software utility that functions as a keyboard and mouse switch, allowing a single set of input peripherals to control multiple computers. By capturing raw hardware signals at the system level, it redirects input events across a local network to create a unified workspace across distinct physical displays and operating systems. The project operates as a client-server system that maintains persistent network connections to route input data. It distinguishes itself by normalizing disparate hardware signals into a unified internal format, enabling consistent interaction
Glazewm is a tiling window manager and desktop automation framework designed to organize application windows into non-overlapping layouts. It functions as a keyboard-driven controller, allowing users to manage window focus, workspace navigation, and layout configurations entirely through custom keybindings. By intercepting system-level events, the software overrides default window placement and behavior to maximize screen space and maintain a structured workspace. The project distinguishes itself through a highly configurable environment that supports complex multi-monitor setups and dynamic
BongoCat is a cross-platform desktop utility that provides real-time visual feedback for keyboard and mouse activity. It functions as an interactive companion that renders an animated character on the screen, which reacts dynamically to user inputs. The application operates entirely offline, ensuring that all input processing remains local to the user environment without external network dependencies or data collection. The software distinguishes itself through a flexible asset-based rendering system that allows users to import and apply custom character designs. By intercepting low-level inp
Seelen-UI is a graphical shell and window management utility for Windows that provides a modular, keyboard-driven desktop environment. It enables users to organize application windows through automated tiling, stacking, and floating layouts, while offering a framework for creating interactive desktop widgets using web technologies. The project distinguishes itself by integrating a web-based rendering engine that bridges system-state data to HTML and CSS interfaces, allowing for highly customizable widgets and dynamic visual themes. It features real-time wallpaper analysis to automatically syn
Miryoku is a universal mapping specification for ergonomic and orthogonal keyboards. It provides a standardized set of key assignments and layers designed to decouple logical input intent from specific physical hardware, ensuring consistent key placement across different firmware and devices. The system focuses on home-row navigation, placing cursor movement, mouse emulation, and system functions on the home row to minimize hand travel. It utilizes a layer-based input strategy with toggleable and modal layers to manage numerals, symbols, and media controls without relying on complex modifier
libinput-gestures is a Linux input event daemon and touchpad gesture mapper that translates libinput events into shell commands or keyboard shortcuts. It functions as a background process that monitors raw input signals to automate workflows and execute system actions based on a user-defined configuration file. The tool allows for the mapping of multi-finger swipes and hold gestures to specific terminal commands or desktop workspace navigation. It differentiates between actions by filtering for finger counts, swipe directions, and the duration of hold gestures. The system integrates with sys
Evil is a modal editing framework and state-machine layer for the Emacs text editor. It functions as a modal text editing layer that separates text entry from navigation and manipulation by routing intercepted keystrokes through a central command dispatching system. The project serves as a Vim keybinding emulator, mapping standard modal editing commands and keyboard shortcuts into the Emacs environment. It utilizes an operator-motion command engine to compose atomic movement and action inputs into complex grammatical editing operations. The framework covers keyboard-driven navigation and tex
OpenLogi is a local-first hardware configuration tool and cross-application input mapper written in Rust. It enables the customization of peripherals using the HID++ protocol, allowing users to manage device settings without the need for cloud accounts or telemetry. The system distinguishes itself by employing a local-first approach, storing all device configurations and button mappings in plain-text files. This design supports manual editing and version control while ensuring that commands are dispatched directly to the hardware memory. The suite covers several hardware management areas, in
InputSourcePro is a macOS keyboard layout manager and automation tool designed to automate the switching of input sources based on application focus and system rules. It serves as a contextual input source switcher and keyboard shortcut mapper that triggers layout changes when specific applications gain focus or certain browser URLs are visited. The tool distinguishes itself by offering URL-based layout switching and the ability to enforce English punctuation within specific applications. It also provides dynamic function key behavior, allowing the system to toggle between standard function k
Fusuma is a gesture recognition daemon and multitouch input mapper for Linux systems. It operates as a background service that monitors raw input devices and translates trackpad swipes, pinches, and rotations into user-defined shell commands and keyboard shortcuts. The system utilizes a modular input framework that allows for device-specific filtering to ensure gestures are only processed from designated touchpads. It features a plugin architecture that enables the integration of external modules for custom gesture configurations and keyboard event emulation. The software covers input automa
Solaar is a device management tool and configuration suite for Logitech wireless peripherals on Linux. It serves as an input peripheral monitor that tracks battery levels and connection link quality via a system tray application, while providing a receiver manager for pairing and unpairing wireless devices with proprietary USB receivers. The project features an input device automation engine that maps hardware events and mouse gestures to simulated keyboard inputs or system commands. This allows for the creation of custom rules that trigger actions based on device notifications or specific wi
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
Prompt is a terminal interface management library for Node.js applications that collects, validates, and styles interactive command-line user input. It handles user response collection and input stream controls, allowing developers to build command-line scripts and automation tools that require structured user input. The library supports asynchronous event-driven prompt flows through both callback patterns and modern promises, alongside conditional prompt bypassing driven by command-line arguments, default values, preset overrides, and previous answers. Captured terminal responses can be appe
MonitorControl is a macOS display control utility and external monitor manager. It functions as a DDC/CI display controller that allows users to adjust the brightness and volume of third-party monitors using native Apple keyboard keys. The software mimics native macOS hardware feedback by implementing a system overlay tool that renders on-screen display indicators during adjustments. It further provides the ability to synchronize brightness levels across multiple screens or replicate ambient light sensor changes to external displays. The utility includes capabilities for mapping custom keybo
Alt-tab-macos is a productivity utility designed to replace the default application switcher on macOS. It functions as a background application that aggregates active windows across all monitors and virtual desktops into a single, keyboard-driven interface, allowing users to navigate between applications, minimized windows, and hidden processes. The tool distinguishes itself by providing granular control over window states and visibility, enabling users to close, minimize, or toggle fullscreen modes directly from the switcher. It supports advanced navigation through customizable keyboard shor
Keycastr is a system-level utility for macOS that captures and displays keyboard and mouse interactions as visual overlays on the desktop. By registering global event taps within the operating system, it monitors input actions in real time and renders them through transparent, non-interactive windows that float above other active applications. The application distinguishes itself through a plugin-based architecture that allows for the integration of custom modules to define how input events are rendered. Users can manage the lifecycle and positioning of these visual elements through a native
Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua scripting environment. By bridging high-level scripts with native Objective-C APIs, it allows users to interact with the operating system's accessibility tree, intercept hardware input streams, and manage the lifecycle of running applications. The project distinguishes itself through an event-driven architecture that registers asynchronous hooks for system notifications and hardware events. This allows for real-time automation, such as remapping keyboard and mouse inputs, managing wi