Sobre el proyecto

keymapper es un remapeador de teclas consciente del contexto y multiplataforma diseñado para redefinir diseños de teclado y atajos tanto a nivel del sistema como por aplicación. Permite a los usuarios gestionar todos los atajos de teclado en un único archivo de configuración, cambiar acciones similares en diferentes aplicaciones simultáneamente y compartir configuraciones entre GNU/Linux, Windows, macOS y FreeBSD. La herramienta admite el mapeo directo de caracteres (no solo de teclas físicas), lanzar aplicaciones mediante atajos y controlar el estado a través de herramientas externas como keymapperctl. También se pueden mapear botones del mouse y eventos de la rueda. La configuración utiliza una sintaxis simple con expresiones de entrada/salida separadas por '>>', soportando modificadores, secuencias, tiempos de espera y teclas virtuales para el cambio de estado. Los bloques de contexto permiten mapeos condicionales basados en el título de la ventana, la clase, la ruta del proceso, el dispositivo o el estado de los modificadores. Las características avanzadas incluyen comandos abstractos, procesamiento de varias etapas, salida al liberar la tecla, escritura de caracteres, macros y directivas para ajustar el comportamiento. La instalación varía según el sistema operativo: en Linux requiere la configuración de systemd y una integración opcional con Wayland; en macOS necesita el controlador Karabiner-Elements; en Windows ofrece instaladores o builds portátiles. El servicio se ejecuta como un demonio privilegiado (keymapperd) mientras que la aplicación orientada al usuario (keymapper) gestiona la configuración y el contexto. El control externo mediante keymapperctl permite la escritura de scripts, la inyección de pulsaciones de tecla, la activación/desactivación de teclas virtuales y la consulta del estado. Está disponible una salida de emergencia mediante Shift+Escape+K. Los archivos de configuración distinguen entre mayúsculas y minúsculas y admiten inclusiones, alias y filtros de expresión regular. Las macros incorporadas permiten la generación dinámica de mapeos. Ideal para usuarios avanzados que buscan una personalización profunda sin quedar atrapados en una plataforma específica.