Criando chave de escape físico no novo MacBook Pro com TouchBar, alterando .keylayout para a tecla §

10

Os layouts de teclado do Reino Unido para os MacBook Pro TouchBar possuem uma tecla § / ± bastante inútil no canto superior esquerdo, que seria perfeita para usar como tecla de escape física (veja esta imagem ).

O macOS possui um sistema de mapeamento de teclado (/ Library / Keyboard Layouts / - por exemplo, consulte http://www.gingerbeardman.com/UK.keylayout/ e https://developer.apple.com/library/content/technotes/tn2056/ _index.html ) que permite alterar as chaves.

Parece-me possível colocar uma linha no layout do teclado relevante semelhante a:

<key code="<code for that key>" output="&#x1B;" />

deve permitir que eu faça dessa chave uma chave de escape. (Se eu puder encontrar / criar o layout para todas as outras chaves também!)

Pesquisando no Google, não encontrei ninguém mencionando que fez isso, o que me parece estranho. Existe alguma razão para isso não funcionar? O teclado TouchBar pode ser remapeado com um arquivo .keylayout sem perder nenhuma funcionalidade?

Estou adiando a compra de um novo macbook pro por medo de perder a chave de escape físico! Eu sei que você pode remapear ctrl / cmd / etc para ser Escape usando as Preferências do Sistema, mas isso parece uma solução ruim em comparação.

JosephH
fonte
Qual chave você usará, se não caps lock, ou as incluídas, que a Apple torna muito fácil e configurável?
bmike
1
@bmike A tecla § / ± no canto superior esquerdo do layout do teclado do Reino Unido - veja esta imagem para ver a tecla da qual estou falando: d.ibtimes.co.uk/en/full/1570365/macbook-pro-touch- bar.jpg - é uma chave inútil que eu nunca usei para seu propósito em qualquer Mac!
Josephh
Uau - eu perdi completamente essa parte. Vamos ver se consigo encontrar alguma opção para remapear isso. Minha resposta não é tão flexível com a opção de remapeamento "fácil".
Bmike
@bmike Obrigado! Sim. É uma opção interessante que não está realmente disponível nos mapas de teclado dos EUA. :-) Espero que seja possível com um .keylayout. Na verdade, eu encomendei o MacBook Pro Touchbar agora, para poder experimentar quando chegar.
precisa saber é

Respostas:

9
  1. Instalar o Karabiner-Elements
  2. Execute-o a partir do Launchpad (obviamente)
  3. Na guia "Modificações simples", crie um mapeamento "non-us-backlash" para "escapar"
  4. Aproveitar!

O código da chave BTW para "§" é 0A (conforme relatado pelo Karabiner Event Viewer)

igrinis
fonte
1
Erro de digitação:s/non-us-backlash/non-us-backslash
Shlomi Noach
6

Abra Preferências do Sistema - selecione o teclado. Em seguida, selecione Teclas modificadoras ... no canto inferior direito da janela.

Tenho escape atribuído à tecla caps lock.

insira a descrição da imagem aqui

Concordo que o uso das teclas de controle para escapar é ruim, mas a tecla caps lock funciona muito bem. Na prática, eu realmente não tive nenhum problema em aprender a usar a tecla de escape suave. Ter caps lock é muito mais rápido depois que me acostumei com isso, devido à menor distância da linha da casa.

bmike
fonte
6

Encontrei alguma documentação sobre Remapping Keys no macOS 10.12 Sierra que funciona sem nenhuma ferramenta de terceiros.

Para alterar a tecla logo acima da guia, defina src como 0x64 (teclado fora dos EUA \ e |) e dst como 0x29 (Escape). Esses valores devem ser OR'd com 0x700000000 na chamada para hidutil por algum motivo.

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}'

Você pode colocar isso em um LaunchAgent (~ / Library / LaunchAgents / give.me.esc.key.plist) para defini-lo toda vez que efetuar login.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>give.me.esc.key</string>
    <key>ProgramArguments</key>
    <array>
        <string>hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
gipset
fonte
Você salvou minha vida. Eu odeio teclados com a tecla tilda ao lado do botão shift curto e do botão f * n §em escape. Então eu remapeei-o com o botão tilda e o turno estendido. hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000035},{"HIDKeyboardModifierMappingSrc":0x700000035,"HIDKeyboardModifierMappingDst":0x7000000e1}]}'Pela maneira que você pode obter esses códigos usando espectador chave do mosquetão
DanSkeel
Como mantenho acesso a shift- §para que eu ainda possa usar ±? Ou seja, posso usar modificadores?
Wivku 02/07/19