Mapeando uma tecla para algo que não está no teclado

Mapeando uma tecla para algo que não está no teclado

Quero mapear Fn+F2 para < e Fn+F3 para > e deixar todas as chaves restantes intactas. E por mapeamento quero dizer que ele realmente digitará essas chaves, e não apenas fingirá que digitei a chave rotulada <.

Cenário: tenho um teclado em inglês. Eu configurei o mapa do teclado para norueguês, no entanto, agora não há como digitar < e >, já que eles não estão em nenhum lugar desse mapa de teclado. Veja, estou com uma chave a menos e então algo tem que acontecer.

Com o hack do registro queSharpKeyusa, posso remapear qualquer tecla do teclado para qualquer outra tecla do teclado - mas isso não ajuda. Tudo o que você está fazendo é dizer "o número da chave X será tratado como o número da chave Y" e você estará de volta à estaca zero.

ComLayout de teclado da Microsoftcriador, posso fazer isso, mas apenas com as teclas "não especiais". Não consigo nem reatribuir o Caps Lock, o que teria sido suficiente para meus propósitos.

Existe uma maneira de conseguir isso? Mapear Fn+F2 para < e Fn+F3 para >, ou mapear caps lock para < e shift+caps lock para > seria bom.

Responder1

Você pode fazer isso usandoAutoHotkey.

Aqui está um script rápido:

Arquivo: Sinais.ahk

#,::
Send {Asc 060}
return

#.::
Send {Asc 062}
return

Quando executado, isso permitirá que você envie <e >simplesmente pressione as seguintes teclas:

  • WinKey+ ,para enviar um<
  • WinKey+ .para enviar um>

OBSERVAÇÃO: você não precisa mapeá-lo para WinKey, você pode usar Ctrlou Altqualquer combinação dessas teclas. A documentação para isso pode ser encontrada no seguinte artigo da base de conhecimento: Enviar/SendRaw/SendInput/SendPlay

Você simplesmente cria o arquivo com a .ahkextensão e executa-o (ouClique com o botão direito->Abrir com...->AutoHotkey.

Isso funciona (eu testei mudando o layout do teclado para NDe testando-o. A razão pela qual isso funciona é porque o AutoHotkey pode enviar o equivalente ASCII para <e >corretamente para qualquer janela que aceite esse tipo de entrada.

Eu os mapeei dessa forma simplesmente porque no teclado inglês eles estão nas mesmas teclas listadas, mas você pode mapeá-los para qualquer coisa. No entanto, percebo que não F1funcionará F12, visto que o layout do teclado ND não tem ideia do que são corretamente.

informação relacionada