本帖最后由 脖子很長的鹿 于 2014-6-10 12:00 編輯
天貓魔盒的遙控器壞了,于是買了個羅技k300r一體鍵盤,開始用起來挺爽,有關(guān)機鍵,可是。。。關(guān)掉后就起不來了,usb供電也被一起關(guān)閉~~??!
研究了一段時間,沒法解決這個問題,果斷放棄。
看到有大俠給魔盒裝IR的帖子,但一直擔心無法給遙控器修改代碼,一直沒有嘗試。今天偶然又看到一篇關(guān)于amlogic芯片紅外遙控器自定義按鍵的帖子,頓時來了念頭。立即開始行動,從淘寶上買接收頭已經(jīng)不能滿足我的速度要求了,于是從家里兩臺過時的機頂盒上拆下兩個紅外接收頭,開始嘗試。
拆下來的兩個紅外接收器,完全沒有型號,也沒有管腳定義,只能慢慢嘗試,過程是艱辛的,在此不表。
從機頂盒上拆下來的接收頭:
QQ截圖20140610114429.png (429.72 KB, 下載次數(shù): 55)
下載附件
保存到相冊
2014-6-10 11:45 上傳
QQ截圖20140610114443.png (257.41 KB, 下載次數(shù): 51)
下載附件
保存到相冊
2014-6-10 11:45 上傳
第一版接線,經(jīng)過N次嘗試后,終于有輸出了。。
QQ截圖20140610114501.png (506.19 KB, 下載次數(shù): 42)
下載附件
保存到相冊
2014-6-10 11:46 上傳
第二版,重要發(fā)現(xiàn)!發(fā)現(xiàn)板子上LED燈旁邊有三個空的引腳,難道就是紅外接收頭的位置?經(jīng)過嘗試,果然是的!
QQ截圖20140610114519.png (372.94 KB, 下載次數(shù): 54)
下載附件
保存到相冊
2014-6-10 11:46 上傳
下面簡單說一下遙控器自定義。注意,需要root
按下電視機遙控器的按鍵,dmesg后出現(xiàn):
<4>[ 312.449689@0] Wrong custom code is 0xe11ebf40
修改remote.conf中的factory_code = 0xbf400001,使用remotecfg /etc/remote.conf應用按鍵配置,繼續(xù)按遙控器看輸出:
<4>[ 1165.066331@0] scancode is 0x0018, invalid key is 0x0000.
說明電視機遙控器上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)機,但是!不能喚醒,我頓時傻了,難道魔盒連IR的電源都斷?測量后,發(fā)現(xiàn)電源沒斷。聯(lián)想到是否因為kernel down了,所以自定義的按鍵不能用了?
于是恢復0x57按鍵值,正好我使用的遙控器上有這個按鍵值的按鈕,測試后果然是可以從待機喚醒的。所以,power按鍵請不要用自定義。
2. 遙控器要NEC編碼的
測試了一下家里的幾個遙控器,只有長虹的可以用
3. 接收頭要使用38Khz的,拆了兩臺機頂盒的接收頭,只有一臺可以用。
附按鍵定義【長虹】:
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
|