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?

Mert Nuhoglu
fonte
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".

Bruce
fonte
Não sabia quantos anos essa pergunta tinha. Ele apareceu na primeira página de uma das opções de classificação.
Bruce