基本上,自拍棒一點都不神奇。神架的地方是它有一顆藍芽按鈕。這個按鈕可以趨動拍照功能。所以,大家不再需要像之前那樣,設定完自拍讀秒後,立刻拿起來擺姿勢。kjstar Z07-5 只要按下自拍鈕,立刻就拍照了。
但是,據福克斯的觀查,它的生產主要是來支援 iOS,而不是 Android。唉.......不過,沒關係,網路上已經很多人分享過,我們只需要把相機設定成 Volume Up/Down 拍照的模式,它還是支援的。可是,好景不常,並不是每台 Android 手機都支援。例如,福克斯使用的小米3就不支援。
然後,我們也會找到一些文章,他們會教大家改灌其它的 app ,或是直接灌 kjstar 的 app 就支援了。確實如此。不過,福克斯比較龜毛,福克斯喜歡使用原生的照相機體,或是自己喜歡的照相機軟體。所以,福克斯做做了一些研究。
首先,福克斯把 kjstar Z07-5 與 mac 電腦連線。果然,按下按鈕後,它被轉成 Volume Up 的按鍵。由於,硬體鍵盤的設計中,有一個 scancode 與 keycode 的對應表,這看似很複雜,其實簡單說就是,一個翻譯表,用來翻譯實際上鍵盤上的按鈕與電腦應用程式接收到的按鈕。如果,大家有 mac 電腦,當連上一個新的鍵盤後,mac 會請大家按下 右邊 shift 左邊的的鍵與左邊 shift 右邊的鍵。這個行為就是用來搜尋這個對應表。當然, Android 也有一模一樣的機制。
所以,福克斯就灌了一個鍵碼的顯示軟體,發現這個藍芽按鈕會送出 scancode 88 與 28 的按鍵。其中 28 只有 keyup 沒有 keydown。這個很明顯是用來 hack 某些 Android 手機。接著就需要看 keycode,在沒有對應的情況下會被對上 keycode 142 (scancode 88) 與 66 (scancode 28)。經由查表可以發現,keycode 142 是 KEYCODE_F12, 66 KEYCODE_CLEAR。這是什麼怪東西。但是,還是請大家注意,這個是沒有對應過的情況,對應過後會有不一樣的結果.
不過,沒關係,福克斯剛才說了,keycode 是有對應表的。我們只需要把它改成 Volume Up,我們一樣還是可以用音量鍵來拍照的。所以福克斯找了一下,發現在 Play Store 上有一個 app 叫:Apple Wireless Keyboard Keymap
安裝之後,我們需要做下面的動作:
- 進入系統設定頁
- 語言及輸入設定
- 點擊『實體鍵盤 kjstar』
- 點擊『設定鍵盤配置』
- 找到『 English (US) Apple Wireless Keyboard』 (有些人會顯示為英文(US) ...)
- 啟用『 English (US) Apple Wireless Keyboard』
這樣一來,我們就成功地把這個按鈕模擬成 Apple 的那隻很貴的鍵盤。接著,我們再按一下那顆藍芽按鈕,我們會看到 keycode 被改成 24 (KEYCODE_VOLUME_UP) 跟 66 (KEYCODE_CLEAR) 了。由於,Volume Up 有完整的 Key Down/Up 的事件,所以它的運作會很穩定。致於那個 66 就先別理它了。
最後,福克斯有跟其它朋友借他們的手機來連線試試。但是,發現 HTC 的相機因為太高級了,所以沒有支援 Volume Up/Down 拍照。所以還是不能用。不過,沒關係,致少廣大的 Android 使用者可以用這個方式來拍照了。