Android input命令

Posted 四季帆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android input命令相关的知识,希望对你有一定的参考价值。

1. 简介

        getevent用于获取当前系统input设备的一些参数和实时事件的数据,比如获取按键上报信息、获取触摸屏上报信息等。

        指令源码路径:/system/core/toolbox/getevent.c。

2. android getevent常用方法

        getevent 显示当前有那些输入设备,数量与 /dev/input 目录下相同。

getevent -t 显示时间戳

        -p:显示设备支持的事件类型和编码方式

nxp_8q:/ # getevent -p
add device 1: /dev/input/event1
  name:     "Atmel maXTouch Touchscreen"
  events:
    KEY (0001): 014a 
    ABS (0003): 0000  : value 681, min 0, max 1279, fuzz 0, flat 0, resolution 0
                0001  : value 608, min 0, max 719, fuzz 0, flat 0, resolution 0
                002f  : value 0, min 0, max 15, fuzz 0, flat 0, resolution 0
                0035  : value 0, min 0, max 1279, fuzz 0, flat 0, resolution 0
                0036  : value 0, min 0, max 719, fuzz 0, flat 0, resolution 0
                0037  : value 0, min 0, max 2, fuzz 0, flat 0, resolution 0
                0039  : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0
                003b  : value 0, min 0, max 1, fuzz 0, flat 0, resolution 0
  input props:
    INPUT_PROP_DIRECT

        -l:以文本形式输出事件类型和名称

nxp_8q:/ # getevent -l                                                         
add device 1: /dev/input/event1
  name:     "Atmel maXTouch Touchscreen"
  add device 2: /dev/input/event0
  name:     "sc-powerkey"
/dev/input/event1: EV_ABS       ABS_MT_TRACKING_ID   00000005            
/dev/input/event1: EV_ABS       ABS_MT_POSITION_X    00000415            
/dev/input/event1: EV_ABS       ABS_MT_POSITION_Y    0000028a            
/dev/input/event1: EV_KEY       BTN_TOUCH            DOWN                
/dev/input/event1: EV_ABS       ABS_X                00000415            
/dev/input/event1: EV_ABS       ABS_Y                0000028a            
/dev/input/event1: EV_SYN       SYN_REPORT           00000000            
/dev/input/event1: EV_ABS       ABS_MT_POSITION_X    0000040a            
/dev/input/event1: EV_ABS       ABS_MT_POSITION_Y    00000292            
/dev/input/event1: EV_ABS       ABS_X                0000040a            
/dev/input/event1: EV_ABS       ABS_Y                00000292            
/dev/input/event1: EV_SYN       SYN_REPORT           00000000 

3. 参数组合使用

nxp_8q:/ # getevent -lt /dev/input/event1    
		        //事件类型	   事件码		事件值
[    5472.556348] EV_ABS       ABS_MT_TRACKING_ID   0000000b            
[    5472.556348] EV_ABS       ABS_MT_POSITION_X    00000452            
[    5472.556348] EV_ABS       ABS_MT_POSITION_Y    00000283            
[    5472.556348] EV_KEY       BTN_TOUCH            DOWN                
[    5472.556348] EV_ABS       ABS_X                00000452            
[    5472.556348] EV_ABS       ABS_Y                00000283            
[    5472.556348] EV_SYN       SYN_REPORT           00000000            
[    5472.690750] EV_ABS       ABS_MT_TRACKING_ID   ffffffff            
[    5472.690750] EV_KEY       BTN_TOUCH            UP    

4. Linux中输入设备的事件类型

EV_SYN 0x00 同步事件
EV_KEY 0x01 按键事件,如键盘、遥控器、音量键
EV_REL 0x02 相对坐标, 如鼠标上报的坐标
EV_ABS 0x03 绝对坐标,如触摸屏上报的坐标

以上是关于Android input命令的主要内容,如果未能解决你的问题,请参考以下文章

android后台input命令模拟按键

[Android]通过adb shell input上报命令模拟屏幕点击事件

如何实现给android系统发送一些键盘事件和屏幕事件

Android的settings命令

Android adb 模拟滑动 按键 点击事件

Android adb 模拟滑动 按键 点击事件