回到首頁
關於我
我的Picasa
留言板
訂閱我的文章
放大字型
原始字型
回到最上層

控制主頁

公告

感謝各位網友的造訪與回應,由於工作的關係實在沒有心力繼續維護這個BLOG。對於各位的留言,有時候真的感到心有餘而力不足,所以沒有回應的部分,還請眾網友們多多包涵。Hans在這邊感謝你們的參與~~ 2011.12.20 Hans

2007年11月26日 星期一

3個步驟!自訂 Sony Ericsson 藍芽遙控功能

2007 11/26 Sony Ericsson 的藍芽遙控真是好物阿~~

1.把手機內建的遙控功能當作範本,以藍芽傳到電腦
2.修改範本,並另存新檔
3.傳回手機並使用

前一篇文章裡,我有提到手機的藍芽遙控不能自訂動作,可是後來在某次膜拜Google大神的時候,意外發現遙控功能其實是可以自訂的!既然可以自訂,那就代表我們可以將手機與電腦做更佳的整合啦~~

備註:只要你能將手機與電腦連接起來,則所有系統平台(Windows、Linux、Mac)皆適用,其原理主要是利用手機來模擬電腦的滑鼠及鍵盤。

下面我們就來看看如何自訂Sony Ericsson的遙控功能吧!

準備工作:
[Windows]
1.確認你可以將手機的檔案以藍芽傳送到電腦上
2.安裝可以 壓縮/解壓縮 .tar 檔案的壓縮軟體 例如:7-zip

[Ubuntu]
到 應用程式→添加/刪除 裡 安裝 "藍芽檔案分享" 這個服務(搜尋:bluetooth),以方便你在Ubuntu下用藍芽 傳送/接收 手機的檔案


由於我已經習慣使用Ubuntu,所以下面使用Ubuntu 7.10以及Sony Ericsson W610i作為使用環境來解說!(Windows平台下,也是一樣的操作步驟,很簡單的!)

步驟1:把手機內建的遙控功能當作範本,以藍芽傳到電腦
手機:到 "目錄→娛樂→遙控功能→(我以"MediaPlayer"當作範本)→進階→傳送→經Bluetooth藍芽" 將遙控功能的設定檔傳到電腦。
傳送到電腦時,電腦那邊會收到一個 "MediaPlayer.hid" 的檔案,這就是遙控功能的設定檔。


步驟2:修改範本,並另存新檔

將 "MediaPlayer.hid" 重新命名為 "MediaPlayer.tar"
然後用可以解開tar壓縮檔的軟體解壓縮它!

解開後,我們可以在壓縮檔裏面發現有兩個檔案~
一個是,"mediaPlayer_FINAL.png" 這是開啟遙控功能時,顯示在手機上的圖片,你可以自己畫一張新的圖,但是請注意需要配合手機螢幕的尺寸!

另一個則是"MediaPlayer.kcf",按鍵的動作就是在這個檔案定義的!

用文字編輯器開啟這個檔案,我們可以發現他是一個XML文件!
內容如下:

<SONY_ERICSSON_REMOTE_CONTROL_CONFIGURATION VERSION = "1.0">
<KEYMAP>
<KEY_1>
<ACTION>
<KEYBOARD MODIFIERS = "03" USAGEID = "05"/>
</ACTION>
</KEY_1>
......
......
</KEYMAP>
</SONY_ERICSSON_REMOTE_CONTROL_CONFIGURATION>


根據我在Google找到的技術文件 Bluetooth™ HID remote control
裡面有提到怎麼修改這些按鍵定義的動作,以下是XML標籤對應的手機按鍵:
XML標籤手機按鍵
KEY_11
KEY_22
KEY_33
KEY_44
KEY_55
KEY_66
KEY_77
KEY_88
KEY_99
KEY_STAR*
KEY_00
KEY_HASH#
KEY_VOL_UP+ (調高音量)
KEY_VOL_DOWN- (調低音量)
KEY_CAM相機
KEY_LSK左功能選擇鍵
KEY_RSK右功能選擇鍵
KEY_JOYPressing the navigation key
KEY_LEFT方向鍵 左
KEY_RIGHT方向鍵 右
KEY_UP方向鍵 上
KEY_DOWN方向鍵 下

