1). getevent :動態查看event輸入事件
getevnet -l
getevent –h (查看支持的參數,有時候藉助不同的參數有很大幫助)
Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v[mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device]
getevent命令能獲取數據,說明input驅動層OK,且Eventhub.cpp層也能獲取到數據
getevent命令打印數據格式:type=%d, code=%d, value=%d
2). dumpsysinput 可查看各個輸入設備信息,包括設備對應的kl, kcm等信息,
以及當前指定的app信息
3). catproc/bus/input/devices 查所有input device信息
@EventHub.cpp –》new 首先new一個設備結構,然後存放上述設備的信 息
4). catproc/bus/input/handlers 查看支持的所有handlers信息
5). catsys/class/input/eventX/device/XX
eg:cat sys/class/input/event0/device/capabilities/key
6). ll dev/input/ 查看所有註冊的input設備節點及它們的主,次設備號
crw-rw-rw- root input 13, 64 2013-01-01 08:00 event0
crw-rw-rw- root input 13, 65 2013-01-01 08:00 event1
7). 查看系統中存在的佈局文件:
ls system/usr/keylayout --》XX.kl文件
ls system/usr/keychars --》XX.kcm文件
ls system/usr/idc ??
8). Input 調試命令
input text <string> eg:輸入字符串 如:input textmy_string
input keyevent <key code number orname>
eg:模擬power鍵輸入inputkeyevent KEYCODE_POWER 或 inputkeyevent 26
input [touchscreen|touchpad] tap <x><y>
input [touchscreen|touchpad] swipe<x1> <y1> <x2> <y2>
input trackball press //按下確認
input trackball roll <dx> <dy>
9). logcat過濾信息 tag :WindowManager ,EventHub
系統攔截鍵值PhoneWindowManager.java-》interceptKeyBeforeDispatching函數
增加logcat信息 ,打印keycode ,scancode 等
PhoneWindowManager.java : logcat -s WindowManager
interceptKeyBeforeQueueing(){
。。。。。。。
final int keyCode =event.getKeyCode();
final int scanCode = event.getScanCode();
Log.e(TAG, "andy@----> keycode :" + event.keyCodeToString(keyCode) + " " + keyCode + " ,scanCode " + scanCode);
。。。。。
}
…………………………………………………………………………………………………………………………………………………
getevent 命令: (以音量+按鍵爲例)
格式:type=%d, code=%d, value=%d
/dev/input/event0: 0001 0073 00000001 // 73 十六進制,對應十進制115 ,爲scancode
/dev/input/event0: 0000 0000 00000000
/dev/input/event0: 0001 0073 00000000
/dev/input/event0: 0000 0000 00000000
對應的getevent –l 命令:
/dev/input/event0: EV_KEY KEY_VOLUMEUP DOWN
/dev/input/event0: EV_SYN SYN_REPORT 00000000
/dev/input/event0: EV_KEY KEY_VOLUMEUP UP
/dev/input/event0: EV_SYN SYN_REPORT 00000000
其中KEY_VOLUMEUP爲scancode 115的宏定義,要在getevent中顯示這個紅名字,需要在內核的input.h和JB\system\core\toolbox\getevent.c
通過/dev/input/event0 可找到對應的輸入設備,看當前是使用的哪個設備,如紅外還是RC遙控器等,對應dumpsys input信息,可以找到對應的kl文件
…………………………………………………………………………………………………………………………………………………