Como obter no Windows o equivalente a esta função linux:
setxkbmap -option numpad:mac
Dos documentos:
numpad:mac As teclas numéricas do teclado sempre inserem dígitos (como no Mac OS)
Isso significa que, independentemente de pressionar a tecla NumLock e do estado do LED NumLock, o teclado sempre insere dígitos, não o movimento do cursor.
A coisa mais próxima que encontrei para o Windows é desativar a tecla NumLock (com aplicativos ou diretamente usando a entrada do registro Keyboard Layout/"Scancode Map"), mas isso apenas dá o estado como se eu nunca pressionasse a tecla NumLock. O modo do teclado numérico ainda pode ser alterado pelo software, herdado do BIOS na inicialização, etc.
Como "bônus", também gostaria de desligar o LED.
Então: LED apagado, as teclas inserem dígitos, sempre
Eu queria um comportamento semelhante e costumava
HKLM\...\Keyboard Layout\ScanCodeMap
mapear os scancodes das teclas numéricas da linha superior para as teclas do teclado numérico, pois as teclas da linha superior são imunes ao estado deNumLock
. Esse remapeamento está contido neste.reg
arquivo:Com esse remapeamento, o estado de
NumLock
não faz diferença, nemCapsLock
, mas se você estiver mantendo aShift
tecla pressionada, obterá os símbolos associados às teclas da linha superior.Se você desativar
NumLock
viaInitialKeyboardIndicators
, poderá incluir o mapeamento de umNull
scancode para aNumLock
chave:E isso deve impedir que a luz indicadora acenda quando a
NumLock
tecla for pressionada. (Sem luz indicadora aqui, então não pode testar). Provavelmente ainda pode ser ativado por software, mas isso deve cobrir circunstâncias "normais".Depois de mesclar um dos
.reg
arquivos acima, faça logout/login ou reinicie para que as alterações entrem em vigorAparte:
Os
ScanCodeMap
valores foram criados por este script do PowerShell . Ele permite a edição (relativamente) fácil das matrizes de scancode para adicionar e excluir remapeamentos conforme desejado. Como está editando oHKLM
hive, você precisa terAdmin
permissões e executar o scfipt em um console Admin PowerShell .Conheça o NumLock Enforcer , escrito por um moderador codificador de doações com o apelido "lanux128".
Este é um script AutoHotkey que forçará seu NumLock a estar sempre ativado, não importa se algum programa o tenha definido como desativado. Ele faz isso verificando seu estado a cada 500 milissegundos.
Este é o script (observe que o ponto e vírgula inicia um comentário):
Depois de instalar o AutoHotKey, coloque o texto acima em um arquivo chamado
NumLock Enforcer.ahk
e clique duas vezes nele para testar. Você pode parar o script clicando com o botão direito do mouse no ícone verde H na barra de bandeja e escolhendo Sair. Para executá-lo no login, coloque-o no grupo Startup emC:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
.