KeyZen, motor de mapeo de teclas basado en capas
(github.com/Seungchan0325)Descripción
KeyZen es un motor de remapeo de teclas basado en capas, rápido y de bajo consumo de recursos.
- Usa capas de teclado basadas en una pila.
- Admite una ejecución al iniciar sesión tan rápida que corre apenas se inicia la sesión.
- Permite configurar cómo remapear mediante un archivo YAML.
Puedes consultar cómo configurarlo en detalle en la guía de configuración.
Situaciones en las que conviene usar KeyZen
Si al usar el teclado las flechas están lejos de las teclas de referencia como F y J, y eso te corta el flujo, prueba mapear Capslock + H, J, K, L a Left, Down, Up, Right.
Prueba mapear palabra anterior (Ctrl + Left), palabra siguiente (Ctrl + Right), inicio de la oración (Home) y fin de la oración (End) a W, E, P y O, respectivamente. Reducirás las situaciones en las que tienes que llevar la mano al mouse.
Por qué lo creé
Todos estarán de acuerdo en que Capslock está en una posición demasiado cómoda para la frecuencia con la que se usa. Por eso busqué varias formas de combinar la tecla Capslock para lograr un comportamiento similar a Vim. Originalmente usaba AutoHotkey para esto, pero tenía algunos problemas.
- Había un problema por el cual el estado de la tecla Capslock no se sincronizaba correctamente. Puede depender de cómo se escriba el código, pero en mi caso hubo varias situaciones en las que se reconocía Capslock como presionada aunque no la hubiera presionado, y tenía que presionarla repetidamente.
- Para ejecutarlo al iniciar sesión, lo ponía en la carpeta de programas de inicio, pero en ese caso había un problema: solo se ejecutaba después de varios minutos de haber encendido la computadora.
Como alternativa también busqué proyectos como kanata, pero en el caso de kanata las funciones eran demasiado amplias, consumía más recursos de CPU de lo esperado y no admitía ejecución al iniciar sesión. (También se podría poner en la carpeta de programas de inicio, igual que con AutoHotkey, pero ocurre el mismo problema).
Además, Keyboard Manager de PowerToys tenía el problema de que, en una situación como Capslock + H = Left Arrow, había que presionar Capslock junto con cada entrada.
Por eso creé KeyZen con el objetivo de usar pocos recursos, tener una configuración sencilla y ejecutarse rápidamente al iniciar sesión.
Comentarios técnicos
La mayor parte del código se escribió usando Codex. Después de unos 10 días de investigación previa, empecé a desarrollarlo con Codex y me sorprendió que terminara en un solo día.
Está implementado en Rust e instala un hook de teclado mediante la Windows API. Dudé entre instalar el hook de teclado a nivel de usuario o implementarlo mediante un driver, y opté por instalar un hook de teclado. Los hooks de teclado tienen el problema de que no funcionan en programas como el Administrador de tareas, pero pensé que tocar el lado de drivers podía ser algo riesgoso.
Aún no hay comentarios.