我想将键盘的一部分映射为数字键盘:(我的笔记本电脑键盘没有数字键盘)
j->1 k->2 l->3 u->4 i->5 o->6
我想用快捷方式切换映射,比方说Control+ Alt+ M,我的代码在下面,但是,我不知道如何重置映射:
mode = 0 ^!m:: if (mode = 1) { mode = 0 j->1 k->2 l->3 u->4 i->5 o->6 } else { mode = 1 u::u ;got error here: duplicate hotkey } return
我得到了重复的热键错误u::u
,似乎AHK不允许在脚本中映射多个键.
GetKeyState("NumLock", "P")
不行,因为我没有NumLock.
我能用这段代码实现:
^!m:: Suspend u::4 i::5 o::6 return
但这会切换整个脚本,这显然不是很好.所以我想要比这更好的解决方案.
如果运行AKH_L(例如AutoHotkey v1.1.10.01),则可以使用#IF语句来控制热键(就像使用#IfWinActive控制应用程序级别的热键一样).
Mode := 0 ^!m:: mode:=!mode ;not! toggle return #If mode ; All hotkeys below this line will only work if mode is TRUE j::1 k::2 l::3 u::4 i::5 o::6 #If