2013-07-09 50 views
0

隨着AutoHotKey腳本禁用了修改所有組合在AutoHotkey

LWin:: 
return 

Left Windows鍵可以完全禁用。不僅是簡單的Left Windows命中禁用,而且包括Left Windows鍵的任何其他組合都不起作用,因爲沒有按下Left Windows鍵。 例如:LWin+E(通常會打開資源管理器窗口)將只發送一個「e」。

從來沒有那麼簡單,只要定義了使用左窗口鍵的新映射,Left Windows鍵綁定的所有其餘部分都會返回活動狀態。例如,該腳本:

LWin:: 
return 


LWin & a:: 
Send foo 
return 

LWin + a將打印 「foo」。單獨的Left Windows什麼都不會做。但是,神奇地,Left Windows + E將打開一個資源管理器窗口。

我怎麼能禁用修飾符(LWinRWinLAltRAltLCtrlRCtrl),以使沒有按鍵綁定(但我可明確定義的值)的運行?

回答

1

指定您希望禁用的每個LWin組合。

LWin:: 
LWin & e:: ; this combinations is disabled 
return 


LWin & a:: 
tooltip, foo 
return 

除非禁用,否則其他每個默認組合仍然有效。

如果您不願意編寫所有組合,您可以用不同的方法來完成。 由於您現在使用Send,所以它可靠性稍差。

global LWin_g := 0 

SetTimer , checkLWin , 25 
return 


checkLWin: 
    if(GetKeyState("LWin" , "P")) 
     LWin_g := 1 
    else 
     LWin_g := 0 
return 

$e:: 
    if(LWin_g) 
    { 
     tooltip, action 
    } 
    else 
    { 
     Send ,e 
    } 
return 

LWin:: 
return 
+0

這就是我所害怕的。很遺憾知道這一點。 –

+0

太棒了!你的解決方案太棒了! –