Autohotkey:Ctrl + 1映射

时间:2017-08-09 19:39:40

标签: autohotkey

我想将鼠标单击重新映射到一个按钮取决于Numlock的状态。如果Numlock是“开启”的话。然后我想要正常的行为else map鼠标点击。我在下面创建的脚本运行正常但我无法重新映射 CTRL + 1

SHIFT + 1 将导致'!'这样做很简单,但我不知道 CTRL + 1 的行为是什么。当前脚本具有虚拟"发送,{^ 1}"但这不是真正的行为。

我感谢任何建议。

* Keywait用于模拟按住鼠标按钮,并且基于Numlock状态启用/禁用脚本。

$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

1 个答案:

答案 0 :(得分:0)

以下内容应该执行您所描述的内容,并对代码本身进行一些清理。我还建议您阅读各种发送模式,因为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