android input子系统之-常用命令及技巧


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

egcat 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    eg:输入字符串 如:input textmy_string

    input keyevent  

eg:模拟power键输入inputkeyevent KEYCODE_POWER inputkeyevent 26

    input [touchscreen|touchpad] tap

    input [touchscreen|touchpad] swipe

    input trackball press  //按下确认

input trackball roll

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_VOLUMEUPscancode 115的宏定义,要在getevent中显示这个红名字,需要在内核的input.hJB\system\core\toolbox\getevent.c

 

通过/dev/input/event0 可找到对应的输入设备,看当前是使用的哪个设备,如红外还是RC遥控器等,对应dumpsys input信息,可以找到对应的kl文件

…………………………………………………………………………………………………………………………………………………

你可能感兴趣的:(android,linux)