Возможно ли включить Num Lock ВСЕГДА без возможности отключения клавиши Num Lock?

Так что этот вопрос не о включении num блокировки по умолчанию.

Можно ли включить num lock и убрать способность кнопки num lock на клавиатуре влиять на это состояние?

РЕДАКТИРОВАТЬ (потому что):

На моей клавиатуре кнопка " Домой" действительно близка к numlock. На работе я часто использую " Дом" и "цифровую клавиатуру", но иногда я случайно попадаю в " чмок". В результате моя цифровая клавиатура отключается, что очень неприятно, когда мне приходится набирать много цифр, и через некоторое время я понимаю, что ничего не печатал, потому что цифровая клавиатура отключила цифровую клавиатуру.

9 ответов

Решение

Я использую CapShift, и это бесплатно:

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

"CAPshift расширяет ключ Caps Lock, замедляя его...

  • Нажмите и удерживайте в течение 0,5 секунды, чтобы включить / отключить.
  • Нажмите и удерживайте в течение 1 секунды, чтобы отобразить меню.
  • Щелкните правой кнопкой мыши значок в трее, чтобы отобразить меню.
  • Также замедляет F1, Insert, NumLock и ScrollLock."

Преимущество заключается в следующем: вы не теряете возможность менять NumLock, если вам это действительно нужно.

Физически удалите ключ NumLock. Когда твой палец нажмет на него, его там не будет.

Если вы используете Autohotkey, вы можете добавить следующую строку в ваш скрипт:

SetNumLockState, AlwaysOn

Не забудьте поставить эту строку перед вашими горячими клавишами. Я поместил его в самом начале сценария, чтобы убедиться, что он всегда работает нормально, если вы поместите его в середину или в конец сценария, он может не работать.

Возможно автоматически включить его (в течение нескольких миллисекунд), когда он отключается, через приложение.

Этот парень создал для него скрипт autohotkey, который он называет "Numlock Enforcer" http://www.donationcoder.com/forum/index.php?topic=9018.0

Не самое элегантное решение, но оно должно работать.

Возможно, не тот ответ, который вы ищете, но он решил эту проблему для меня:

Активируйте звук для клавиш блокировки в Windows (в Windows 10: Панель управления \ Простота доступа \ Простота центра доступа \ Упростите использование клавиатуры \ Включите клавиши переключения)

Таким образом, когда вы нажмете на него, он издаст звуковой сигнал, и вы сразу это поймете. Это на самом деле научило меня больше не бить его, потому что сигнал правильный, когда это происходит.

Сделай таймер и назови его NumlOn. Установите интервал на 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

Забыл саб... Это полностью работает

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

В BIOS может быть параметр отключения ключа NumLock, но нам нужно знать модель вашего компьютера и версию BIOS, чтобы обсудить это более подробно. Как правило, один загружается в BIOS и ищет элемент с именем "NumLock State", "Bootup NumLock State" или аналогичный, нажмите Enter и с помощью клавиш со стрелками выберите "Off" или "Disabled", затем нажмите Enter.

Для хакеров Windows реестр содержит HKCU\Control Panel\Keyboardэлемент с именем InitialKeyboardIndicators, который имеет недокументированное значение 1 отключить NumLock. Его эффективность может варьироваться в зависимости от версии Windows.

Жестокое решение состоит в том, чтобы снять крышку ключа Numlock и использовать ручку, чтобы изменить ее настройку, когда это необходимо. Параметр обычно остается неизменным, поскольку Windows XP и более поздние версии запоминают свое состояние при загрузке (если не мешает BIOS или другой параметр).

Шаг 1

Измените реестр, чтобы установить начальное состояние NumLock на при запуске:

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

Шаг 2

Добавьте скрипт AutoHotkey для контроля ключа и убедитесь, что его нельзя отключить. Установите AutoHotkey и создайте новый скрипт с именем MyBestNumlockHack.ahk. Поместите этот скрипт в папку C:\Users\{Имя пользователя}\AppData\Roaming\Microsoft\Windows\ Меню Пуск \ Программы \ Автозагрузка.

Numlock::
  if (!GetKeyState("NumLock", "T"))
    SetNumLockState, On
  return
Другие вопросы по тегам