Возможно ли включить 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