2015-07-21 28 views
2

這是我的代碼。兌換LWin和LAlt

#InputLevel 1 
LAlt::LWin 
LWin::LAlt 

#InputLevel 2 
!a:: 
#a:: 
tooltip You pressed %A_ThisHotkey%. 
return 

從我的理解,InputLevel 2首先被執行,然後InputLevel 1,如果我按LALT鍵和鍵,這意味着,屏幕上會顯示我按下!一,如果我按倫鍵和鍵,屏幕將顯示我按#a。

但實際上我的屏幕沒有顯示任何內容。我的鑰匙沒有被捕獲。

我錯過了什麼嗎?我想先捕獲熱鍵,然後重新映射。

+1

您的腳本工程100%的罰款對我..我得到了正確的工具提示:(AHK使用VERS 1.1.22.2)/ – Blauhirn

+0

@Blauhirn我使用完全相同的版本!它怎麼會在我身邊不起作用?你知道可能的原因嗎? – Gqqnbig

+0

@Blauhirn順便說一下,我使用的Windows 7和鍵盤是菲爾科67. – Gqqnbig

回答

1

當您按alt + a時,LAlt::LWin熱鍵先被觸發,而熱鍵被忽略。如果您想要觸發!a::,無論第一個熱鍵是什麼,您必須在LAlt::LWin熱鍵上添加~,以便其本機功能(執行alt + a所必需的)不會被阻止。

它可能會更容易與這個例子就明白了:

#InputLevel 1 
~LAlt:: tooltip First pressed %A_ThisHotkey%. 
~LWin:: tooltip First pressed %A_ThisHotkey%. 

#InputLevel 2 
!a:: 
#a:: 
tooltip Then pressed %A_ThisHotkey%. 
return 

PS:如果你也想忽略的(可能)被按下,你可以在!a::#a::添加通配符*多餘的修飾熱鍵。因此,在年底,熱鍵是這樣的:~LAlt::LWin~LWin::LAlt*!a::*#a::