1 dépôt
Complex input behaviors including sticky keys and timed tap-hold transitions to extend keyboard functionality.
Distinguishing note: Existing candidates focus on UI design patterns or AI agent interaction, not low-level hardware input logic.
Explore 1 awesome GitHub repository matching operating systems & systems programming · Input Interaction Patterns. Refine with filters or upvote what's useful.
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.
Kanata creates interaction patterns such as sticky keys, circular sequences, and timed tap-hold transitions.