30 open-source projects similar to ssleptsov/ninja-keys, 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.
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
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
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
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
cmdk is an unstyled, headless React component library for building accessible search-based navigation and command interfaces. It provides the logic and state management required to create keyboard-navigable command palettes that filter lists of actions and items based on user input. The library distinguishes itself by remaining visually agnostic, offering a collection of logic-heavy components without predefined styles. It supports advanced organization through hierarchical menu navigation, nested paging systems, and conditional group filtering that hides categories when no child items match
Mousetrap is a JavaScript keyboard shortcut library used to bind specific key combinations and sequences to custom functions in web applications. It serves as a keyboard event handler that listens to and manages keypress, keydown, and keyup events across a browser window. The library includes a sequence-based input manager for triggering actions based on a precise series of keys pressed in a specific order. It also provides a custom shortcut recorder to capture user keystrokes for defining and saving personalized shortcuts. The system supports global binding registration to ensure shortcuts
Quick Tabs Chrome Extension is a browser tab manager extension and popup navigation interface inspired by Integrated Development Environment quick-open dialogs. It operates as an isolated popup script communicating with background processes to query and control browser state, displaying all open browser tabs across windows in recently used order for rapid switching. The extension provides fuzzy search filtering to process user queries against a combined index of tabs, bookmarks, and history using string distance algorithms. It organizes flat tab lists into nested trees representing parent bro
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
toolong is a terminal log viewer and TUI log manager designed for monitoring live log streams and navigating large log files. It functions as a log aggregator and JSONL formatter, capable of merging multiple log files into a single chronological view by automatically detecting timestamps. The application supports the visualization of structured data by pretty printing JSONL files and applying syntax highlighting to common web server log patterns. It handles large-scale data efficiently through virtual-sized scrollable views, allowing users to open compressed logs or files of any size without
Files is a graphical file manager designed to replace the default operating system explorer with a unified, highly configurable environment. It functions as an extensible storage aggregator, normalizing local, cloud, and remote network storage into a single, consistent interface. By hooking into the system shell, the application intercepts navigation requests to provide a seamless, integrated experience for managing diverse file systems. The application distinguishes itself through a dual-pane productivity environment that facilitates efficient cross-directory operations and drag-and-drop wor
mdui is a framework-agnostic UI library and design system based on Material Design 3 standards. It provides a comprehensive set of reusable interface elements implemented as native Web Components, ensuring compatibility across different JavaScript frameworks. The library features a sophisticated theming system that supports light and dark modes, as well as the ability to generate dynamic color palettes from seed colors or image sources. It distinguishes itself with a high level of flexibility in visual customization, using CSS custom properties to control design tokens such as typography, cor
Base UI is a headless component library and unstyled framework providing accessible interface primitives. It decouples behavioral logic and state management from the visual layer, allowing developers to implement complex UI patterns while maintaining total control over the final styling. The library implements WAI-ARIA design patterns to ensure all primitives support standard keyboard navigation and screen reader accessibility. It provides a suite of low-level building blocks that handle the internal mechanics of interface elements without bundling any CSS. The framework covers a broad range
This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative component model that organizes user interfaces into a tree of nested widgets, each managing its own lifecycle, state, and rendering. By subclassing the base application class, developers can construct complex, keyboard-navigable interfaces that run directly within terminal emulators. The framework distinguishes itself through a reactive architecture and a CSS-based layout engine. It uses a reactive attribute system to automatically track state changes and trigger targeted int
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
Fuse is a JavaScript fuzzy search library and client-side search engine designed to index and query JSON data. It provides utilities for approximate string matching and ranking results by relevance, allowing applications to perform fast filtering and searching of datasets without a dedicated backend. The library distinguishes itself through a token-based search implementation that supports word-order independence and relevance weighting. It utilizes edit-distance scoring to handle typos and insertions, and employs a system of field weighting to prioritize matches in high-value data keys. The
This project is a general-purpose command-line filter that provides an interactive interface for processing standard input streams. It enables real-time fuzzy searching, data selection, and transformation, allowing users to navigate complex information or file systems directly within their terminal. By utilizing a pipe-oriented architecture, it integrates into existing shell pipelines and workflows to facilitate efficient data exploration. What distinguishes this tool is its highly extensible, event-driven design that allows for deep integration with external processes. It supports asynchrono
This is a Chrome browser extension that serves as an HTML5 video speed controller and media playback speed manager. It is designed to adjust the playback rate of video and audio elements across any website and provide a utility for navigating media timelines. The tool features a dedicated interface for mapping custom keyboard shortcuts to control playback and timeline navigation. It allows for the creation of domain-specific playback rules to set default speeds or disable the controller on specific websites, and it includes a mechanism to persist selected speeds when native players attempt to
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
Vim-clap is a high-performance fuzzy selection interface and command palette designed for Vim and NeoVim. It functions as an extensible plugin that enables rapid navigation of files, buffers, and project resources by offloading heavy search and filtering computations to an external background process. The project distinguishes itself through a pluggable provider architecture that allows developers to define custom search sources using external scripts or binaries. By decoupling the selection interface from the underlying fuzzy matching logic, it supports both built-in algorithms and high-perf
This project is a Lua-based completion engine for Neovim that aggregates real-time text suggestions from multiple data sources into a single interface. It functions as a modular framework for extending the editor with custom completion logic, acting as both a fuzzy text suggestion tool and an interface for the Language Server Protocol. The engine utilizes a source-agnostic provider interface to standardize how disparate data sources feed candidates into a central logic engine. It employs asynchronous candidate fetching and a non-blocking architecture to retrieve suggestions from external serv
Lit-element is a custom element framework and reactive UI library that provides a base class for creating standard HTML elements. It is designed to build web components that automatically update their visual state when internal properties or data change. The project enables the development of encapsulated components using the shadow root to isolate styles and structure. It utilizes JavaScript template literals to render declarative templates without requiring a compilation step. The library covers state management through reactive property tracking and the synchronization of JavaScript class
autoComplete.js is a vanilla JavaScript library used to add searchable suggestion dropdowns to input elements. It functions as a client-side search engine and input lifecycle manager that operates without external dependencies or frameworks. The library features a customizable search engine with multiple matching modes and diacritics support for accurate data filtering. It includes a request debouncing utility to limit the frequency of network requests by delaying search execution during active typing. The system provides DOM-based suggestion rendering for real-time value discovery and an ev
ctrlp.vim is a fuzzy file navigation tool for the Vim editor. It enables the location and opening of files, buffers, tags, and recently used items through approximate string matching and regular expressions. The project identifies project roots by scanning for version control markers and configuration files. It allows for the creation of new files and their required parent directories directly from the search interface, and can open multiple files simultaneously. Broad capabilities include text editor resource management and workflow automation, such as executing specific commands immediatel
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
TagSpaces is an offline-first file tagging and organization platform that lets you manage local files with portable metadata stored directly in filenames or sidecar JSON files, eliminating the need for a central database. It functions as a full-text file search engine, a Kanban board file organizer, a local AI file assistant, an S3-compatible cloud file manager, and a web clipper and bookmark manager, all within a single application. The project distinguishes itself through a local-first architecture where all file operations, indexing, and AI processing run entirely on the device, with cloud
Boop is a scriptable text scratchpad and developer productivity tool used for automating repetitive string formatting and data cleaning tasks. It functions as a JavaScript text transformer that processes plain text snippets through a library of custom functions. The tool features a hot-reloading script engine that refreshes JavaScript modules from disk at runtime, allowing text processing logic to be updated without restarting the application. The software provides a text transformation engine with a searchable script picker for locating and executing specific functions. It utilizes stateful
This project is a neobrutalist UI component library and accessible design system for React. It provides a collection of high-contrast web elements characterized by bold colors, thick borders, and a raw aesthetic. The library distinguishes itself by combining a data visualization toolkit—featuring styled charts and responsive tables—with a comprehensive set of interactive components. It balances this specific visual style with accessibility standards for keyboard navigation and screen readers. The component surface covers a wide range of functional areas, including complex form controls with
This project is a JavaScript-based plugin framework for the Typora markdown editor. It provides a development platform to integrate custom functional logic, UI elements, and keyboard shortcuts into the editor environment. The framework distinguishes itself by offering a JSON-RPC remote interface, allowing external programs to control the editor and trigger plugin functions. It also includes a dedicated publishing system to export and upload markdown documents to external blogging platforms via API requests. The project covers a wide range of capabilities, including editor workflow automation