30 open-source projects similar to github/hotkey, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Hotkey 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
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.
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
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
Phoenix is a macOS workspace automator and window manager that uses a JavaScript scripting engine to control system-level behaviors. It functions as an AppleScript automation bridge, allowing users to programmatically manipulate application states, window geometry, and desktop interactions. The project enables the creation of custom workflows by binding keyboard shortcuts to JavaScript functions. This allows for the automation of complex system actions, such as organizing application layouts across multiple screens and managing virtual spaces. Its capability surface covers window and applica
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
This project is a reference library and collection of practical code samples for building browser extensions using WebExtensions APIs. It provides implementation guides and functional examples for core extension components, including content scripts, background processes, and browser action popups. The repository focuses on demonstrating specific implementation patterns for browser UI customization and web page manipulation. It includes samples for creating sidebars, context menus, and options pages, as well as techniques for injecting scripts and styles to alter DOM elements and page appeara
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
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
Flight is a JavaScript component framework and DOM interactivity library used to map behavioral logic to HTML nodes. It provides an event-driven architecture for building modular user interface elements and managing web application interactivity. The library distinguishes itself through a mixin-based system for injecting reusable functions and properties into components, promoting code reuse without rigid inheritance. It further enables behavior modification via function hooking, allowing developers to wrap existing methods to inject custom logic without altering the original source code. Th
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
Bubbles is a terminal user interface toolkit and component library providing a set of pre-built, reusable widgets for creating interactive command-line applications. It functions as a framework for building complex tools that require real-time updates and keyboard navigation. The library includes a variety of specialized interface elements such as fuzzy-filterable item lists, single-line and multi-line text inputs, and tabular data grids. It also provides visual feedback components including animated loading spinners, progress meters, countdown timers, and stopwatches. Additional capabilitie
This project is a comprehensive productivity guide and configuration reference for the VS Code editor. It provides a curated collection of shortcuts, configuration tips, and tutorials designed to improve efficiency and optimize the daily coding workflow. The resource covers advanced AI-assisted development, including the integration of autonomous agents, custom prompt files, and AI-powered coding assistants for task automation and code generation. It also provides specialized guidance on integrated terminal management, such as configuring shell profiles and automating command execution. Addi
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
Reach UI is an open-source library of accessible, low-level React components designed to serve as a foundation for building design systems and interactive user interfaces. It is an accessibility-first toolkit that handles core concerns like ARIA attributes, focus management, and screen reader support automatically, without requiring developer configuration. The library is built as a collection of standalone packages, each managing its own lifecycle and dependencies, enabling granular adoption and tree-shaking. Components use a polymorphic rendering pattern, accepting an as prop to render as
RxBinding is an Android UI binding library that transforms standard view listeners into RxJava observables. It serves as a bridge and reactive wrapper, converting user interactions and widget states into reactive data flows. The project enables the implementation of reactive programming patterns across Android system interactions. By treating UI interactions as data streams, it allows for the asynchronous handling of events to decouple the view layer from business logic. The library covers the conversion of UI events into streams, the management of widget states to trigger application update
Metro UI is a progressive front-end framework for building reactive single-page applications with a Metro-style design language. It provides a component-based UI library with over 150 prebuilt interface elements, a reactive state model that automatically updates the DOM when application data changes, and a responsive grid layout system for mobile-first web development. The framework uses an HTML-first approach where interactive interfaces are assembled by adding custom HTML attributes to elements, eliminating the need for manual JavaScript glue code. It includes a hash-based SPA router for na
MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p
Cash is a lightweight JavaScript library for selecting and modifying HTML elements in modern browsers. It functions as a chainable element wrapper and DOM manipulation utility, providing a minimal alternative for managing browser DOM operations. The library uses a collection-based wrapper for DOM nodes, allowing multiple modifications and style updates to be performed in a single sequence. It is designed to provide a similar API for event handling and element management while maintaining a small footprint. The project covers a wide range of DOM manipulation capabilities, including element se
Vuido is a framework for building native desktop applications for Windows, macOS, and Linux using Vue.js components, without requiring Electron or Chromium. It maps Vue components directly to native widgets from the libui library, creating lightweight applications that run on a single-threaded event loop and compile templates at build time for optimized runtime performance. The framework provides a complete Vue.js component-to-native bridge, enabling two-way data binding via v-model, component-based window composition, and platform-specific package generation for distributing executables. It
This project is a collection of technical reference guides and cheatsheets for implementing static typing patterns with TypeScript in React. It serves as a comprehensive typing guide for applying static types to components, hooks, and state management. The resource provides specific patterns for defining component properties, reference handles, and generic types. It includes detailed signatures for handling synthetic events, form submissions, and the creation of typed custom hooks using tuple assertions. The documentation covers a broad range of capability areas, including state management v
Sprint is a lightweight DOM manipulation and event handling library. It provides a minimal set of utilities for selecting, modifying, and traversing elements within the browser document object model. The library utilizes a selector engine to isolate specific document nodes using CSS-like patterns and positional indices. It encapsulates raw DOM elements within a wrapper object to provide a consistent API for updating element attributes, styles, and content. The toolset covers browser event management for attaching and detaching interaction handlers, as well as document tree navigation to loca
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
Draggabilly is a JavaScript drag and drop library used to make DOM elements draggable on desktop and mobile. It serves as a coordinate-based UI tool and interaction library for tracking and setting the horizontal and vertical positions of interface elements during user interaction. The library provides a mobile-ready touch handler that converts mouse and touch movements into element translation. It includes specialized capabilities for restricting movement to specific axes or container boundaries and implements grid snapping to align elements to a predefined pixel grid. The tool manages the
FAST is a web components framework and declarative UI library used to build adaptive user interfaces. It functions as a server-side rendering engine and design system implementation, enabling the creation of modular components based on web standards. The framework focuses on cross-framework component compatibility, allowing user interface elements to remain functional across different front-end frameworks and modern browsers. It implements a design language through a collection of pre-defined visual components to ensure consistency across professional applications. The system covers state-dr
Vue Flow is a TypeScript library for building interactive node-based editors and flowcharts. It provides the core infrastructure for creating diagrams where users can drag, select, and connect nodes with edges, supporting pan and zoom navigation of the canvas. The library offers extensive control over graph behavior and appearance, including the ability to customize connection lines, define custom edge types, and configure zoom constraints and viewport defaults. It includes built-in components like a minimap for navigation, zoom controls, and a fit-view button, along with features for node re
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
Zepto is a minimalist JavaScript toolkit providing an API for DOM manipulation, event handling, and asynchronous HTTP requests. It functions as a jQuery-compatible library, allowing developers to select, modify, and animate HTML elements using a concise and chainable syntax. The library includes an asynchronous HTTP client for exchanging data with remote servers without triggering page reloads and a browser-based event handler that supports standard mouse events and mobile touch gestures. Its capability surface covers CSS selector-based querying, element transition animations, and the serial
Ractive is an open-source JavaScript framework for building reactive user interfaces where the DOM automatically updates when underlying data changes. It is fundamentally a declarative data binding library that synchronizes data between the model and the view, enabling two-way binding without manual DOM manipulation, and operates as a template-based component system for composing markup, styles, and logic into reusable UI components. The framework distinguishes itself through a plugin-extensible architecture that allows custom components, adaptors, and extensions to be registered without modi
react-vis is a React data visualization library and declarative charting framework used to create composable graphical representations. It provides a system for rendering complex visualizations by composing simple building blocks into larger chart structures. The library includes specialized tools for hierarchical data mapping via sunburst diagrams and tree maps, as well as flow and relationship visualization using Sankey diagrams. It also provides a multivariate data visualizer for plotting high-dimensional data through parallel coordinates, radar charts, and radial visualizations. The fram