14 dépôts
Tools for simulating persistent key states like modifier keys.
Distinguishing note: Focuses on key-down state management for combinations.
Explore 14 awesome GitHub repositories matching user interface & experience · Modifier Key Simulators. Refine with filters or upvote what's useful.
Selenium is a comprehensive browser automation framework that provides a standardized interface for controlling web browsers to perform automated tasks, user interactions, and data extraction. It functions as a cross-browser testing tool, enabling developers to execute identical automation scripts across various browser engines and operating systems to ensure consistent application behavior. By implementing the WebDriver protocol, it maps high-level automation commands to browser-specific drivers using a standardized HTTP-based wire protocol. The project distinguishes itself through its distr
Presses and holds keys to enable modifier combinations during input actions.
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-
Injects specific modifier keys into input sequences to simulate complex key combinations or trigger system-level shortcuts.
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.
Runs a sequence of keys as if pressed by a user to automate actions.
Solaar is a device management tool and configuration suite for Logitech wireless peripherals on Linux. It serves as an input peripheral monitor that tracks battery levels and connection link quality via a system tray application, while providing a receiver manager for pairing and unpairing wireless devices with proprietary USB receivers. The project features an input device automation engine that maps hardware events and mouse gestures to simulated keyboard inputs or system commands. This allows for the creation of custom rules that trigger actions based on device notifications or specific wi
Sends synthetic key symbols and sequences to the OS to emulate physical keyboard presses.
skhd is a keyboard shortcut manager and hotkey daemon for macOS. It functions as an input remapper that maps custom keyboard shortcuts to shell commands and system actions via a plain text configuration file. The utility supports modal keyboard workflows, allowing groups of shortcuts to activate only when the system is in a specific operational mode. It also enables application-specific hotkeys and application blacklisting, ensuring shortcuts only trigger based on which application is currently in focus. Additional capabilities include the remapping of hardware media keys and the synthesis o
Simulates the pressing of keyboard keys as a resulting output of a triggered hotkey.
uiautomator2 is an Android device automation tool and UI testing library. It functions as a framework for automating user interface interactions and managing device states via a remote client. The project provides a remote management interface for controlling Android applications, simulating user gestures, and managing system settings. It enables the analysis of XML UI hierarchies to locate interface elements and verify application behavior. The tool covers broad capability areas including application lifecycle management, device connectivity, and file system operations. It also includes sys
Triggers hardware and software key presses to simulate user navigation or lock the screen.
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
Maintains an internal record of pressed modifier keys to validate complex multi-key shortcuts in real time.
pydoll is a Chrome DevTools Protocol automation library and headless browser controller used for web data extraction and parallel browser automation. It controls Chromium-based browsers via direct WebSocket connections, allowing it to manage isolated browser contexts and tabs while bypassing the overhead and detection associated with WebDriver. The project features an anti-bot evasion framework that mimics natural human behavior, including mouse movements generated via Bezier curves and variable typing patterns. It provides specialized stealth capabilities to bypass behavioral analysis and au
Dispatches key presses and releases with support for modifier keys and physical key identifiers.
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
Provides the ability to query whether specific keys or modifiers are currently being held down.
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
Simulates keypresses by feeding a string of keys directly to the key parser for automation.
Kmonad est un remappeur de clavier multiplateforme et un moteur de mappage de touches avancé qui intercepte les entrées clavier physiques et les transforme en événements de sortie virtuels personnalisés. Il fonctionne comme un wrapper d'entrée programmable et un gestionnaire de clavier multi-couches, permettant aux utilisateurs de redéfinir les touches physiques et de router les entrées matérielles vers des périphériques virtuels sur différents systèmes d'exploitation. Le système se distingue par une architecture de gestion multi-couches qui permet la définition de couches clavier dynamiques et d'overlays pour changer les fonctions du clavier en fonction du contexte actuel. Il implémente une logique d'interaction complexe, telle que les comportements tap-hold, les touches leader, les modificateurs collants et le cyclage d'actions, pour étendre l'utilité d'un nombre limité de touches physiques. Au-delà du remappage de base, le projet couvre l'automatisation système via l'exécution de commandes shell et la création de macros de séquences de touches. Il gère également la synchronisation des entrées de bas niveau et la connectivité des périphériques, incluant le polling matériel pour s'assurer que le service démarre uniquement après que des périphériques spécifiques sont connectés.
Holds a modifier key active temporarily for a set duration after a single press.
AltSnap is a window manager utility and layout system that organizes application windows using custom snap grids and mouse-driven resizing and movement. It functions as a low-level input hook that intercepts keyboard and mouse events at the OS level to trigger custom window management actions. The project includes a coordinate-based grid mapper for precise snapping to custom zones and an input remapper that assigns keyboard scan codes to virtual mouse buttons. It also features a window automation CLI used to trigger management tasks on foreground or targeted application windows. The tool pro
Monitors the real-time status of modifier keys to determine when mouse movements should resize windows.
ZMK est un framework de firmware modulaire construit sur Zephyr RTOS pour les claviers sans fil. Il fonctionne comme un système programmable pour définir des mappages de touches, des couches et des comportements d'entrée personnalisés, agissant comme un émulateur de périphérique HID pour les entrées clavier et souris sur ordinateurs et appareils mobiles. Il fournit spécifiquement une solution de contrôleur pour synchroniser deux moitiés de clavier séparées via des liaisons sans fil ou filaires. Le projet se distingue par son accent sur la connectivité Bluetooth Low Energy, avec le couplage multi-appareils et la possibilité de basculer entre plusieurs profils hôtes enregistrés. Il inclut une gestion avancée de l'alimentation pour optimiser la durée de vie de la batterie via des états de veille profonde et le contrôle de l'alimentation des périphériques, ainsi que la prise en charge du couplage sans fil sécurisé. Le firmware couvre un large éventail de capacités d'entrée, incluant des comportements de touches complexes comme les "hold-taps", les "combos" et les "tap-dances", ainsi que l'exécution de macros et la gestion des couches. Il intègre divers matériels tels que des encodeurs rotatifs, des dispositifs de pointage et des écrans OLED ou ePaper. De plus, il fournit des outils pour gérer la topologie matérielle, le changement de disposition physique et les mises à jour de mappage de touches à l'exécution. Le système utilise un pipeline de build qui surveille le statut de compilation dans un environnement distant pour récupérer et flasher les binaires de firmware compilés sur les cartes matérielles.
Implements sticky modifier keys that remain active until the next non-modifier key is pressed.
tmk_keyboard est un firmware de clavier pour microcontrôleurs AVR et Cortex-M conçu pour gérer le scan de matrice de touches et la communication HID. Il fonctionne comme une bibliothèque de contrôle matériel embarqué pour gérer les broches GPIO et le stockage EEPROM, ainsi qu'un pilote qui transmet les données de frappe et de souris à un ordinateur hôte via des protocoles USB ou PS/2. Le projet propose un moteur de mappage de touches basé sur des couches, permettant aux touches physiques d'être mappées sur plusieurs couches virtuelles. Il inclut également un traducteur de protocole de clavier hérité pour convertir les signaux de matériel vintage vers des interfaces informatiques modernes. Le firmware prend en charge une gamme de configurations d'entrée, incluant des macros, l'émulation de souris et des modificateurs de touches avancés. Il offre des capacités de contrôle système, telles que la lecture multimédia et la gestion de l'alimentation, et inclut des outils pour gérer le rétroéclairage LED et le débogage de la communication du firmware.
Maintains a boolean registry of active modifier keys to determine final output characters.