30 open-source projects similar to ccampbell/mousetrap, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Mousetrap alternative.
hotkeys-js is a JavaScript keyboard shortcut library and event manager used to map key combinations to callback functions within web applications. It serves as an input shortcut orchestrator that captures and filters keyboard events to execute custom actions. The library distinguishes itself through shortcut scope management, allowing shortcuts to be organized into named groups. These scopes can be toggled to prevent command conflicts across different application states. The system covers keyboard shortcut binding and unbinding, real-time key state querying, and input event filtering to prev
Tinykeys is a lightweight JavaScript utility for mapping keyboard combinations, sequences, and regular expression patterns to specific callback functions. It serves as an input mapping utility that triggers actions based on simultaneous modifier key presses or chronological key sequences. The library distinguishes itself by supporting dynamic key pattern matching through regular expressions and state-based sequence tracking to execute actions after a specific series of presses. It also includes a keyboard event parser that converts human-readable shortcut strings into structured data. These
Kakoune is a scriptable, modal text editor for the terminal that employs a client-server architecture. This model allows multiple terminal windows to connect to a single editing session, providing a programmable environment for managing source code and text. The editor is distinguished by its selection-first logic, where a text region must be predefined before a command is applied. It leverages regular expressions to manage multiple cursors and perform bulk edits across complex text patterns, and it integrates deeply with the shell by piping selections through external programs and filters.
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
Keymaster is a keyboard shortcut library for web applications that provides utilities for intercepting keyboard events and mapping key combinations to handler functions. It includes a keyboard event manager and a key state tracker to monitor and query which keys or modifiers are currently held down. The library features a scoped input handler that allows shortcuts to be grouped into named contexts. This enables the application to switch between different sets of available actions depending on the active area of the interface. The system includes input filtering to prevent global shortcuts fr
A JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts.
TanStack Form is a cross-framework form state management library that provides typed fields, validation, and submission across React, Vue, Angular, Solid, Lit, Svelte, and Preact. It uses a shared form model that adapts to different UI frameworks while preserving the same validation and submission logic, and offers headless form controls that impose no UI markup, letting developers bring their own inputs and design system. The library distinguishes itself through granular state subscription, where components subscribe to narrow slices of form or field state using reactive primitives, so only
React hotkeys is a keyboard shortcut manager designed for declaring, scoping, and handling keyboard shortcuts and focus areas in React applications. It allows developers to define declarative shortcuts by binding key combinations or sequences to action names and handler functions, enabling components to respond predictably to user input. The library provides distinct mechanisms for managing how keyboard events interact with the document. It supports scoping hotkeys to specific component subtrees and DOM descendants to match natural browser focus behavior, alongside global key event handling t
Vimium-C is a keyboard-driven browser extension that provides a vim-like navigation tool for web browsers. It functions as a customizable key mapper and accessibility tool, allowing users to interact with web content and manage browser tabs and windows without a mouse. The project distinguishes itself through advanced key mapping capabilities, including the ability to define contextual shortcuts based on the website host and remap keyboard layouts. It implements mode-specific mappings to prevent command conflicts and allows for specific keyboard mappings to function within text input boxes.
Tridactyl is a Vim-like Firefox extension that provides a comprehensive keyboard-driven interface for browsing, tab management, and page interaction. It replaces traditional mouse-based navigation with Vim-style keybindings, an ex-mode command line, and a hint overlay system for selecting and interacting with page elements. The extension is built around a core infrastructure that includes a modal command parser, a keybinding configuration system, and a content-script command bridge for executing commands in page context. The extension distinguishes itself through its deep integration with Fir
HotKey is a developer library for registering system-wide keyboard shortcuts in macOS applications. It binds modifier keys and key codes to system-wide identifiers using native operating system event hooks, allowing applications to respond to key combinations while running in the background. The library executes custom closures asynchronously when native keyboard monitor notifications match registered global shortcut signatures. It handles both press and release events, and automatically unregisters system hot key bindings during object deallocation to prevent stale event listeners and memory
Ninja-keys is a keyboard-driven command palette and quick-launch menu built as a web component for websites and single-page applications. It functions as a utility for binding, managing, and cleaning up global keyboard shortcuts across different web frameworks and static HTML. The component integrates fuzzy search indexing to filter available commands dynamically by matching user input strings against keywords and titles across flat and nested structures. It maintains command submenus as a hierarchical state tree that allows users to drill down and bubble back up through parent-child contexts
Angular Hotkeys is a configuration-centric library designed for registering keyboard shortcuts and generating automated cheatsheet overlays within Angular web applications. It provides a centralized service to bind specific key combinations to programmatic actions and callbacks, keeping markup clean and separation of concerns intact. The library includes dynamic cheatsheet generation that inspects active shortcut definitions at runtime to render a searchable visual help interface listing all available commands and descriptions on demand. It manages shortcut availability through automated rou
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
AutoHotkey is a Windows automation scripting language and task automator. It serves as a keyboard macro engine and custom hotkey manager designed to map specific key combinations to scripted actions. The project provides a domain-specific language for automating repetitive tasks and operating system functions. It enables the creation of keyboard shortcuts and macros to replace manual input and streamline digital workflows on Windows. The system covers window and process management, virtual input simulation, and the interception of keyboard and mouse input via operating system hooks. It furth
This project is a Vim configuration framework and development environment that transforms the basic text editor into a full-featured integrated development environment. It provides a curated set of settings and a comprehensive plugin suite to support professional software development workflows. The environment includes specialized tools for polyglot code execution and project navigation, allowing users to run source files in multiple languages via single keystrokes and locate files using fuzzy searching. It also integrates version control workflows, enabling the management of Git operations a
Kando is a cross-platform desktop pie menu launcher that runs on Windows, macOS, and Linux, including Wayland compositors. It opens a radial menu on a hotkey and lets users select applications, files, or shortcuts by moving the cursor toward a slice, and can also be controlled from the command line to open specific menus or trigger shortcuts. The project distinguishes itself through a gesture-based selection system that interprets pointer movement direction and distance rather than requiring precise clicking, and an input device abstraction layer that normalizes input from mouse, stylus, touc
bootstrap-wysiwyg is a WYSIWYG HTML editor and browser-based content editor designed to integrate with the Bootstrap CSS framework. It provides a visual interface for creating and formatting rich text content that outputs HTML markup. The editor allows for custom text formatting workflows through the configuration of toolbars and keyboard shortcuts. Users can embed images via drag-and-drop and utilize a dedicated process to clean up redundant tags and whitespace in the generated markup.
Hotkey is a client-side JavaScript library designed to enhance web application accessibility and navigation through keyboard shortcut integration. It enables developers to bind keyboard shortcuts and multi-key sequences directly to HTML elements using declarative attributes. The library functions as a web component and DOM interaction helper that triggers clicks, focus events, or custom actions when specific key combinations are pressed. The project features document-level event delegation to capture global keyboard inputs efficiently and route them to targeted elements. It includes input sco
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
This project is a customizable media player designed to provide a consistent interface for video and audio content across all modern web browsers and mobile devices. It functions as a unified abstraction layer, standardizing playback behavior and control interfaces for both native media elements and third-party streaming service embeds through a predictable, declarative API. The library distinguishes itself by wrapping native media elements with custom HTML structures, ensuring a uniform look and feel regardless of the underlying browser implementation. Developers can manage playback state, m
TanStack Router is a type-safe routing library for web applications that provides full type safety for paths, search parameters, and data loaders across the entire application stack. It functions as a comprehensive framework for server-side rendering, enabling the generation of complete HTML pages to improve initial load performance and search engine optimization. By integrating declarative data fetching, the library manages asynchronous information at the route level, supporting preloading, caching, and parallel request execution to ensure data is ready before components render. The project
A keyboard input capturing utility in which any key can be a modifier key.
ZenML is an extensible machine learning orchestration framework designed to manage the end-to-end lifecycle of data pipelines and AI agent workflows. It functions as a durable orchestrator that executes machine learning tasks as directed acyclic graphs, ensuring that every step is containerized for consistent performance across local, cloud, and hybrid infrastructure. By decoupling pipeline code from underlying compute and storage backends, the platform allows developers to define infrastructure-agnostic stacks that remain portable across diverse environments. The project distinguishes itself
TanStack Table is a headless, framework-agnostic engine designed for building complex data grids and managing tabular state. By decoupling data processing logic from the visual rendering layer, it allows developers to implement custom user interfaces while offloading sophisticated operations like sorting, filtering, grouping, and pagination to a unified, performant core. The library distinguishes itself through its commitment to type safety and environment flexibility. It leverages strict type definitions to ensure data integrity across the entire application and utilizes an adapter pattern t
VoiceInk is a system-wide speech-to-text dictation tool that converts spoken audio into text using local or cloud AI models. It functions as a local AI transcription engine and a context-aware voice assistant, allowing users to insert transcribed text directly into any active application on the operating system. The project distinguishes itself through the use of custom vocabulary management, which trains transcription engines to recognize industry-specific technical terms, professional terminology, and personal names. It further enhances output by using large language models to refine raw tr
This project is a configuration framework for the Fish shell, providing a centralized system for managing plugins, themes, and custom environment settings. It functions as a plugin manager and theme engine that allows users to install, update, and remove functional extensions and visual styles. The framework includes a shell extension scaffolder that generates standardized directory structures and boilerplate files for creating new plugins and themes. To ensure quality, it provides a specification-based testing suite for validating package functionality through automated assertions. The syst