zoukankan      html  css  js  c++  java
  • i.mx6 Android6.0.1分析input子系统:测试

    getevent与sendevent工具

    Android系统提供了getevent与sendevent两个工具供开发者从设备节点中直接读取输入事件或写入输入事件。

    在这里,我们测试音量加和音量减按键

    root@sabresd_6dq:/ # getevent
    add device 1: /dev/input/event0
      name:     "ar1021 Touchscreen"
    could not get driver version for /dev/input/mice, Not a typewriter
    add device 2: /dev/input/event2
      name:     "gpio-keys"
    add device 3: /dev/input/event1
      name:     "WM8962 Beep Generator"
    //这个后面是音量加 /dev/input/event2: 0001 0073 00000001 //按下:注意这里的0073为十六进制数 /dev/input/event2: 0000 0000 00000000   //同步 /dev/input/event2: 0001 0073 00000000 //松开 /dev/input/event2: 0000 0000 00000000   //同步 //这个后面是音量减 /dev/input/event2: 0001 0072 00000001 /dev/input/event2: 0000 0000 00000000 /dev/input/event2: 0001 0072 00000000 /dev/input/event2: 0000 0000 00000000

    注意:(2018.1.12更新:getevent -lt 更加直观;如下所示)

    130|root@sabresd_6dq:/ # getevent -lt /dev/input/event2
    [    2604.070121] EV_KEY       KEY_VOLUMEUP         DOWN
    [    2604.070121] EV_SYN       SYN_REPORT           00000000
    [    2604.270183] EV_KEY       KEY_VOLUMEUP         UP
    [    2604.270183] EV_SYN       SYN_REPORT           00000000
    
    
    [    2606.510123] EV_KEY       KEY_VOLUMEDOWN       DOWN
    [    2606.510123] EV_SYN       SYN_REPORT           00000000
    [    2606.620089] EV_KEY       KEY_VOLUMEDOWN       UP
    [    2606.620089] EV_SYN       SYN_REPORT           00000000

    然后我们根据上面的数据进行发送,查看是否音量增加和减少了:(注意:getevent显示的为十六进制,而sendevent发送的为十进制,所以要进行转换

    130|root@sabresd_6dq:/ # sendevent /dev/input/event2 0001 0115 00000001    //按下音量加
    root@sabresd_6dq:/ # sendevent /dev/input/event2 0000 0000 00000000     //同步
    root@sabresd_6dq:/ # sendevent /dev/input/event2 0001 0115 00000000       //松开音量加
    root@sabresd_6dq:/ # sendevent /dev/input/event2 0000 0000 00000000     //同步
    root@sabresd_6dq:/ #
    root@sabresd_6dq:/ #
    root@sabresd_6dq:/ #
    root@sabresd_6dq:/ #
    root@sabresd_6dq:/ # sendevent /dev/input/event2 0001 0114 00000001
    root@sabresd_6dq:/ # sendevent /dev/input/event2 0000 0000 00000000
    root@sabresd_6dq:/ # sendevent /dev/input/event2 0001 0114 00000000
    root@sabresd_6dq:/ # sendevent /dev/input/event2 0000 0000 00000000
    root@sabresd_6dq:/ #

    可以发现确实发生了变化

  • 相关阅读:
    解决成本的错误和问题
    DQM Serial Sync Index Program ERROR
    客户信用控制请求
    现有量,在途量,可用量,可保留量
    作为一位Vue工程师,这些开发技巧你都会吗?
    vue父子组件状态同步的最佳方式续章(v-model篇)
    vue-grid-layout拖拽布局实现空位添加新元素
    小程序保存图片到本地
    为 React 开发人员推荐 8 个测试工具、库和框架
    Deno会在短期内取代Node吗?
  • 原文地址:https://www.cnblogs.com/maogefff/p/8274289.html
Copyright © 2011-2022 走看看