27 repositorios
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 es un puente de navegación diseñado para unificar los atajos de teclado entre un editor de texto y un multiplexor de terminal. Funciona como un plugin que sincroniza atajos de movimiento, permitiendo un movimiento de cursor consistente entre divisiones del editor y paneles de la terminal. El sistema permite la navegación a través de múltiples capas de sesiones anidadas y gestiona la interacción entre paneles maximizados y transiciones de ventanas. Incluye mecanismos para manejar el ajuste de navegación y asegura una experiencia consistente al mover el cursor a través de diversos entornos de shell. La herramienta proporciona utilidades de configuración para atajos de teclado personalizados y bloqueo de teclas de acceso rápido específicas de la aplicación para evitar conflictos con atajos de programas nativos. También incluye funcionalidad para el guardado automático de buffers y filtrado de entrada basado en procesos.
Prevents navigation hotkeys from triggering when specific applications are active to avoid conflicts with native bindings.
keyd es un demonio a nivel de kernel para Linux que intercepta y remapea las entradas del teclado físico para crear diseños y atajos personalizados. Funciona como un servicio de entrada a nivel de sistema y gestor de diseños, capaz de modificar señales de entrada antes de que lleguen al sistema operativo. El servicio admite el mapeo consciente de la aplicación, que cambia dinámicamente el comportamiento del teclado según la ventana activa. También proporciona mapeo específico por dispositivo, permitiendo asignar configuraciones únicas a diferentes teclados físicos utilizando sus identificadores de hardware. La herramienta incluye capacidades para gestionar múltiples capas de teclado mediante teclas modificadoras y sobrecargar teclas para realizar diferentes acciones según si se pulsan o se mantienen presionadas. Las características adicionales de gestión de entrada incluyen modificadores de un solo disparo y la emisión de caracteres Unicode específicos.
Changes keyboard behavior dynamically based on the active window or application currently in focus.
Kmonad es un remapeador de teclado multiplataforma y motor avanzado de mapeo de teclas que intercepta entradas de teclado físicas y las transforma en eventos de salida virtuales personalizados. Funciona como un envoltorio de entrada programable y gestor de teclado multicapa, permitiendo a los usuarios redefinir teclas físicas y enrutar entradas de hardware a dispositivos virtuales a través de diferentes sistemas operativos. El sistema se distingue por una arquitectura de gestión multicapa que permite la definición de capas y superposiciones de teclado dinámicas para cambiar las funciones del teclado según el contexto actual. Implementa lógica de interacción compleja, como comportamientos de tap-hold, teclas líderes, modificadores adhesivos y ciclos de acción, para expandir la utilidad de un número limitado de teclas físicas. Más allá del remapeo básico, el proyecto cubre la automatización del sistema mediante la ejecución de comandos de shell y la creación de macros de secuencias de teclas. También gestiona la temporización de entrada de bajo nivel y la conectividad del dispositivo, incluyendo el sondeo de hardware para garantizar que el servicio se inicie solo después de que se conecten dispositivos específicos.
Sequences key events to implement advanced functionality such as sticky modifiers, leader keys, and macro execution.
OptiKey es una suite de tecnología asistiva y sistema de entrada basado en la mirada, diseñado para proporcionar acceso a computadoras y herramientas de comunicación. Funciona como un teclado virtual de seguimiento ocular y software de comunicación aumentativa y alternativa, permitiendo a los usuarios realizar entradas de texto y control del sistema a través de hardware de seguimiento ocular u otros dispositivos punteros. El sistema se diferencia por una capa de selección agnóstica a la entrada que soporta diversas fuentes, incluyendo rastreadores oculares, controladores de juegos y ratones de cabeza. Utiliza un mecanismo de disparo por tiempo de permanencia (dwell-time) y selección por fijación de la mirada para traducir los movimientos oculares en clics de ratón, pulsaciones de teclado y navegación por pantalla. El software cubre una amplia gama de capacidades, incluyendo simulación de entrada a nivel de SO para emulación de ratón y teclado, un motor de predicción basado en diccionario para escritura acelerada y definiciones de diseño basadas en XML para estructuras de teclado personalizadas. También incorpora síntesis de texto a voz, tableros de comunicación basados en símbolos para usuarios no verbales y herramientas de automatización avanzadas para secuenciar comandos complejos. La interfaz es altamente personalizable, soportando configuraciones de múltiples monitores, controles de transparencia y magnificación de áreas objetivo para mejorar la precisión.
Identifies sequences of intended characters based on dwell time to accelerate word prediction.