Karabiner-Elements es la navaja suiza de la personalización del teclado en Mac: reasigna teclas, crea capas y ejecuta reglas que escribes en JSON. Una de esas reglas puede seleccionar una fuente de entrada cuando una tecla viene de un teclado concreto. Keyameleon hace solo esa tarea, sin reglas. Cuál es mejor depende de si ya usas Karabiner-Elements para otra cosa.
De un vistazo
| Keyameleon | Karabiner-Elements | |
|---|---|---|
| Qué es | Un selector de fuente de entrada por teclado | Un personalizador de teclado de uso general |
| Fuentes de entrada por teclado | Elige una fuente de entrada para cada teclado en una lista | Escribe una complex modification con una condición de dispositivo y una acción select_input_source |
| Cómo lee lo que escribes | Observa los teclados en modo de solo escucha; no puede modificar ni inyectar entradas | Toma el control de los teclados que modifica y envía su entrada a través de su propio controlador de teclado virtual |
| Instalación | Una app y el permiso de Monitorización de entrada | Una app, una extensión de controlador que hay que aprobar y Monitorización de entrada |
| Precio y licencia | Gratis, MIT | Gratis, dominio público (Unlicense) |
Cambio por teclado en Karabiner-Elements
Las reglas de Karabiner-Elements (complex modifications) pueden limitarse a ciertos dispositivos con una condición device_if, que compara los ID de fabricante y de producto de un teclado o identifica el teclado integrado. Una regla también puede ejecutar una acción select_input_source, que elige una fuente de entrada por idioma o por ID. Combina las dos y una pulsación en un teclado puede seleccionar la fuente de entrada de ese teclado.
Funciona, pero esa regla la escribes y la mantienes tú, una por teclado, y tienes que comprobar que no se trague ni altere las teclas que coinciden con ella. La propia documentación de Karabiner-Elements advierte además de que seleccionar fuentes de entrada con un modo de entrada (chino, japonés, coreano, vietnamita) puede fallar por un problema de macOS, y sugiere enviar en su lugar el atajo de la fuente de entrada.
Keyameleon: la misma tarea, sin reglas
Keyameleon muestra todos los teclados que encuentra. Eliges una fuente de entrada para cada uno, incluidos métodos de entrada como el kana japonés o el pinyin, y cambia cuando empiezas a escribir en ese teclado. Nunca instala un controlador ni se coloca entre tu teclado y tus apps: observa los teclados a través del framework CoreHID de Apple en modo de solo escucha y cambia de distribución a través del sistema de entrada de texto de macOS.
También te avisa cuando algo falla. El menú de la barra de menús muestra un aviso cuando la Monitorización de entrada está desactivada, cuando el cambio está en pausa o cuando se ha eliminado de macOS una fuente de entrada asignada.
Usar las dos
Mucha gente usa Karabiner-Elements para reasignar teclas y, además, quiere una distribución por teclado. Ten en cuenta que Karabiner-Elements reenvía la entrada de los teclados que modifica desde su teclado virtual, así que otras apps pueden dejar de ver de qué teclado físico vino una tecla. Si Keyameleon no cambia con un teclado mientras Karabiner-Elements está en marcha, desactiva Modify events para ese teclado en los ajustes Devices de Karabiner-Elements.
¿Cuál deberías usar?
- Ya mantienes reglas de Karabiner-Elements y te manejas bien con JSON: añade ahí una regla de dispositivo.
- Solo quieres que cada teclado escriba con su propia distribución, sin controlador ni reglas que mantener: Keyameleon.
Para ver la lista completa de opciones, incluidas las integradas, lee cómo cambiar la distribución del teclado automáticamente en Mac.