我希望在打开 Caps Lock 时每个键都相当于“Shift + ”。目前 Caps Lock 只能将字母变为大写,而不能将其他键变为大写。
因此,如果我按:'/",那么它应该是 ",而不是 '
1/!,那么它应该是 !,而不是 1
这可能超出了范围,但是 AHK 是否可以用于在其他程序中重新映射键?
换句话说,从实际硬件到操作系统再到接收按键事件的应用程序,AHK 在执行过程中处于什么位置?
有没有什么办法可以追踪这个流程?
答案1
#NoEnv
#UseHook
; Add the keys you want to be shifted while Capslock is on in this array this way:
Keys := ["1","2","3",",",".","-"] ; ...
for each, key in Keys
Hotkey, %key%, Shift_Key, On
return
Shift_Key:
If GetKeyState("Capslock","T")
SendInput, +%A_ThisHotkey%
else
SendInput, %A_ThisHotkey%
return