我意识到这个NumLock钥匙是无用的。据我所知,它存在的唯一原因是每当我不小心关掉它时,它都会让我沮丧几秒钟。
在我对付这个恶意密钥的斗争中,我做到了启动时自动启用并使用Kbd编辑将其重新映射到Kana 修饰键,这显然是一个类似于Ctrl或 的模糊修饰符,不同之处在于它可以像或Shift一样打开/关闭。这很棒,让我可以为键盘添加一些有用的新功能,但现在灯一直亮着,重复表示我的始终开启状态。CapsLockNumLockNumLockNumLock
因此,作为实用性之战的最后一步,我想重新利用此指示灯来显示Kana修改器当前是否处于活动状态。我该怎么做呢?
按重要性排序,理想的解决方案是:
- 工作始终如一
- 使用最少的外部软件
- 适用于多个版本的 Windows
答案1
感谢上面答案中的链接以及我是 AutoHotKey 用户的事实。我可以提供纯 AutoHotkey 脚本来实现所需的功能。
假名键的作用是将输入从假名更改为罗马字,反之亦然。我测试了它并得到了这种行为。
感谢已经完成的 LED 实现:https://autohotkey.com/board/topic/9587-keyboard-led-control-capslocknumlockscrolllock-lights/它使事情变得非常简单。(感谢 Ross Presser 花费宝贵的时间来链接它)将该代码视为理所当然并已导入...在 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 打开它。)
附言:我也是 NumLock 键的反对者。只不过我总是把它关闭,从不用它来输入数字。它在过时的 AutoHotKey 原始版本(版本 1.0.48.05)中进行了测试,但它应该也可以在较新的版本中使用。
希望这就是你所需要的。祝你好运。
答案2
我认为你必须依赖其他软件。例如,AutoHotkey 可以将灯光控制与实际功能分开。但是由于假名修饰符在 AutoHotkey 世界中鲜为人知,因此您必须编写自己的脚本来使灯光反映该状态。