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

6

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: Eu tenho um teclado em inglês. Defina o mapa do teclado como norueguês, no entanto, agora não há como digitar <e>, pois eles não estão em nenhum lugar nesse mapa de teclas. Você vê, eu sou uma tecla curta e então algo tem que ir.

Com o hack do registro que o SharpKey usa, 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ê retornará à estaca zero.

Com o criador do Microsoft Keyboard Layout , posso resolver isso, mas apenas com as teclas "não especiais". Eu não posso nem reatribuir Caps Lock, o que realmente seria 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.

Christian Neverdal
fonte
O +1 parece que você pesquisou isso muito bem com o MS KLC .. e veja também que muitos programas têm uma limitação que você escreveu lá. Trabalhando como você diz, lembro-me de algo assim, embora não tenha tentado com caps lock e MS KLC foi ok para meus propósitos (e eu acho que trata caps como uma chave especial). Você já tentou isso, usnetizen.com/fix_capslock.php , veio de pesquisas no Google sobre remapeamento de caps lock. Eu não sei se a sugestão no link que tem mesmos problemas embora, como você menciona com programas remapeamento regulares como sharpkey, pode fazer, mas talvez experimentá-lo
barlop

Respostas:

5

Você pode fazer isso usando o AutoHotkey .

Aqui está um script rápido:

Arquivo: Signs.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>

NOTA : Você não precisa mapeá-lo para o WinKey, você pode usar Ctrl, Altou qualquer combinação dessas chaves nele. A documentação para isso pode ser encontrada no seguinte artigo da KB: Send / SendRaw / SendInput / SendPlay

Você simplesmente cria o arquivo com a .ahkextensão e o executa (ou Clique com o Botão Direito -> Abrir com ... -> AutoHotkey .

Isso funciona (eu testei ao alternar o layout do meu teclado NDe testá-lo. O motivo é que o AutoHotkey pode enviar o equivalente ASCII ao <e >adequadamente a qualquer janela que aceite esse tipo de entrada.

Mapeei-os dessa maneira simplesmente porque, no teclado inglês, eles estão nas mesmas teclas dos listados, mas você pode mapeá-los para o que for. No entanto, eu faço notar que F1, através F12não vai funcionar, uma vez que o layout do teclado ND tem idéia do que aquelas são adequadamente.

zackrspv
fonte
1
Bata em mim! Eu uso o AutoHotkey religiosamente. :)
iglvzx
REALMENTE FUNCIONA!
Christian Neverdal