É possível ter o Num Lock SEMPRE LIGADO, sem a capacidade da tecla Num Lock para desativar?

14

Portanto, esta questão não é sobre ter num lock ativado por padrão.

É possível ter o num lock ativado e remover a capacidade do botão num lock no teclado de afetar esse estado?

EDITAR (porque):

No meu teclado, o Homebotão está muito próximo do numlock. No trabalho, costumo usar Homeo teclado numérico, mas às vezes bati acidentalmente numlocktambém. Como resultado, meu numpad é desligado, o que é realmente péssimo quando eu tenho que digitar muitos números e depois de um tempo percebo que não digitei nada porque o numlock desativou o numpad.

Adam Varhegyi
fonte
5
remova a tecla numlock e apóie o interruptor na posição ligado, coloque a chave novamente.
Moab
W-por que você precisaria disso? apenas curioso
Usuário registrado
@RegisteredUser see my edit
Adam Varhegyi

Respostas:

5

Eu uso o CapShift e é grátis:

https://www.donationcoder.com/Software/Skrommel/index.html#CAPshift

"CAPshift estende a tecla Caps Lock, diminuindo a velocidade ...

  • Mantenha pressionado por 0,5 s para ativar / desativar.
  • Mantenha pressionado por 1 segundo para mostrar o menu.
  • Clique com o botão direito do mouse no ícone da bandeja para mostrar o menu.
  • Também diminui a velocidade F1, Insert, NumLock e ScrollLock. "

A vantagem é: você não perde a capacidade de alterar o NumLock se realmente precisar.

Oliver
fonte
Parece bom, mas o instalador não roda no Windows 8.1: [
Adam Varhegyi 19/01/16
5

Remova fisicamente a tecla NumLock. Quando seu dedo pressionar, ele não estará lá.

B540Glenn
fonte
A solução infalível.
Rohit Gupta
5
Na verdade, não é infalível. Alguns softwares (HyperV, por exemplo) podem desativar o numlock novamente e, quando você remove a tecla do teclado (ou usa as SharpKeys), é necessário brincar e reiniciar para ativá-la novamente.
StingyJack
3

É possível ativá-lo automaticamente (dentro de alguns milissegundos) quando desativado, por meio de um aplicativo.

Esse cara criou um script de autohotkey que ele chama de "Numlock Enforcer" http://www.donationcoder.com/forum/index.php?topic=9018.0

Não é a solução mais elegante, mas deve funcionar.

cloneman
fonte
1

Talvez não seja a resposta que você está procurando, mas resolveu esse problema para mim:

Ative o som das teclas Bloquear no Windows (no Windows 10: Painel de Controle \ Facilidade de Acesso \ Central de Facilidade de Acesso \ Facilite o uso do teclado \ Ative as teclas de alternância)

Dessa forma, quando você o toca, emite um sinal sonoro e percebe-o imediatamente. Na verdade, ele me treinou para não bater mais, porque o sinal está certo quando isso acontece.

Aganju
fonte
Boa ideia, trabalhando com a funcionalidade incorporada!
Oliver
1

Se você usar a Autohotkey, poderá adicionar a seguinte linha ao seu script:

SetNumLockState, AlwaysOn

Coloque essa linha antes das teclas de atalho. Eu o coloco no início do meu script, para garantir que sempre funcione bem; se você colocá-lo no meio ou no final do seu script, ele pode não funcionar.

Shayan
fonte
0

O BIOS pode ter uma configuração para desativar a tecla NumLock, mas precisamos conhecer o modelo do seu computador e a versão do BIOS para discutir isso mais detalhadamente. Normalmente, alguém inicializa no BIOS e procura por um item chamado "NumLock State", "Bootup NumLock State" ou similar, pressione Enter e use as teclas de seta para selecionar "Off" ou "Disabled" e pressione Enter.

Para hackers do Windows, o registro contém em HKCU\Control Panel\Keyboard um item chamado InitialKeyboardIndicators cujo valor não está documentado 1para desativar o NumLock. Sua eficácia pode variar de acordo com a versão do Windows.

A solução brutal é abrir a tampa da tecla Numlock e usar uma caneta para alterar sua configuração quando necessário. A configuração normalmente permanece, pois o Windows XP e mais tarde lembram seu estado entre as inicializações (a menos que o BIOS ou outra configuração interfira).

harrymc
fonte
0

Passo 1

Altere o registro para definir o estado inicial do NumLock para na inicialização:

HKEY_USERS\.DEFAULT\Control Panel\Keyboard\InitialKeyboardIndicators
  Set to Value to 2

Passo 2

Adicione um script AutoHotkey para monitorar a chave e garantir que ela não possa ser desativada. Instale o AutoHotkey e crie um novo script chamado MyBestNumlockHack.ahk. Coloque este script no diretório C: \ Usuários \ {Nome do Usuário} \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicialização.

Numlock::
  if (!GetKeyState("NumLock", "T"))
    SetNumLockState, On
  return
HaveSpacesuit
fonte
0

Faça um cronômetro e chame-o NumlOn. Defina o intervalo em 100.

Public Const VK_NUMLOCK = &H90
Declare Function GetKeyState Lib "user32" Alias "GetKeyState" _
(ByVal ByValnVirtKey As Integer) As Short
Dim NLKey as boolean

Private Sub me_keyDown(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    If e.KeyCode = Keys.NumLock And Not NLKey Then
        If Not GetKeyState(VK_NUMLOCK) Then
            e.Handled = True
            NumlOn.Start()
            Exit Sub
        End If
    End If
End sub

Private Sub NumlOn_Tick(sender As Object, e As EventArgs) _ 
Handles NumlOn.Tick
    NLKey = True
    If Not GetKeyState(VK_NUMLOCK) Then numlockON()
    Application.DoEvents()
    NumlOn.Stop()
    NLKey = False
 End Sub
Brollie
fonte
3
Onde está o bife? Suponho que você queira usar esse código em um arquivo. O que então? como você usa isso? Como funciona? Por favor, não responda nos comentários; edite sua resposta para torná-la mais clara e completa.
Scott
0

Esqueceu um sub ... Isso está funcionando perfeitamente

Public Const VK_NUMLOCK = &H90
Declare Function GetKeyState Lib "user32" Alias "GetKeyState" _
(ByVal ByValnVirtKey As Integer) As Short

Private Sub numlockON()
    keybd_event(VK_NUMLOCK, 0, 0, 0) ' Press NUMLOCK key down
    keybd_event(VK_NUMLOCK, 0, KEYEVENTF_KEYUP, 0)
End Sub

Private Sub me_keyDown(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    If e.KeyCode = Keys.NumLock And Not NLKey Then
        If Not GetKeyState(VK_NUMLOCK) Then
            e.Handled = True
            NumlOn.Start()
            Exit Sub
        End If
    End If
End sub

Private Sub NumlOn_Tick(sender As Object, e As EventArgs) Handles NumlOn.Tick
    NLKey = True
    If Not GetKeyState(VK_NUMLOCK) Then numlockON()
    Application.DoEvents()
    NumlOn.Stop()
    NLKey = False
End Sub
brollie
fonte
1
Bem-vindo ao superusuário. Em vez de postar várias respostas, corrija a resposta anterior e exclua esta, ou exclua se precisar das alterações. Além disso, o que Scott disse em sua outra resposta.
fixer1234