É possível ter o Num Lock sempre ligado, sem a capacidade da tecla Num Lock para desligar?

10

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

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

EDIT (porque):

No meu teclado, o botão Home está realmente próximo do numlock . No trabalho eu costumo usar Home e o numpad, mas às vezes eu acidentalmente acertei o numlock também. Como resultado, meu numpad fica desativado, o que é realmente ruim quando eu tenho que digitar muitos números e depois de um tempo eu percebo que não digitei nada porque o numlock desativou o numpad.

    
por Adam Varhegyi 16.01.2016 / 16:09

8 respostas

3

Eu uso o CapShift e é grátis:

link

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

  • Mantenha pressionado por 0,5 segundo 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 exibir o menu.
  • Também reduz a velocidade de F1, Insert, NumLock e ScrollLock. "

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

    
por 19.01.2016 / 14:18
4

Remova fisicamente a tecla NumLock. Quando o dedo for pressionado, não estará lá.

    
por 18.01.2016 / 21:26
2

É possível voltar a colocá-lo automaticamente (em alguns milissegundos) quando ele é desativado, por meio de um aplicativo.

Esse cara criou um script autohotkey para ele que ele chama de "Numlock Enforcer" link

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

    
por 18.01.2016 / 20:46
1

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

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

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

    
por 19.01.2016 / 02:30
0

O BIOS pode ter uma configuração para desativar a tecla NumLock, mas precisamos saber seu modelo de computador e versão do BIOS para discutir isso mais em profundidade. Normalmente, um deles é inicializado 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, em seguida, pressione Enter.

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

A solução brutal é extrair a tecla Numlock e usar uma caneta para mudar sua configuração quando necessário. Normalmente, a configuração fica colada, Windows XP e posterior lembrar seu estado através de botas (a menos que o BIOS ou outra configuração interfira).

    
por 18.01.2016 / 21:13
0

Etapa 1

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

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

Etapa 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 esse script no diretório C: \ Users \ {Nome de Usuário} \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Startup.

Numlock::
  if (!GetKeyState("NumLock", "T"))
    SetNumLockState, On
  return
    
por 21.11.2017 / 16:29
0

Faça um timer e chame de 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
    
por 23.03.2018 / 03:04
0

Esqueceu um sub ... Isso está funcionando totalmente

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
    
por 23.03.2018 / 03:18

Tags