Autohotkey 自动热键:Ctrl+;1映射
我想根据Numlock的状态将鼠标单击重新映射到按钮。如果Numlock处于“开”状态,则我希望其他正常行为映射到鼠标单击。我在下面创建的脚本工作正常,但我无法重新映射CTRL+1 SHIFT+1将导致“!”这样做很简单,但我不知道CTRL+1的行为是什么。当前脚本具有伪“Send,{^1}”,但这不是真正的行为 我很感激你的建议 *Keywait用于模拟按住鼠标按钮,脚本基于Numlock状态启用/禁用Autohotkey 自动热键:Ctrl+;1映射,autohotkey,Autohotkey,我想根据Numlock的状态将鼠标单击重新映射到按钮。如果Numlock处于“开”状态,则我希望其他正常行为映射到鼠标单击。我在下面创建的脚本工作正常,但我无法重新映射CTRL+1 SHIFT+1将导致“!”这样做很简单,但我不知道CTRL+1的行为是什么。当前脚本具有伪“Send,{^1}”,但这不是真正的行为 我很感激你的建议 *Keywait用于模拟按住鼠标按钮,脚本基于Numlock状态启用/禁用 $1:: if GetKeyState("NumLock","T")
$1::
if GetKeyState("NumLock","T")
Send, {1}
else
{
Click down,
KeyWait 1
Click up
}
Return
$+1::
if GetKeyState("NumLock","T")
Send, {!}
else
{
Click down,
KeyWait 1
Click up
}
Return
$^1::
if GetKeyState("NumLock","T")
Send, {^1}
else
{
Click down,
KeyWait 1
Click up
}
Return
下面应该完成您所描述的工作,并对代码本身进行一些清理。我还建议阅读各种发送模式,因为
SendInput
几乎在所有可能的方面都具有优越性
$1::
if GetKeyState("NumLock","T")
SendInput, 1
else
{
Click down
KeyWait 1
Click up
}
Return
$+1::
if GetKeyState("NumLock","T")
SendInput, {!}
else
{
Click down
KeyWait 1
Click up
}
Return
$^1::
if GetKeyState("NumLock","T")
SendInput, ^1
else
{
Click down
KeyWait 1
Click up
}
Return
只需执行
Send,^1
Oh我忘了^1不是{Ctrl}的键名。我添加{}只是为了与其他代码格式保持一致。更改为发送,^{1}并且可以正常工作。谢谢