魔盒的遙控器壞了有一段時間了,前些天買了個羅技k300r一體鍵盤,用起來挺爽,還有關(guān)機(jī)鍵,可是。。。關(guān)掉后就起不來了,usb供電也被一起關(guān)閉~~?。?br />
研究了一段時間,想有什么辦法可以保持usb的供電呢?但是即使供電保持了,kerneldown了也沒什么用處。果斷放棄。
看到壇子里http://bbs.yunos.com/read.php?tid=263214497有大俠給魔盒裝IR,但是一直猶豫怎么沒有辦法灌遙控器代碼,一直沒有嘗試。
今天偶然又看到一篇關(guān)于amlogic芯片紅外遙控器自定義按鍵的帖子,頓時來了念頭。
立即開始行動,從淘寶上買接收頭已經(jīng)不能滿足我的速度要求了,于是從家里兩臺過時的機(jī)頂盒上巴拉下兩個紅外接收頭,開始嘗試。
巴拉下來的兩個紅外接收器,完全沒有型號,也沒有管腳定義,只能慢慢嘗試,過程是艱辛的,在此不表。
從機(jī)頂盒上拆下來的接收頭:
IMAG0163.jpg (1.04 MB, 下載次數(shù): 82)
下載附件
保存到相冊
2014-6-8 15:36 上傳
IMAG0164.jpg (856.63 KB, 下載次數(shù): 84)
下載附件
保存到相冊
2014-6-8 15:36 上傳
第一版接線,經(jīng)過N次嘗試后,終于有輸出了:
IMAG0165.jpg (1.42 MB, 下載次數(shù): 14)
下載附件
保存到相冊
2014-6-8 15:36 上傳
第二版,巨大的發(fā)現(xiàn)!
發(fā)現(xiàn)板子上,在LED燈旁邊有三個空的引腳,難道就是紅外接收頭的位置?經(jīng)過嘗試,果然是的!
接線圖:
IMAG0169.jpg (1.04 MB, 下載次數(shù): 6)
下載附件
保存到相冊
2014-6-8 15:36 上傳
下面簡單說一下遙控器自定義,詳細(xì)請參考上面提到的帖子。注意,需要root
按下電視機(jī)遙控器的按鍵,dmesg后出現(xiàn):
<4>[ 312.449689@0] Wrong custom code is 0xe11ebf40
修改remote.conf中的factory_code = 0xbf400001,使用remotecfg /etc/remote.conf應(yīng)用按鍵配置,繼續(xù)按遙控器看輸出:
<4>[ 1165.066331@0] scancode is 0x0018, invalid key is 0x0000.
說明電視機(jī)遙控器上power的按鍵碼是0x18
修改
/etc/remote.conf
0x18 104 #116從下面的按鍵映射表看來,就是音量+,于是改為0x18就OK了!
/system/usr/keylayout/Vendor_0001_Product_0001.kl
key 104 VOLUME_UP
原以為需要在盒子上巴拉一個窗口出來,實測發(fā)現(xiàn)不需要,接受效果很好。
重點注意:
1. power按鍵請不要用自定義
我改了power按鍵后,可以關(guān)機(jī),但是!不能喚醒,我頓時傻了,難道魔盒連IR的電源都斷?測量后,發(fā)現(xiàn)電源沒斷。
聯(lián)想到是否因為kernel down了,所以自定義的按鍵不能用了?
于是恢復(fù)0x57按鍵值,正好我使用的遙控器上有這個按鍵值的按鈕,測試后果然是可以從待機(jī)喚醒的。
所以,power按鍵請不要用自定義。
2. 遙控器要NEC編碼的
測試了一下家里的幾個遙控器,只有長虹的可以用
3. 接收頭要使用38Khz的,拆了兩臺機(jī)頂盒的接收頭,只有一臺可以用。
附按鍵定義【長虹】:
factory_code = 0xbf400001
work_mode = 1
repeat_enable = 1
release_delay = 150
debug_enable = 1
reg_control = 0xfbe40
key_begin
0x57 116 #power
#0x5B 60 #NOTIFICATION
0x4e 121 #MEDIA_REWIND
0x4F 120 #MEDIA_FAST_FORWARD
0x49 103 #DPAD_UP
0x48 108 #DPAD_DOWN
0x53 105 #DPAD_LEFT
0x4b 106 #DPAD_RIGHT
0x44 97 #DPAD_CENTER
#0x57 125 #MENU
0x15 102 #HOME
0x50 15 #BACK
0x18 104 #VOLUME_UP
0x59 109 #VOLUME_DOWN
key_end
特別感謝親愛的老婆對我的大力支持,為了不打攪我,特意將寶寶帶出去玩了半天。
|