如果要要將手機按鍵定義成鍵盤的按鍵,請在<ACTION>標籤裡使用<KEYBOARD>標籤

其中KEYBOARD標籤裡的MODIFIERS屬性定義如下表:
BitValueModifier Key
001Left Ctrl
102Left Shift
204Left Alt
308Left GUI (視窗鍵)
416Right Ctrl
532Right Shift
664Right Alt
7128Right GUI (視窗鍵)

備註:
如果想使用 Ctrl+Alt 則 MODIFIERS 就設定為 05 (Value 01+04)
如果想使用 Shift+Ctrl+Alt 則 MODIFIERS 就設定為 07 (Value 02+01+04)
不使用請設定為 "00"
依此類推...

USAGEID則代表一般按鍵,相關屬性請參考
http://www.usb.org/developers/devclass_docs/Hut1_11.pdf
裡面的"Keyboard/Keypad Page (0x07)" 這個章節
找到想使用的按鍵後請填入 Usage ID(HEX) 這個欄位的數值,不使用請填入 "00"

下面是我替原本的 "MediaPlayer" 增加兩個動作的範例:
<KEY_8>
<ACTION>
<KEYBOARD MODIFIERS = "07" USAGEID = "50"/> <!--Screen Left -->
</ACTION>
</KEY_8>
<KEY_9>
<ACTION>
<KEYBOARD MODIFIERS = "07" USAGEID = "4F"/> <!-- Screen Right -->
</ACTION>
</KEY_9>

由於我的Ubuntu旋轉螢幕的快捷鍵是
"Shift+Ctrl+Alt+方向鍵左" (向左轉)
"Shift+Ctrl+Alt+方向鍵右" (向右轉)
所以我將手機按鍵8設定為向左轉,故MODIFIERS填入07,USAGEID經過查表得知其 Usage ID(HEX) 的值為50,而手機按鍵9設定為向右轉,故MODIFIERS填入07,USAGEID經過查表得知其Usage ID(HEX)的值為4F,將這段程式增加到<KEYMAP>與</KEYMAP>之間後,另存成新的檔案,並暫時命名為"MediaplayerII.kcf"!

然後重新將圖片跟新的 "MediaplayerII.kcf" 用tar的格式壓縮!

注意:所有的檔名最好都一致,以免傳到手機上無法使用!

然後將壓縮好的 "MediaPlayerII.tar" 改名為 "MediaPlayerII.hid"

步驟3:傳回手機並使用

接著在用藍芽把 "MediaPlayerII.hid" 傳回手機就可以使用囉~

這樣就大功告成囉~~

[插曲]
就在我PO完這篇文章的10分鐘後....
我看到了這篇文章 [SonyEricsson手機使用教學]如何使用SE手機的遙控程式(8)

搞笑了... 原來... Sony Ericsson有提供藍芽遙控製作工具喔...
害我花了一大堆時間整理,測試....囧

不過不幸中的大幸是... Sony Ericsson並沒有提供在Linux環境下的修改工具,所以這篇文章勉強還算有一點點價值啦... 另外就是純手工自己研究,功能大概會比較強吧...XD

5 回應:

海潮 提到...

大大您好 您的文章讓我獲益良多
不過在下w610i的照相鍵 設定後似乎仍沒有作用
不知道您的手機是否也這樣子呢?

Hans 提到...

嗯...
沒錯,我當初在玩的時候,照相鍵好像沒辦法使用...

可是文件卻說可以... 怪了勒...

SE的官方程式我到沒有去測試,你可以試看看!

海潮 提到...

呵呵 在下有試了 知道不行 才來問問您是否也一樣~
謝謝您的回應~

Hans 提到...

呵呵 哪裡哪裡~

歡迎常來囉~~

Bryan 提到...

版大您好,感謝您的教學文。
如果我想遙控別的,比如說pps或kmp,
應該怎麼改?