##title##

2015年7月24日

Autohotkey:熱鍵

熱鍵


符號 說明
# Win (Windows 徽標鍵). 在 v1.0.48.01+, 對於 Windows Vista 及以上版本, 包含 Windows 鍵的熱鍵 (例如 #a) 會等待 Windows 鍵被釋放後才發送任何包含 "L" 鍵擊的文本. 這樣避免了這種熱鍵中的 Send 鎖定 PC. 這種行為適用於除 SendPlay (這裡不需要) 和 盲從模式 外的所有發送模式.
! Alt
^ Control
+ Shift
& 和符號可以用來組合任意兩個按鍵或鼠標按鈕, 讓它們成為自定義熱鍵. 請參閱 後面 瞭解詳情. 在 Windows 95/98/Me 中這樣的熱鍵會被忽略 (無法激活).
< 使用成對按鍵中左邊的那個. 例如
> 使用成對按鍵中右邊的那個. 此符號在 Windows 95/98/ME 中會被忽略.
<^>! AltGr (alternate graving). 如果您鍵盤佈局中含 AltGr 鍵而非右 Alt 鍵, 那麼這一系列符號一般可以用來表示 AltGr (需要 Windows NT/2k/XP 或更高版本). 例如:
   
  <^>!m::MsgBox You pressed AltGr+m.
  <^
   
  或者, 讓 AltGr 自己成為熱鍵, 請使用下面的熱鍵 (不像上面出現的任何熱鍵):
   
  LControl & RAlt::MsgBox You pressed AltGr itself.
   
* 通配符: 即使附加的修飾鍵被按住也能激發熱鍵. 這常與 重映射 按鍵或按鈕組合使用. 例如:
   
  *#c::Run Calc.exe  ; Win+C, Shift+Win+C, Ctrl+Win+C 等都會觸發此熱鍵.
  *ScrollLock::Run Notepad  ; 即使在按住其他鍵時按下 ScrollLock 也會觸發此熱鍵.
   
  此符號在 Windows 95/98/ME 中會被忽略.
~ 激發熱鍵時,不會屏蔽(被操作系統隱藏)熱鍵中按鍵原有的功能。在下面的兩個例子中, 用戶的鼠標按鈕點擊會被發送到活動窗口:
   
  ~RButton::MsgBox You clicked the right mouse button.
  ~RButton & C::MsgBox You pressed C while holding down the right mouse button.
   
  注意: 1) 與其他前綴符號不同, 可以在某些熱鍵的 變體 中使用顎化符前綴但其他的不使用; 2) 代替 alt-tab 的特殊熱鍵總是忽略顎化符前綴; 3) 顎化符前綴在 Windows 95/98/ME 上被忽略
$ 通常只在腳本使用 Send 命令發送包含了熱鍵自身的按鍵時才需要使用此符號, 此時可以避免觸發它自己. $ 前綴強制使用 鍵盤鉤子 來實現此熱鍵, 作為一個副作用這樣避免了 Send 命令觸發它自己. $ 前綴相當於在此熱鍵定義之前的某個位置指定了 #UseHook.
   
  [v1.1.06+]: #InputLevel 和 SendLevel 對 Send 命令是否觸發熱鍵和熱字串提供了額外的控制功能.
UP 單詞 UP 可以跟在熱鍵名後面使得在釋放按鍵時觸發熱鍵, 而不是按下時. 下面的例子把 LWin 重映射 為 LControl:
   
  *LWin::Send {LControl Down}
  *LWin Up::Send {LControl Up}
   
  "Up" 也可以用於普通熱鍵中, 例如: ^!r Up::MsgBox You pressed and released Ctrl+Alt+R. 它還可以用在 組合鍵 (例如 F1 & e Up::)
   
  限制: 1) "Up" 不能和 有些桿按鈕 一起使用; 2) "Up" 需要 Windows NT4/2000/XP 或更高版本; 且 3) 沒有普通/按下熱鍵副本的 "Up" 熱鍵會完全接管那個熱鍵以防止它的按鍵卡住. 避免這種情況的一種方法是添加 顎化符前綴 (例如 ~LControl up::)
   
  相關提示, 類似於上面的一種技術是讓熱鍵成為前綴鍵. 好處是儘管熱鍵會在按鍵鬆開時激發, 但僅在您之前按住此前綴鍵時沒有按其他任何鍵的情況下才會如此. 例如:
   
  LControl & F1::return  ; 通過把左 control 鍵放在 "&" 前面至少一次來讓它成為前綴鍵.
  LControl::MsgBox You released LControl without having used it to modify any other key.
   

沒有留言:

張貼留言