Как я могу переназначить индикатор NumLock, чтобы вместо него показывать, когда модификатор Kana активен?
Я пришел к выводу, что ключ NumLock бесполезен. Насколько я могу судить, его единственная причина существования - вызывать у меня несколько секунд разочарования, когда я случайно выключаю его.
В моем крестовом походе против этого вредоносного ключа я автоматически включил его при запуске и использовал KbdEdit, чтобы переназначить его на ключ модификатора Kana, который, по-видимому, является неясным модификатором, похожим на Ctrl или Shift, за исключением того, что его можно включать / выключать, как CapsLock или NumLock. Это замечательно и позволило мне добавить некоторые полезные новые функции к моей клавиатуре, но теперь индикатор NumLock постоянно горит, избыточно показывая мой постоянный статус NumLock.
Итак, в качестве последнего шага в этой битве за практичность, я хотел бы изменить этот свет, чтобы показать, активен ли в настоящее время модификатор Kana. Как я могу сделать это?
В порядке значимости, идеальное решение:
- Работает последовательно
- Использует минимальное внешнее программное обеспечение
- Работает на нескольких версиях Windows
2 ответа
Благодаря ссылке из ответа выше и тому факту, что я пользователь AutoHotKey. Я мог бы предоставить чистый скрипт AutoHotkey для требуемой функциональности.
То, что делает ключ Кана, - это изменение Ввода с Кана на Романджи и наоборот. Я проверил это и получил такое поведение.
Благодаря уже сделанной реализации светодиодов от: https://autohotkey.com/board/topic/9587-keyboard-led-control-capslocknumlockscrolllock-lights/ это упрощает работу. (Спасибо, Росс Прессер, что вы уделили нам драгоценное время, чтобы связать его). Этот код считается само собой разумеющимся и уже импортированным ... В AutoHotKey он будет использоваться следующим образом:
Kana_Romanji := false
; Now making a hotkey for Kana Modifier Key (0x15 / VK_Kana, in AHK = vk15)
vk15::
if Kana_Romanji ; swap the off and switch to swap the LED state for it. Currently: Romanji when it is on, Kana when it is off.
KeyboardLED(2, "off")
else
KeyboardLED(2, "switch")
Kana_Romanji := not Kana_Romanji
return
Чистый скрипт AutoHotKey для той же функциональности:
Kana_Romanji := false
; Now making a hotkey for NumLock
NumLock:: ; Change this to "VK15::" if your layout is using the key and delete the send {vk15} or comment this and uncomment the below one.
Send {vk15} ; Actual Kana_Modifier key as given from MSDN
sleep 10 ; Needs some delay because without delay Windows picks up the actual NumLock state and turns the light off. At least it did when I tried without it.
if Kana_Romanji ; swap the off and switch to swap the LED state for it. Currently: Romanji when it is on, Kana when it is off.
KeyboardLED(2, "off")
else
KeyboardLED(2, "switch")
Kana_Romanji := not Kana_Romanji
return
Готовый скрипт, который должен работать для вас: https://pastebin.com/c3dcD8Gs (прочитайте / проверьте его, сохраните как .ahk и откройте его с помощью AutoHotKey.)
PS: Я также ненавистник ключей NumLock. За исключением того, что я всегда отключаю его и никогда не использую его для ввода цифр. Он протестирован в устаревшей известной версии AutoHotKey (версия 1.0.48.05), но также должен работать и на более новых.
Я надеюсь, что это то, что вам нужно. Удачи.
Я думаю, вам придется полагаться на другое программное обеспечение. Например, AutoHotkey может управлять освещением отдельно от реальных функций. Однако, поскольку модификатор Kana мало известен в мире AutoHotkey, вам придется написать собственный скрипт, чтобы свет отражал этот статус.