|
讓所有遙控器都能遙控天貓魔盒,從此,就可以告別看電視時同時用兩個遙控器的尷尬,而且天貓魔盒遙控器功能極少,數(shù)字鍵都沒有。另一方面,學(xué)完本帖,你可以用任何一個遙控器,并且自定義遙控器按鍵的功能,遙控器壞了也不需要買原裝去替代!
需要工具:一個NEC紅外遙控器,電腦
第一,Amlogic的芯片機(jī)頂盒通常帶有一個38Khz的紅外接收器(相當(dāng)常見的廉價傳感器約$1.50)。在晶晨半導(dǎo)體的SOC中具有一個硬件NEC遠(yuǎn)程協(xié)議解碼器。晶晨半導(dǎo)體遠(yuǎn)程軟件還可以支持RC5和RC6軟件遠(yuǎn)程協(xié)議,但我還沒弄清楚。所以你需要個使用NEC遠(yuǎn)程協(xié)議的遙控器。我使用的是普通的紅外遙控器。在配置過程中,您將使用以下四個文件或程序:- * dmesg : 獲取內(nèi)核報告的信息
- * Remotecfg : 加載/system/etc/remote.conf文件、檢測其中的錯誤
- * /system/etc/Remote.conf : 將scancodes與linux的keycodes對應(yīng)的配置文件
復(fù)制代碼 默認(rèn)情況下,原始 Remote.conf 都會啟用調(diào)試,并且設(shè)置為 0xff000001 工廠代碼。
如果您將遙控器對準(zhǔn)盒子,按幾個按鈕,然后在盒子終端里運(yùn)行"busybox dmesg",您應(yīng)該看到類似于:- [ 5094.377000] Wrong custom code is 0xXXYYZZZZ
復(fù)制代碼 如果你沒有看到類似的信息,說明你的遙控器不是使用NEC協(xié)議,再換個遙控器試試。如果你看到,這個代碼以0x(十六進(jìn)制)中斷,XX(可能是Checksum),YY(scancode),ZZZZ(設(shè)備碼)
這樣的話,你就可以將factorycode=0xZZZZ0001寫到 remote.conf。
在我們修改remote.conf文件之前,需要先將遙控器的各個按鍵的scancodes記下來
1、運(yùn)行 demsg -c 清理內(nèi)核中的信息
2、按順序按遍遙控器的每個按鈕(如果你覺得沒按到,你可以多按幾次,但一定要按順序)
3、運(yùn)行 dmesg | grep "code is 0x" | rev |cut -c 5-6 -c 9-10| rev |uniq >> /sdcard/IRdump.log
然后會在/sdcard/下創(chuàng)建包含scancodes的IRdump.log文件,這些會被用在remote.conf文件中,所以請務(wù)必按順序按下,否則 之后你會搞亂。
下一步就是remote.conf文件了,默認(rèn)路徑是/system/etc/remote.conf。這是安卓init進(jìn)程默認(rèn)加載的路徑。由于啟動時,/system 被默認(rèn)掛載為只讀,所以請先運(yùn)行下 mount -o remount rw /system ,然后備份下remote.conf文件 輸入 cp /system/etc/remote.conf /system/etc/remote.conf.bak
現(xiàn)在我們可以編輯remote.conf了,首先將之前獲取的 factorycode 填入對應(yīng)位置 (我的factorycode = 0x9c210001)
第二步 就是刪除 key_begin 和 key_end 之間的所有東西 ,然后將IRdump.log內(nèi)的文件復(fù)制進(jìn)去,
下面開始煩人的操作了,將每個scancode 與 keycode 匹配,格式是:- 0x57 116 #scancode keycode;
- <span style="line-height: 28.8px;"> </span><span style="line-height: 1.8em;">0x5B 60</span><blockquote> 0x0B 121
復(fù)制代碼 在 scancode 和 keycode 之間只能是空格,不是用tab這其他的字符 不然 之后用 remotecfg 都會報錯
amlogic默認(rèn)的keycode值在/system/usr/keylayout/Vendor_0001_Product_0001.kl文件里,格式是:
<font face="Arial" size="2">- #key Linux_keycode android_keycode
復(fù)制代碼 </font>
keycode 隨著 scancode的產(chǎn)生而產(chǎn)生,然后 Linux子系統(tǒng)會根據(jù)以上文件的對應(yīng)關(guān)系把a(bǔ)ndroid_keycode 傳給安卓系統(tǒng)
keycode 很嚴(yán)格,必須將remote.conf 和 Vendor_0001_Product_0001.kl文件匹配一致。- <blockquote>Remote.conf | Vendor_0001_Product_0001.kl
復(fù)制代碼 就是說 當(dāng)你按下 主頁鍵的時候,它會產(chǎn)生 scancode 0xff 然后你需要到Vendor_0001_Product_0001.kl文件中尋找 home鍵的keycode 將其填在 scancode后
當(dāng)然你也可以直接編輯 Vendor_0001_Product_0001.kl ,但是不建議這樣做。
修改好了之后,測試你做的remote.conf 運(yùn)行 remotecfg /system/etc/remote.conf
然后你會看到輸出一下東西,接著你可以按鍵了。。
最后你也可以配置同時支持多個遙控器哦!只需要再增加一個factorycode、 key_begin和key_end部分即可:- # Comcast Universal Remote NEC Code 00899 (Cable)
- <blockquote>repeat_enable = 1
復(fù)制代碼 由于天貓魔盒的接收器2.4G的而非紅外的,所以其他的紅外遙控器是無法適配的。我測試了6個遙控器(2.4G的除外),其中只有小米盒子1S的遙控器不能適配,其他均可以,理論上應(yīng)可以適配市面上絕大部分紅外遙控器。寫在這里,只為有需要的人提供方便。
關(guān)于天貓盒子的代碼
修改安卓系統(tǒng)網(wǎng)絡(luò)電視盒子的遙控器代碼需要用到盒子安卓系統(tǒng)的\system\etc\remote.conf 文件(該文件定義遙控代碼的值),和\system\usr\keylayout\Vendor_0001_Product_0001.kl文件(該文件定義遙控代碼值的使用功能),關(guān)于remote.conf文件網(wǎng)上介紹的很多,下面我就Vendor_0001_Product_0001.kl文件給大家講解一下每個代碼代表的什么意思,翻譯的不一定對,僅供參考。
例如remote.conf文件中的下面代碼:
*************************
#電源休眠
0x40 116
************************
“#電源休眠”是注釋,只要前面帶“#”系統(tǒng)認(rèn)為后面的都是注釋,不做任何的代碼定義使用“0x40”是遙控器的按鍵的鍵值,就是與這個功能對應(yīng)的遙控器的按鍵鍵值,最后面的“116”代表的什么意思就要看\system\usr\keylayout\Vendor_0001_Product_0001.kl文件了,下面的表格就是這個文件的詳細(xì)內(nèi)容,對應(yīng)下面的第2列鍵值序號,對應(yīng)的功能見第3列“鍵值功能”,是英文,第4列“中文說明”是我給大家標(biāo)注的,有很多按鍵不知道是什么意思,是自己胡謅的,誰知道請回帖告知,我馬上修改過來,謝謝
另外很多鍵值的功能都是一樣的,我也不知道他們有什么區(qū)別,大家還是自己實(shí)驗(yàn)吧,我也不是很懂!
1 返回
2 按鍵1
3 按鍵2
4 按鍵3
5 按鍵4
6 按鍵5
7 按鍵6
8 按鍵7
9 按鍵8
10 按鍵9
11 按鍵0
12 減號=
13 等于號=
14 刪除
15 返回
16 Q
17 W
18 E
19 R
20 T
21 Y
22 U
23 I
24 O
25 P
26 左括號(
27 右括號)
28 回車
30 A
31 S
32 D
33 F
34 G
35 H
36 J
37 K
38 L
39 分號
40 撇號'
42 左邊的SHIFT
43 反斜線符號/
44 Z
45 X
46 C
47 V
48 B
49 N
50 M
51 逗號,
52 句號.
53 \
54 右SHIFT
56 左邊的ALT
57 空格
58 右按鍵
60 通知?
61 呼叫?
62 結(jié)束呼叫?
70 瀏覽器
97 光標(biāo)中心
100 右邊的ALT
102 主頁
103 光標(biāo)上
104 音量上
105 光標(biāo)左
106 光標(biāo)右
107 結(jié)束呼叫?
108 光標(biāo)下
109 音量下
113 靜音
114 音量下
115 音量上
116 電源休眠/喚醒
117 電源關(guān)閉
119 媒體播放/暫停
120 媒體快進(jìn)
121 媒體倒退
122 媒體上一個
123 媒體下一個
125 菜單
127 搜索
128 媒體停止
130 放大
131 縮小
133 TAB切換
139 菜單
140 F10
155 郵件?
158 返回
212 相機(jī)?
215 AT
217 搜索
227 推薦?
228 付費(fèi)?
231 呼叫?
232 光標(biāo)中心
399 重點(diǎn)?
修改代碼時用adb可以方便地從電腦遠(yuǎn)程操作
天貓魔盒M13開啟USB調(diào)試進(jìn)行遠(yuǎn)程操作的方法
親測可用,可以數(shù)字鍵換臺,一鍵直達(dá)應(yīng)用
|
評分
-
查看全部評分
上一篇: 天貓魔盒用第三方軟件看視頻顯示比例出現(xiàn)問題下一篇: 天貓魔盒打開花屏,呈黑白的條狀的原因及解決辦法!
|