3

Я пришел к выводу, что ключ NumLock бесполезен. Насколько я могу судить, его единственная причина существования - вызывать у меня несколько секунд разочарования, когда я случайно выключаю его.

В моем крестовом походе против этого вредоносного ключа я автоматически включил его при запуске и использовал KbdEdit, чтобы переназначить его на ключ модификатора Kana, который, по-видимому, является неясным модификатором, похожим на Ctrl или Shift, за исключением того, что его можно включать / выключать, как CapsLock или NumLock. Это замечательно и позволило мне добавить некоторые полезные новые функции к моей клавиатуре, но теперь индикатор NumLock постоянно горит, избыточно показывая мой постоянный статус NumLock.

Итак, в качестве последнего шага в этой битве за практичность, я хотел бы изменить этот свет, чтобы показать, активен ли в настоящее время модификатор Kana . Как я могу сделать это?

В порядке значимости, идеальное решение:

  1. Работает последовательно
  2. Использует минимальное внешнее программное обеспечение
  3. Работает на нескольких версиях Windows

2 ответа2

3

Благодаря ссылке из ответа выше и тому факту, что я пользователь 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), но он должен работать и на более новых.

Я надеюсь, что это то, что вам нужно. Удачи.

1

Я думаю, вам придется полагаться на другое программное обеспечение. Например, AutoHotkey может управлять освещением отдельно от реальных функций. Однако, поскольку модификатор Kana мало известен в мире AutoHotkey, вам придется написать собственный скрипт, чтобы свет отражал этот статус.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .