我們都知道OrangePI有紅外接收,但是沒有一個指導(dǎo)的文檔來教我們怎么去使用它,這個帖子將教你怎么去使用它弓熏。首先你需要一個已經(jīng)root了的安卓系統(tǒng)胰默,我用的是這個:http://www.orangepi.cn/orangepibbscn/forum.php?mod=viewthread&tid=57&extra=page%3D1然后需要一個終端模擬器例如安卓終端场斑、ssh客戶端等漓踢,以及最好有一個支持掛載系統(tǒng)文件夾為讀寫的文件管理器例如MT管理器、RE管理器等漏隐,或者你使用如下的命令掛載文件系統(tǒng)彭雾。
mount -o remount,rw /system
復(fù)制代碼
現(xiàn)在打開終端模擬器并輸入以下代碼:
su
復(fù)制代碼
這個將使終端模擬器得到root。首先我們來修改遙控器的配置文件锁保。打開你的文件管理器并進入/system/usr/keylayout掛載成讀寫薯酝,更改此目錄下的sunxi-ir.kl成sunxi-ir.kl.bak以做備用及參照。你也可以在終端里執(zhí)行如下命令實現(xiàn)上面的步驟:
mount -o remount,rw /system
mv /system/usr/keylayout/sunxi-ir.kl /system/usr/keylayout/sunxi-ir.kl.bak
復(fù)制代碼
然后在文件管理器里創(chuàng)建一個新的配置文件并命名為sunxi-ir.kl或執(zhí)行如下命令:
mount -o remount,rw /system
echo new > /system/usr/keylayout/sunxi-ir.kl
復(fù)制代碼
接下來要重新加載紅外驅(qū)動以便更改配置爽柒。終端下執(zhí)行如下命令:
rmmod sunxi_ir_rx
insmod /vendor/modules/sunxi-ir-rx.ko
復(fù)制代碼
然后需要為遙控器添加配置文件吴菠,現(xiàn)在配置文件是空的。先執(zhí)行如下命令獲取鍵代碼:
getevent
復(fù)制代碼
出現(xiàn)如下信息:
root@dolphin-fvd-p1:/ # getevent
add device 1: /dev/input/event6
name: "sunxi-ir"
add device 2: /dev/input/event7
name: "Virtual.Acc"
could not get driver version for /dev/input/js0, Invalid argument
add device 3: /dev/input/event5
name: "Logitech USB Optical Mouse"
could not get driver version for /dev/input/mouse1, Not a typewriter
add device 4: /dev/input/event4
name: "USB USB Keykoard"
add device 5: /dev/input/event3
name: "USB USB Keykoard"
add device 6: /dev/input/event2
name: "sunxi-ths"
add device 7: /dev/input/event1
name: "sunxi-gpiokey"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 8: /dev/input/event0
name: "vmouse"
could not get driver version for /dev/input/mice, Not a typewriter
/dev/input/event3: 0004 0004 00070028
/dev/input/event3: 0001 001c 00000000
/dev/input/event3: 0000 0000 00000000
/dev/input/event6: 0001 0012 00000001
/dev/input/event6: 0000 0000 00000000
^@/dev/input/event6: 0001 0012 00000000
/dev/input/event6: 0000 0000 00000000
/dev/input/event6: 0001 000b 00000001
復(fù)制代碼
可以看到開始兩行有“add device 1: /dev/input/event6”和名字“sunxi-ir”浩村,這告訴我們紅外接收是event6做葵,接下來不要對鼠標鍵盤進行操作,否則會數(shù)次調(diào)試信息干擾獲取紅外的鍵代碼心墅。如果按下遙控器上某個按鍵就會有調(diào)試輸出像如下代碼那樣:
/dev/input/event6: 0001 0012 00000001
/dev/input/event6: 0000 0000 00000000
復(fù)制代碼
需要的鍵代碼是第一行的第二組數(shù)字0012但是這組數(shù)字是十六進制的酿矢,要把它需要轉(zhuǎn)換成十進制,我使用的是這個在線轉(zhuǎn)換16進制到10進制的工具 0012轉(zhuǎn)換成十進制就是18怎燥,然后你要把他們記下來繼續(xù)調(diào)試瘫筐,調(diào)試結(jié)束按Ctrl-C來停止getevent。調(diào)試完畢后在文件管理器里打開之前創(chuàng)建的 /system/usr/keylayout/sunxi-ir.kl (記得先確認是否掛載成讀寫再去編輯它)以及添加遙控器配置進去铐姚。配置文件格式是:key "鍵代碼" “安卓命令” (可參照之前備份的sunxi-ir.kl.bak)策肝。
key 18 POWER WAKE
key 19 MUTE
key 14 MEDIA_STOP
key 31 MEDIA_PLAY
key 30 MEDIA_PAUSE
key 15 MEDIA_PREVIOUS
key 26 MEDIA_NEXT
key 11 DPAD_UP
key 21 DPAD_DOWN
key 24 DPAD_LEFT
key 12 DPAD_RIGHT
key 22 ENTER
key 13 BACK
key 25 VOLUME_UP
key 29 VOLUME_DOWN
復(fù)制代碼
上面列出的是我用的鍵代碼。然后保存這個配置文件并重新加載驅(qū)動來應(yīng)用新的配置文件即可隐绵。
rmmod sunxi_ir_rx
insmod /vendor/modules/sunxi-ir-rx.ko
復(fù)制代碼
如果沒什么錯誤你的遙控器已經(jīng)開始工作了之众。下面說說我遇到的一個小問題:我在添加配置文件并修改好重新配置加載驅(qū)動后發(fā)現(xiàn)遙控器并未工作,研究一番后發(fā)現(xiàn)鍵代碼格式不對依许,對比/system/usr/keylayout下其他配置文件發(fā)現(xiàn)key與鍵代碼與安卓命令之間的空格數(shù)目不一樣棺禾,結(jié)果把幾個空格對應(yīng)加上并重新加載驅(qū)動遙控器才正常工作。