Primeiro, você precisará de um aplicativo de remapeamento de teclado de terceiros chamado Karabiner (antigo KeyRemap4MacBook). O aplicativo é um pouco hostil, mas em teoria você só precisa fazer isso uma vez. Também atualmente não funciona no MacOS Sierra ... então tenha isso em mente.
Aqui vamos nós ...
Instalar o Karabiner
link
Correr Mosquetão
Você deve conceder algumas permissões de acessibilidade se quiser todos os recursos.
Use o aplicativo auxiliar "EventViewer" para obter códigos de teclas
Abra o EventViewer para obter IDs de códigos de chaves / aplicativos / dispositivos:
VáparaaguiaPrincipale,emseguida,pressionea(s)tecla(s)doseuteclado,docontroleremotoBluetooth,etc.,quedesejaremapear.Nestecaso,vocêpodevercódigosdeteclaparaMedia-ForwardeMedia-BacknomeucontroleremotoBluetoothSatechi(queeuqueromapearnovamenteparaasteclasdesetaesquerda/direita).
Váemfrenteecopiepara"pasteboard" e cole-o em um documento de texto para mais tarde. Agora, dependendo do seu caso de uso, você pode acessar o aplicativo ou a guia Dispositivos.
Se você quiser limitar o remapeamento de chaves a aplicativos específicos, crie uma regra de mapeamento que seja para um ID de aplicativo específico (por exemplo, google chrome). Assim, você acessaria a guia do aplicativo e obteria o ID do aplicativo para seu aplicativo de interesse (a ser usado posteriormente quando criamos a regra).
Nomeucaso,euqueroapenasremapearessaschavesnomeucontroleremotoSatechibluetoothenãoqueroestragarcomofuncionamasteclasdomeuteclado...entãoeuquerofazerumaregraespecíficadodispositivo.EntãoeuvouparaaabaDispositivos.
Nota!!!Paraaplicativosedispositivos,vocêtambémdevecopiarecolaremumarquivodetextoparaterasstringsdedispositivo/IDcompletasparausoemnossaregra.
Construindoasregras
Agoraquevocêtemcódigosdetecla,IDsdeaplicativose/oudispositivoscopiadosecoladosemumarquivodetextoparareferênciaposterior,épossívelfecharoEventViewerevoltarparaoaplicativoprincipal.
Asregraspadrãonãosãomuitointeressantesparanós,porissoprecisamoscriarumaregrapersonalizada,maseditandoprivate.xml
Issoapenasiniciaráumajaneladofindermostrandoprivate.xml.Váemfrenteeabraoprivate.xmlnoseueditordetextofavorito.
Agoravocêestáprontoparacriarregras...
Adocumentaçãosobreoformatodestearquivoestáaqui: link
Para cada <item>
, você precisa de mínimo <name>
<identifier>
e <autogen>
. Nome é apenas um nome para você. O identificador também é feito por você, mas deve ser exclusivo. autogen é onde você especifica a regra / mapeamento (ou seja, a chave de interesse deve enviar as chaves foo bar).
De mais interesse você pode especificar que a regra só é executada para aplicativos ativos específicos (acho que é aqui que entram as permissões de acessibilidade do MacOS ... então o Karabiner pode determinar a janela ativa). Isso é feito com <only>
.
Também de interesse (para mim) é <device_only>
, o que me permite fazer uma regra apenas para um teclado específico (ou seja, meu controle remoto bluetooth satechi). Veja o link acima para mais detalhes.
De qualquer forma. Use os IDs de código de chave, IDs de dispositivos e IDs de aplicativos que você obteve do EventViewer para criar suas regras personalizadas.
O meu parece com isto:
<?xml version="1.0"?>
<root>
<item>
<name>Satechi Right</name>
<identifier>private.satechi.right</identifier>
<device_only>DeviceVendor::RawValue::0x05ac,DeviceProduct::RawValue::0x023c</device_only>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_NEXT_17, KeyCode::CURSOR_RIGHT</autogen>
</item>
<item>
<name>Satechi Left</name>
<identifier>private.satechi.left</identifier>
<device_only>DeviceVendor::RawValue::0x05ac,DeviceProduct::RawValue::0x023c</device_only>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PREV_18, KeyCode::CURSOR_LEFT</autogen>
</item>
</root>
Resumo: 2 regras. Satechi apenas dispositivo remoto Bluetooth. O botão "next" da mídia é mapeado para a seta para a direita e o botão "prev" para a seta para a esquerda. Aplica-se a todas as aplicações.
Carregue as regras
Salve seu arquivo XML.
Volte para o aplicativo Karabiner.
Vá para a guia "Alterar chave".
Clique em "Recarregar XML" no canto superior esquerdo.
Suas novas regras devem aparecer agora.
Marque as caixas para habilitar as regras.
Teste se seus novos mapeamentos de teclas funcionam conforme o esperado.
O aplicativo definitivamente não é amigável, mas me permitiu configurar exatamente o que eu queria muito facilmente, uma vez que eu entendi as opções. O Karabiner é um pouco buggy ... Alguns eventos pararam de aparecer no visualizador de eventos, mesmo que as regras de remapeamento ainda estivessem funcionando ... o restart ajuda.