30 open-source projects similar to pqrs-org/karabiner-elements, 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.
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
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
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
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
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
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
SerpentAI is a game AI development kit and computer vision framework designed for building autonomous agents that interact with video games. It serves as a game input automation tool and a machine learning model integration engine, allowing developers to create agents that perceive game states and execute actions. The framework utilizes a plugin-based agent architecture to provide modular extensions for game-specific logic and behaviors. It features a specialized system for training, bundling, and deploying machine learning classifiers to recognize visual contexts and game states in real time
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
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
This project is a macOS input remapper and mouse customizer designed to assign custom actions and system-wide gestures to mouse button presses and movements. It functions as a mouse gesture manager and scroll enhancer, enabling the emulation of multi-finger trackpad motions and providing omnidirectional precision scrolling. The utility distinguishes itself by allowing independent scroll direction settings for a mouse without altering global trackpad configurations. It further implements a momentum-based algorithm to replace discrete scroll steps with smooth, fluid movement. The software cove
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
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
skhd is a keyboard shortcut manager and hotkey daemon for macOS. It functions as an input remapper that maps custom keyboard shortcuts to shell commands and system actions via a plain text configuration file. The utility supports modal keyboard workflows, allowing groups of shortcuts to activate only when the system is in a specific operational mode. It also enables application-specific hotkeys and application blacklisting, ensuring shortcuts only trigger based on which application is currently in focus. Additional capabilities include the remapping of hardware media keys and the synthesis o
Agent-S is a multimodal AI agent and LLM desktop automation framework designed to control operating systems through graphical user interface interactions. It functions as a computer use interface, utilizing vision-language grounding to translate natural language goals into precise screen coordinates and system actions. The project differentiates itself by combining structured accessibility tree inspection with vision-based element localization. It manages cross-application workflows by mapping conceptual descriptions to physical pixels and simulating low-level keyboard and mouse events to mov
Robotjs is a native Node.js automation library and desktop input simulator. It uses C++ bindings to provide low-level access to operating system functions, allowing for the programmatic control of the mouse and keyboard and the analysis of screen pixels. The library functions as a toolkit for automating user interfaces and desktop workflows, including those within Electron applications. It enables the simulation of key presses and mouse movements to automate interactions with desktop software and perform automated data entry. Its capabilities extend to screen pixel analysis, where it capture
Bytebot is an LLM desktop automation framework and virtual Linux desktop environment. It enables AI agents to plan and execute mouse and keyboard actions on a virtual computer using natural language, allowing for autonomous desktop automation and the integration of legacy systems that lack native APIs. The system operates as an LLM API gateway and a Model Context Protocol server, routing requests across multiple language model providers with integrated load balancing and rate limiting. It provides isolated, containerized environments where agents use visual reasoning to interpret screenshots
This is a Model Context Protocol server that exposes Windows desktop automation and system administration functions to large language models. It provides programmatic control of mouse, keyboard, windows, and UI elements on Windows through simulated user input, while also enabling LLMs to manage the Windows registry, processes, files, and execute PowerShell commands through a remote interface. The server supports multiple transport protocols including stdio, SSE, and streamable HTTP, allowing flexible integration with different language model clients. It implements OAuth 2.0 with PKCE for secu
PyAutoGUI is a Python GUI automation library and desktop automation framework. It provides a set of tools for programmatically controlling the mouse and keyboard to automate user interface interactions across different operating systems. The project functions as a cross-platform input simulator and computer vision screen scanner. It enables the simulation of keystrokes and cursor movements to perform repetitive tasks and utilizes screen analysis to locate specific images or pixel colors on the display. Its capability surface includes mouse and keyboard input simulation, screen image capture,
AutoKey is a Linux GUI macro manager and Python desktop automation tool. It functions as a background daemon that simulates keyboard and mouse events via the X11 protocol to automate interactions with graphical user interfaces. The software provides a Python scripting engine for executing stateful automation and a text expansion utility that replaces short abbreviations with predefined content or scripted actions in real time. It differentiates itself by combining low-level input simulation with the ability to manage global state and persistent variables across different scripts. The project
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
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
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
The Windows Package Manager is a command line tool for discovering, installing, upgrading, and configuring software packages on Windows operating systems. It functions as a CLI software installer for automating the deployment and update of applications across individual or machine-wide user profiles. The project extends its functionality through a component object model interface for integration into other Windows applications and a set of native cmdlets that allow system administrators to manage software installation via PowerShell scripts. The tool covers a broad range of package lifecycle
Robotgo is a cross-platform desktop automation framework for the Go programming language. It provides a comprehensive toolkit for programmatically interacting with graphical user interfaces, enabling developers to simulate human input, manage application windows, and monitor system-wide hardware events. The library distinguishes itself through its low-level system integration, utilizing a foreign function interface to interact directly with native operating system APIs. It employs pixel-buffer memory mapping and real-time screen capture to perform visual element identification, allowing for i
UniGetUI is a graphical interface designed to manage software installations on the Windows operating system. It functions as a centralized dashboard that provides a unified view for installing, updating, and removing applications across multiple command-line package managers. The application distinguishes itself by normalizing the disparate inputs and outputs of various package management utilities into a single, consistent schema. It supports batch operations, allowing users to perform maintenance tasks on multiple packages simultaneously, and includes functionality to automate update proces
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
LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin
OptiKey is an assistive technology suite and gaze-based input system designed to provide computer access and communication tools. It functions as an eye-tracking virtual keyboard and augmentative and alternative communication software, allowing users to perform text entry and system control via gaze-tracking hardware or other pointer devices. The system differentiates itself through an input-agnostic selection layer that supports diverse sources, including eye trackers, game controllers, and head mice. It utilizes a dwell-time trigger mechanism and gaze fixation selection to translate eye mov
This project is a QML desktop shell designed for desktop environment orchestration and interface customization. It functions as a system status dashboard and a declarative user interface for managing system hardware, window metadata, and user sessions. The shell features a dynamic theme generator that extracts dominant colors from wallpapers to automatically synchronize the global visual color palette. It utilizes an inter-process communication system to orchestrate shell functions and a hierarchical JSON configuration framework to manage global and per-monitor interface layouts. The system
Open Interpreter is an autonomous agent runtime that translates natural language instructions into executable code to interact with local software and operating systems. It functions as an orchestration framework that connects language models to a secure execution environment, enabling the development of agents capable of managing system resources and performing complex tasks. To ensure safety, the system mandates explicit user verification before executing any generated code and provides robust isolation through containerized sandboxing. The project distinguishes itself through its deep inte