Como usar o CapsLock como chave modificadora sem consumir a combinação de teclas Alt + Shift?


18

Eu quero usar CapsLockcomo uma tecla modificadora para digitar símbolos como ({\})=usar as teclas alfabéticas do teclado.

Por exemplo:

CapsLock+a is mapped to =
CapsLock+k is mapped to \

Para fazer isso, mapeei CapsLockpara Option+ Shiftusando o Keyremap4Macbook, seguindo as instruções em " Uma tecla útil do Capslock ".

<item>
    <name>F19 to F19</name>
    <appendix>(F19 (capslock) to (shift+opt))</appendix>
    <identifier>private.f192f19_escape</identifier>
    <not>VIRTUALMACHINE</not>
    <autogen>
        --KeyOverlaidModifier--
        KeyCode::F19,
        KeyCode::OPTION_L,
        ModifierFlag::SHIFT_L,
    </autogen>
</item>

Observe que, antes disso, CapsLockmapeei o código-chave 80 no PcKeyboardHack, que é o código-chave do F19.

Em seguida, mapei combinações de teclas de CapsLock + alphabetical characterssímbolos como o =\})(uso de Ukelele.

Até agora, tudo funciona corretamente, exceto que há um efeito colateral dessa configuração: não posso usar o modificador Alt+ Shiftpara nenhuma outra ligação de chave. Este é um compromisso bastante restritivo.

Tentei mapear CapsLockpara ligações de teclas mais complexas, como Ctrl+ Shift+ Altou Cmd+ Shift+ Altou Ctrl+ Cmd+ Shift+ Alt. Mas isso não funcionou bem porque o mapeamento CapsLock+ alphabetical keysem Ukelele também altera as teclas alfabéticas. Por exemplo, suponha que Ctrl+ Shift+ Alt+ aesteja mapeado para =. Então, asozinho, também é mapeado =.

Gostaria de saber se este problema pode ser resolvido de alguma forma? Eu acho que pode haver dois caminhos alternativos para procurar a solução:

  1. Criando uma nova chave modificadora personalizada para CapsLocksem consumir chaves modificadoras existentes, como Alt+ Shift.
  2. Impedindo o mapeamento de Ctrl+ Shift+ Alt+ apara alterar a achave todos juntos.

É possível implementar essas soluções?


Eu só percebi que eu nunca bateu Caps Lock por um propósito ...
Max Ried

2
A maioria das pessoas também não usa tampas. Mas a localização do caps lock é muito mais fácil de acessar do que qualquer outra tecla modificadora. O uso de teclas de linha inicial junto com caps lock para digitar símbolos é um ganho de produtividade muito grande.
Mert Nuhoglu

Você não pode simplesmente fazer a parte Ukelele sem primeiro caps lock de mapeamento para Option + Shift?
Tom Gewecke

Respostas:


1

Entendi tudo isso de posts mais recentes de Brett Terpstra , crédito total para ele.

Usando o Karabiner Elements e o BetterTouchTool , você pode criar uma chave "Hyper" mapeada para o comando control-option-shift-command (que provavelmente não será usado por nenhum aplicativo como modificador padrão). Em seguida, você pode usar o BetterTouchTool para mapear Cap Locks + "a" para digitar "=". Digitar "a" por si só ainda recebe a letra "a". Você também pode configurar que tocar em Cap Locks sozinho funciona como tecla de escape ou mesmo como Caps Lock padrão.

Em vez de reescrever o código de Brett aqui, vou linkar para o post: A Hyper Key with Karabiner Elements, instruções completas .

Algumas capturas de tela para ajudar a guiá-lo:

Painel de modificações complexas de elementos de mosquetão Após adicionar o código de Brett ao karabiner.json, o painel Modificações Complexas ficará assim. Não há necessidade de fazer mais nada aqui.

Painel de teclado do BetterTouchTool No BetterTouchTool, alterne para o painel Teclado , adicione um atalho, digite Caps Lock + caractere e escolha "Inserir / Tipo / Colar Texto Personalizado" como a Ação Predefinida do Disparador.

Inserir / digitar / colar folha de texto personalizada Na folha Inserir / digitar / colar texto personalizado , digite o (s) caractere (s) desejado (s) e escolha "Inserir texto digitando".


Não sabia quantos anos essa pergunta tinha. Ele apareceu na primeira página de uma das opções de classificação.
Bruce
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.