如何使用logcat和getevent檢視遙控器的ir key,linux key和android key值
使用logcat裡的按鍵值都是andoroid的鍵值,使用getevent命令可以獲取ir key,linux key和androidkey的值。
使用"getevent","getevent -l"和"getevent-i" 命令獲取ir key,linux key和androidkey的值的方法:
其中,EV_MSC行是IR code, EV_KEY行是linux key code
例如,按遙控器的按鍵(F8),通過下面的資訊獲取:
/dev/input/event0: 0004 000400000041 <--- IR Code 0x41=65
/dev/input/event0: 0001 0042 00000001 <---linux key code 0x42=66
/dev/input/event0:EV_MSC MSC_SCAN 00000041
/dev/input/event0:EV_KEY KEY_F8 DOWN <--- linux key name KEY_F8
/system/usr/keylayout/Vendor_3697_Product_0001.kl <--- 通過getevent-i 命令查詢vender和product的值,根據這兩個值可以知道具體的kl檔案
key 66 F8 <---0x42=66 對映為F8 由F8查詢到androidKEYCODE_F8 = 138
1485 <enum name="KEYCODE_F8" value="138" />
----------------------------------------------------------------------------------------------------------------------------------#getevent
add device 1: /dev/input/event2
name: "MStar Smart TV Keypad"
add device 2: /dev/input/event1
name: "MCE IR Keyboard/Mouse (ir)"
could not get driver version for/dev/input/mouse0, Not a typewriter
add device 3: /dev/input/event0
name: "MStar Smart TV IR Receiver"
could not get driver version for/dev/input/mice, Not a typewriter
/dev/input/event0: 0004 0004 00000041
/dev/input/event0: 0001 0042 00000001
/dev/input/event0: 0000 0000 00000000
/dev/input/event0: 0001 0042 00000000
/dev/input/event0: 0000 000000000000
----------------------------------------------------------------------------------------------------------------------------------# getevent -l
add device 1: /dev/input/event2
name: "MStar Smart TV Keypad"
add device 2: /dev/input/event1
name: "MCE IR Keyboard/Mouse (ir)"
could not get driver version for /dev/input/mouse0,Not a typewriter
add device 3: /dev/input/event0
name: "MStar Smart TV IR Receiver"
could not get driver version for/dev/input/mice, Not a typewriter
/dev/input/event0:EV_MSC MSC_SCAN 00000041
/dev/input/event0:EV_KEY KEY_F8 DOWN
/dev/input/event0:EV_SYN SYN_REPORT 00000000
/dev/input/event0:EV_KEY KEY_F8 UP
/dev/input/event0:EV_SYN SYN_REPORT 00000000
----------------------------------------------------------------------------------------------------------------------------------
getevent -i /dev/input/event0:
add device 1: /dev/input/event0
bus: 0000
vendor 3697
product 0001
version 0000
......