2010年3月6日 星期六

WinLIRC : 利用家用遙控器控制電腦(2)

利用 Girder 3.29 + IgorPlugin 讓我們可以很輕鬆的來指定每支遙控器各個按鍵要執行的電腦指令。當我們按下遙控器的按鍵,Girder 接收到按鍵的 IR Code 以後就可以觸發一個事件(Event),找到該事件對應的動作設定以後,就會去執行該動作的指令。 Girder 3.2 將可控制的「動作」分為以下幾大類:

  • Windows : 有關視窗的控制,最大化、最小化、關閉 ......
  • OS : 有關作業系統的相關指令,關機、登出、重新開機、調整音量、執行某個程式 ......
  • Command : 擷取使用者的操作過程並套用,類似 MS Office 裡的錄製巨集的功能。
  • Girder : 用來控制 Girder 的相關動作
  • Mouse : 有關滑鼠的控制,按鍵的 Click/Double Click、指標的移動和滾輪的移動。
  • Keyboard : 模擬鍵盤的動作送出按鍵
  • Plugins : 列出所使用到的 Plugins 清單
當我們設定好遙控器按鍵對應的動作以後,這些設定值可以儲存為 *.GML 的 XML 格式純文字檔,以後要用就可以開啟舊檔來套用,甚至和別人分享。底下是我的 PowerPoint 和 Media Player 的設定檔:
下載以後自行儲存指定的資料夾,接著就可以利用主選單中的 [File]→[Open] 來開啟 GML檔案,並讓 Girder「學習」我們遙控器的按鍵。

在開始「訓練」Girder 前先分享一個慘痛的經驗。由於 Girder 的 hot key 裡面,「F5」是測試(執行)指令,而 Power Point 的播放投影片也是「F5」,加上 Girder 的預設是當我們讓 Girder 學習完遙控器的某個按鍵以後會立即生效並執行。這下可慘了,Girder 會陷入無窮迴圈,滑鼠能動不能按,鍵盤則是按了完全沒反應,只能以 Reset 收場,而我居然發生三次這樣狀況。因此建議先進行以下的設定以後再開始進行按鍵的「學習」。
  • 點選主選單 [File] → [Settings] 
  • 點選 [General]
  • 勾選 [Don't send the IRcommands when Girder is the Foreground windows]
  • 按 [Apply] 按鈕

 設定完,以後我們在 Girder 視窗操作時,按遙控器的按鈕就不會執行任何動作。


下面以 medialplayer.gml 為例,看看如何讓 Girder 學習遙控器的按鍵:

1. 先下載 mediaplayer.gml ,並儲存在自己喜好的資料夾。

2. 在 Girder 中點選 [File] → [Open] ,找到 mediaplayer.gml 以後開啟舊檔。應該會看到下面的畫面。

 視窗左側有個名為 [MediaPlayer] 的「群組」,右側是設定的畫面,上半部主要為對應的遙控器按鍵設定(Girder 稱為 Events),下半部則是要執行的動作設定。

3. 用滑鼠按一下 [MedialPlayer] 的「加號」即可展開該群組的「命令樹」。

 這個 MediaPlayer 群組可以讓我們控制 MediaPlayer,包括
  • 開啟指定的播放清單 (Open) : 執行 OS 中的 Execute
  • 主音量調大聲 (Vol+) : 執行 OS 中的 Volume Change
  • 主音量調小聲 (Vol-) : 執行 OS 中的 Volume Change
  • 停止播放 (Stop):送出鍵盤的 Ctrl + s
  • 下一首 (Next) : 送出鍵盤的 Ctrl + f
  • 前一首 (Prior) : 送出鍵盤的 Ctrl +b
  • 播放 (Play) : 送出鍵盤的 Ctrl +p
4. 假設我們要讓遙控器的「 Power」 按鍵對應到「Open」。
  • 用滑鼠按一下「Open」 的加號
  • 看到 [EventString],用滑鼠點選
  • 按右上角的 [Learn Event] 的按鈕
  • 按一下遙控器的「 Power」 按鍵,如果成功,會看到仿 LED 畫面的 IR Code 換掉了,以圖片的例子來說,「Open」原來對應的遙控器按鍵 IR Code 是 [6523],學習完變成 [807F] 了。

 5. 利用步驟 4 的方法,繼續指定 [Vol+] , [Vol-], [Stop] ......所要對應的遙控器按鈕。

要特別說明的,「Open」是讓 Girder 去執行某個程式,我把它指定去開啟一個叫「classMusic.wpl」的 MediaPlayer 播放清單檔案,因此要使用這個功能,必須自己設定是要開啟哪一個播放清單檔。假設已經有一個播放清單檔,指定的步驟如下:
  • 用滑鼠點一下左側「命令樹」中的「Open」
  • 按右下方的 [Browse] 按鈕,然後指定要開啟的檔案。
  • 最後按 [Apply] 按鈕套用。

 6. 都學習完畢以後,記得用滑鼠點選主選單中的 [File] → [Save] 將結果儲存起來。

接著就可以利用遙控器測試一下是否能遙控我們的 Media Player 了。


Q&A

如果希望 Girder 可以在開機時可以自動啟動,並且自動開啟 mediaplay.gml 檔案,要怎麼做?
觀察下面這張 [File]→[Settings]→[General] 的擷圖:
其中勾選了:
  • Auto Load (並利用 Browse 指定了 c:\girder\mediaplayer.gml)
  • Launch Girder on windows startup
  • Hide on startup
這就是讓 Girder 自動載入 mediaplayer.gml 的答案囉!不過,要記得按 [Apply] 按鈕。

在網路上找到了一份 Girder 的中文手冊,可以下載回來參考看看。

1 則留言:

  1. 請問顏老師
    如何讓同一款遙控器,被Girder辨認如來?
    因為想要做IRS,買了同一堆型號的遙控器,不知顏老師有沒有什麼解決方法?

    回覆刪除

 
© 2009. Design by Pocket