27 repository-uri
Support for mapping multiple keyboard shortcuts to the same command or action.
Distinct from Input Binding Libraries: Distinct from general input binding: focuses on the ability to map multiple keys to a single action.
Explore 27 awesome GitHub repositories matching development tools & productivity · Multi-Key Bindings. Refine with filters or upvote what's useful.
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-
Executes specific commands or key events when a key is held down longer than a defined threshold.
This project is an Emacs configuration framework that provides a curated distribution of the editor. It focuses on a modular editor environment and a declarative package management system to ensure reproducible installations and optimized defaults. The framework distinguishes itself through a performance-optimized editor setup that uses lazy loading to reduce startup times. It implements a Vim-emulation layer, providing a modal editing interface with Vim keybindings and a leader-key command hierarchy for efficient navigation. The system covers a broad range of capabilities, including IDE lan
Organizes editor commands using a leader-key hierarchy for efficient, structured access to functionality.
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
Implements leader keys that arm subsequent temporary key bindings to trigger complex macros.
TextMate is a programmable text editor designed for software development and project management. It functions as a highly customizable environment where users can define language-specific behaviors, syntax highlighting rules, and automated workflows to suit their individual development needs. The editor distinguishes itself through a modular, bundle-based extensibility model that allows for deep integration with system shell commands. By piping document buffers through external scripts and command-line tools, users can perform complex text transformations, automate file lifecycle tasks, and b
Enables mapping keyboard shortcuts to specialized editor actions and navigation commands.
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
Records multi-key input patterns with configurable timeouts to support complex command structures.
Tmuxinator is a configuration-driven session manager and workspace automation tool for tmux. It acts as a terminal multiplexer orchestrator that translates structured project definitions into shell commands to define and launch complex window and pane layouts. The project distinguishes itself through declarative configuration and lifecycle management. It utilizes YAML-based mapping and template-based variable injection to create reusable session configurations, while providing hook-based execution to trigger custom scripts during startup, restart, or shutdown. Its broader capabilities includ
Passes direct key sequences to the shell to automate multi-step setups like remote connections.
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
Translates string-based key syntax, including modifier chords and multi-stroke sequences, into active bindings.
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
Implements multi-key shortcuts and professional navigation patterns requiring keys to be pressed in a specific order.
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.
Allows keys to trigger other complex sequences or commands across different interaction modes.
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
Executes specific actions when a sequence of keys is typed within a short delay.
Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec
Matches multi-key sequences to specific commands using a longest-match-wins resolution strategy.
Detects Vim-style sequential key presses within a configurable timeout and triggers handlers.
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
Supports leader key sequences that arm subsequent temporary key bindings for complex macro execution.
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
Registers Vim-style sequential key combinations with a configurable timeout for advanced keyboard navigation.
This project is a structured learning curriculum and guide designed to transition a user from a beginner to an advanced level of Emacs mastery over the course of one year. It provides a step-by-step study plan, configuration guides, and a workflow manual to help users navigate the complexities of the editor. The guide emphasizes a specific operational model, focusing on the implementation of modal editing through Vim-style keybindings and the use of hierarchical leader-key mapping for command organization. It details the process of transforming the editor into a full development environment a
Implements a hierarchical leader-key system to organize custom functions into logical subgroups.
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
Binds sequences of keys to execute commands, optionally scoped to a specific mode or URL pattern.
vim-tmux-navigator este o punte de navigare concepută pentru a unifica scurtăturile de tastatură între un editor de text și un multiplexor de terminal. Acesta funcționează ca un plugin care sincronizează scurtăturile de mișcare, permițând o mișcare consistentă a cursorului între split-urile editorului și pane-urile terminalului. Sistemul permite navigarea prin mai multe straturi de sesiuni imbricate și gestionează interacțiunea dintre pane-urile mărite (zoomed) și tranzițiile de ferestre. Include mecanisme pentru a gestiona wrap-ul navigării și asigură o experiență consistentă la mutarea cursorului prin diverse medii shell. Instrumentul oferă utilitare de configurare pentru scurtături de tastatură personalizate și blocarea hotkey-urilor specifice aplicației pentru a preveni conflictele cu scurtăturile programelor native. Include, de asemenea, funcționalitate pentru salvarea automată a buffer-ului și filtrarea input-ului bazată pe procese.
Prevents navigation hotkeys from triggering when specific applications are active to avoid conflicts with native bindings.
keyd este un daemon la nivel de kernel pentru Linux care interceptează și remapează input-urile tastaturii fizice pentru a crea layout-uri și scurtături personalizate. Funcționează ca un serviciu de input la nivel de sistem și manager de layout, capabil să modifice semnalele de input înainte ca acestea să ajungă la sistemul de operare. Serviciul suportă maparea conștientă de aplicație, care schimbă dinamic comportamentul tastaturii în funcție de fereastra activă. De asemenea, oferă mapare specifică dispozitivului, permițând atribuirea unor configurații unice pentru diferite tastaturi fizice folosind identificatorii lor hardware. Instrumentul include capabilități pentru gestionarea mai multor straturi de tastatură prin taste modificatoare și supraîncărcarea tastelor pentru a efectua acțiuni diferite în funcție de faptul că sunt apăsate scurt sau lung. Funcționalitățile suplimentare de gestionare a input-ului includ modificatori one-shot și emiterea de caractere Unicode specifice.
Changes keyboard behavior dynamically based on the active window or application currently in focus.
Kmonad este un remapper de tastatură cross-platform și un motor avansat de mapare a tastelor care interceptează input-urile tastaturii fizice și le transformă în evenimente de output virtual personalizate. Funcționează ca un wrapper de input programabil și manager de tastatură multi-layer, permițând utilizatorilor să redefinească tastele fizice și să ruteze input-urile hardware către dispozitive virtuale pe diferite sisteme de operare. Sistemul se distinge printr-o arhitectură de gestionare multi-layer care permite definirea straturilor dinamice de tastatură și a overlay-urilor pentru a schimba funcțiile tastaturii în funcție de contextul curent. Implementează o logică complexă de interacțiune, cum ar fi comportamentele tap-hold, tastele leader, modificatorii sticky și ciclarea acțiunilor, pentru a extinde utilitatea unui număr limitat de taste fizice. Dincolo de remapparea de bază, proiectul acoperă automatizarea sistemului prin executarea comenzilor shell și crearea de macro-uri de secvențe de taste. De asemenea, gestionează timing-ul input-ului la nivel scăzut și conectivitatea dispozitivelor, inclusiv polling-ul hardware pentru a se asigura că serviciul pornește doar după ce dispozitivele specifice sunt conectate.
Sequences key events to implement advanced functionality such as sticky modifiers, leader keys, and macro execution.
OptiKey este o suită de tehnologie asistivă și un sistem de input bazat pe privire, conceput pentru a oferi acces la calculator și instrumente de comunicare. Funcționează ca o tastatură virtuală cu eye-tracking și software de comunicare augmentativă și alternativă, permițând utilizatorilor să introducă text și să controleze sistemul prin hardware de eye-tracking sau alte dispozitive de pointer. Sistemul se diferențiază printr-un strat de selecție agnostic față de input care suportă surse diverse, inclusiv eye-trackere, controllere de joc și head mouse-uri. Utilizează un mecanism de declanșare bazat pe dwell-time și selecție prin fixarea privirii pentru a traduce mișcările ochilor în click-uri de mouse, apăsări de taste și navigare pe ecran. Software-ul acoperă o gamă largă de capabilități, inclusiv simularea input-ului la nivel de OS pentru emularea mouse-ului și tastaturii, un motor de predicție bazat pe dicționar pentru tastare accelerată și definiții de layout bazate pe XML pentru structuri de tastatură personalizate. De asemenea, încorporează sinteza text-to-speech, table de comunicare bazate pe simboluri pentru utilizatorii non-verbali și instrumente avansate de automatizare pentru secvențierea comenzilor complexe. Interfața este extrem de personalizabilă, suportând configurații multi-monitor, controale de transparență și mărirea zonei țintă pentru a îmbunătăți precizia.
Identifies sequences of intended characters based on dwell time to accelerate word prediction.