O Karabiner-Elements é o canivete suíço da personalização de teclado no Mac: ele remapeia teclas, cria camadas e executa regras que você escreve em JSON. Uma dessas regras pode selecionar um layout de teclado (o que o macOS também chama de fonte de entrada) quando uma tecla vem de um teclado específico. O Keyameleon faz só essa tarefa, sem regras. Qual é melhor depende de você já usar o Karabiner-Elements para outra coisa.
Resumo rápido
| Keyameleon | Karabiner-Elements | |
|---|---|---|
| O que é | Um alternador de layout de teclado por teclado | Um personalizador de teclado de uso geral |
| Layout de teclado por teclado | Escolha um layout de teclado para cada teclado em uma lista | Escreva uma complex modification com uma condição de dispositivo e uma ação select_input_source |
| Como lê o que você digita | Observa os teclados em modo somente escuta; não consegue alterar nem injetar entradas | Assume o controle dos teclados que modifica e envia a entrada deles pelo próprio driver de teclado virtual |
| Instalação | Um app e a permissão de Monitoração de Entrada | Um app, uma extensão de driver para aprovar e a Monitoração de Entrada |
| Preço e licença | Gratuito, MIT | Gratuito, domínio público (Unlicense) |
Troca por teclado no Karabiner-Elements
As regras do Karabiner-Elements (complex modifications) podem ser limitadas a certos dispositivos com uma condição device_if, que compara os IDs de fabricante e de produto de um teclado, ou o teclado integrado. Uma regra também pode executar uma ação select_input_source, que escolhe um layout de teclado por idioma ou por ID. Combine as duas e uma tecla pressionada em um teclado pode selecionar o layout desse teclado.
Funciona, mas é você quem escreve e mantém essa regra, uma vez por teclado, e testa se ela não engole nem altera as teclas que correspondem a ela. A própria documentação do Karabiner-Elements também avisa que selecionar layouts com modo de entrada (chinês, japonês, coreano, vietnamita) pode falhar por causa de um problema do macOS, e sugere enviar o atalho de troca de layout no lugar.
Keyameleon: a mesma tarefa, sem regras
O Keyameleon lista todos os teclados que encontra. Você escolhe um layout de teclado para cada um, incluindo métodos de entrada como Japonês – Kana ou Pinyin, e ele troca quando você começa a digitar naquele teclado. Ele nunca instala um driver e nunca fica entre o seu teclado e os seus apps: observa os teclados pelo framework CoreHID da Apple em modo somente escuta e troca os layouts pelo sistema de entrada de texto do macOS.
Ele também avisa quando algo está errado. O menu na barra de menus mostra um aviso quando a Monitoração de Entrada está desativada, quando a troca está pausada ou quando um layout de teclado definido foi removido do macOS.
Usando os dois
Muita gente usa o Karabiner-Elements para remapear teclas e quer, além disso, um layout por teclado. Lembre que o Karabiner-Elements reenvia a entrada dos teclados que modifica a partir do teclado virtual dele, então outros apps podem deixar de ver de qual teclado físico veio uma tecla. Se o Keyameleon não trocar o layout de um teclado enquanto o Karabiner-Elements estiver rodando, desative Modify events para esse teclado nos ajustes Devices do Karabiner-Elements.
Qual você deve usar?
- Você já mantém regras no Karabiner-Elements e se sente à vontade com JSON: adicione uma regra de dispositivo lá.
- Você só quer que cada teclado digite no próprio layout, sem driver e sem regras para manter: Keyameleon.
Para ver a lista completa de opções, incluindo as nativas do sistema, leia como mudar o layout do teclado automaticamente no Mac.