
Quando alterno entre Windows e macOS, prefiro manter Ctrl+C, Ctrl+V, Home, End e as teclas de navegação que já uso sem pensar, em vez de ficar traduzindo cada comando na cabeça.
Comecei com mapeamentos de Windows para Mac que já existiam para o Karabiner-Elements. Copiei essas regras e fui ampliando a configuração, ajustando o comportamento nos programas que uso para desenvolver.
Meu projeto karabiner-windows-macos reúne essa configuração, um pequeno programa em Swift para o Finder e um patch opcional para ditado por voz.
Os atalhos que já uso
As combinações do dia a dia são Ctrl+C, Ctrl+X e Ctrl+V para copiar, recortar e colar. O Karabiner as transforma nos atalhos com Command que os aplicativos do Mac esperam. Ctrl+Y vira Command+Shift+Z para refazer.
Uso Ctrl+Left e Ctrl+Right para avançar ou voltar uma palavra, e acrescento Shift quando quero selecionar. No Mac, o perfil envia as combinações equivalentes com Option. Ctrl+Backspace e Ctrl+Delete apagam uma palavra para trás ou para a frente.
Home e End vão para o início e o fim da linha. Ctrl+Home e Ctrl+End vão para o início e o fim do documento. Com Shift, esses mesmos atalhos estendem a seleção.
| Teclas que aperto | O que quero que façam |
|---|---|
| Ctrl+C / Ctrl+X / Ctrl+V | Copiar, recortar e colar |
| Ctrl+Y | Refazer |
| Ctrl+Left / Ctrl+Right | Avançar ou voltar uma palavra |
| Home / End | Ir para o início ou o fim da linha |
| Ctrl+Home / Ctrl+End | Ir para o início ou o fim do documento |
| Shift com os atalhos de navegação | Selecionar enquanto navego |
Também mantive atalhos conhecidos do navegador, como Ctrl+L para a barra de endereços e F5 para recarregar.
O Finder precisou de um pouco mais de atenção
No Finder, eu queria F2 para renomear um arquivo, Enter para abri-lo e a tecla Delete do meu teclado de PC para movê-lo para a Lixeira. Nesse último caso, o Karabiner envia Command+Backspace no Mac. Aqui, Delete é a tecla que apaga para a frente no teclado de PC; a tecla chamada Delete no teclado da Apple corresponde ao Backspace.
Quero usar o Backspace para subir um nível ao navegar pelas pastas e para apagar um caractere ao renomear um arquivo.
Meu mapeamento anterior errava nisso: apertar Backspace durante uma renomeação podia me tirar da pasta em vez de editar o nome do arquivo. Criar uma regra só para o Finder não resolvia: ele era o aplicativo ativo nas duas situações.
Adicionei um pequeno programa em Swift que usa os recursos de Acessibilidade do macOS para verificar qual controle do Finder está em foco. Ele envia um Backspace normal quando estou editando ou Command+Up quando estou navegando.
O Enter abre o arquivo selecionado durante a navegação e mantém sua função normal quando estou terminando de renomeá-lo.
Mantendo o Ctrl útil em terminais e sessões remotas
Remapeei apenas atalhos específicos. Um terminal ainda precisa de Ctrl+C para interromper um comando em execução, então as regras de copiar, recortar e colar têm exceções para aplicativos de terminal.
Aplicativos de acesso remoto e máquinas virtuais também têm exceções, e o Moonlight fica fora dos mapeamentos. Quando controlo outro computador, quero que ele receba as teclas e cuide dos próprios atalhos.
Opcional: ditado por voz com OpenWispr
Também mantenho uma versão modificada do OpenWispr como alternativa ao Wispr Flow. Ele faz o reconhecimento de voz localmente no Mac. O patch e as instruções de configuração ficam junto da configuração do teclado.
O atalho é apertar Ctrl duas vezes para começar a ditar e depois uma vez para parar e inserir o texto. Quando uso o OpenCode, inicio com o Ctrl direito. Combinações como Ctrl+C e Ctrl+V precisam continuar funcionando normalmente, sem iniciar ou encerrar uma gravação por engano.
Nas primeiras versões, precisei ajustar o intervalo entre os dois toques e a parada com um toque só.
Os mapeamentos do Karabiner e o programa para o Finder funcionam sem o OpenWispr.
Tudo no mesmo lugar
O projeto no GitHub é minha configuração pessoal, então os caminhos do programa em Swift e as exceções por aplicativo precisam ser revistos ao adaptá-la a outra máquina.
Mapeamentos públicos para começar
- Galeria de regras da comunidade do Karabiner — para encontrar e importar mapeamentos, com o catálogo no GitHub.
- karabiner-windows-mode, do rux616 — atalhos conhecidos de Windows e Linux, com exceções por aplicativo.
- karabiner-windows, do joeytroy — um conjunto de atalhos do Windows 11 para macOS.