After Effects with AutoHotKey (1) 簡單範例

olaolayuan
6 min readMay 1, 2018

--

AutoHotKey是個免費又強大的鍵盤自訂工具,網路上也有許多的應用範例。雖然用在Adobe系列軟體的討論不多,但自己用了AutoHotKey這幾個月後,想要稍微介紹一下這個軟體的厲害之處,希望拉更多人入坑(?

簡單來說,AHK可以任意的定義一組快捷鍵,然後執行想要的功能。覺得快捷鍵不好按或是功能不實用,也能夠隨時修改。

AHK有兩種使用方式,一種是執行別人封裝好的exe檔,不需要安裝程式,但也不能再編輯內容。所以這裡要介紹的是另一種可以編輯的.ahk檔,需要先安裝主程式。

首先先到 AutoHotkey官網(https://autohotkey.com/),只有windows的版本

官網看到的Download就給他點下去~
然後看到藍底再點下去
安裝選上面那個(Express Installation)

下載安裝完AutoHotKey後,只要打開複製下面這串內容到記事本,將副檔名從txt改成ahk就是完成了一個自訂快捷鍵啦(tala~

如果貼到記事本沒有斷行,改從這邊複製內容

;----------------------------------------------
SetTitleMatchMode, 2
#If WinActive("ahk_exe AfterFX.exe")
;----------------------------------------------
;雙擊shift
~LShift::
if (A_PriorHotkey <> "~LShift" or A_TimeSincePriorHotkey > 400)
{
KeyWait, LShift
return
}
;執行功能
send +{F3}
return
;----------------------------------------------
#IfWinActive
;----------------------------------------------
用完長這樣

這個範例的功能是按兩下左邊的Shift,就會輸入shift+F3(切換Timeline和GraphEditor的快捷鍵)。接下來介紹每行的功能,簡單說明一下:

;----------------------------------------------

毫無反應,只是個分隔線。只要在開頭加上 ; (分號),那麼這行文字就會被當作註解,不會有功能。

SetTitleMatchMode, 2
#If WinActive("ahk_exe AfterFX.exe")

這兩行是用來告訴ahk,接下來設定的快捷鍵只有在ae才會有效,其它程式不受影響。平常不會動到這兩行

;雙擊shift
~LShift::
if (A_PriorHotkey <> "~LShift" or A_TimeSincePriorHotkey > 400)
{
KeyWait, LShift
return
}
;執行功能
send +{F3}
return

這串就是自訂的快捷鍵了。雖然很多行,但其實需要修改的部分只有粗體的地方。這裡設定是用左邊Shift按兩下,所以上面三個粗體都是LShift。如果想要改成用ctrl也很簡單:

;雙擊ctrl
~LCtrl::
if (A_PriorHotkey <> "~LCtrl" or A_TimeSincePriorHotkey > 400)
{
KeyWait, LCtrl
return
}
;執行功能
send +{F3}
return

只要把三個LShift改成LCtrl就可以,要稍微注意的是前兩個LCtrl的前面有~(波浪符),不要不小心刪掉了。

設定好要用來啟動的快捷鍵後,決定這個快捷鍵要的功能只需要一行:

send +{F3}

send是AHK用來傳送按了鍵盤哪個鍵的指令,+代表的是shift,{F3}就是F3。組合起來shift+F3也就是切換graphEditor的快捷鍵了。用一個更容易按的快捷鍵取代原本的快捷鍵,是ahk相當方便的地方

send幾乎可以傳送大部分的快捷鍵。組合鍵的部分是用符號代替

  • ! 是alt
  • +是shift
  • ^是ctrl

所以

  • send ^+d 就是ctrl+shift+d,分割圖層
  • send ![ 就是alt+[,調圖層inpoint
  • send {Home} 就是Home鍵,回到comp開始的時間

至於那些鍵要加{}哪些不用,需要時再查官網的手冊(點我)就好,因為我也背不起來XDD

return

每個快捷鍵寫完一定要有return,告訴ahk這個快捷鍵要做的事到此為止。接下來還會繼續新增其他快捷鍵,如果沒有加上return就會連其他功能都一起執行

#IfWinActive

最後一行,如果把快捷鍵寫在這行底下,那就不會限定應用程式,任何程式都可以執行。所以之後寫的各種ae快捷鍵,都要放在 #If WinActive(“ahk_exe AfterFX.exe”) 和 #IfWinActive 中間,才能確定不會影響到其它程式

//

AHK運作的方式大概就是這樣。其實不只快捷鍵還有很多功能,但應該不會很多人想自己寫,所以下一篇會分享目前自己設定的快捷鍵XDD

--

--