1. 程式人生 > >如何使用logcat和getevent檢視遙控器的ir key,linux key和android key值

如何使用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

  ......