2017-08-09 56 views
-1

我想重新映射鼠標點擊一個按鈕取決於Numlock的狀態。如果Numlock是'開',那麼我想正常行爲映射到鼠標點擊。我在下面創建的腳本工作正常,但我有重映射CTRL + 。Autohotkey:Ctrl + 1映射

SHIFT + 將導致'!'所以這很容易做,但我不知道CTRL + 是什麼行爲。當前腳本具有虛擬「Send,{^ 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 
+0

只要發送,^ 1' – Oleg

+0

哦,我忘了^不是{Ctrl}的關鍵名稱。我添加了{}以與其他代碼格式保持一致。 改爲發送,^ {1}和它的作品。謝謝 – DNH

回答

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