如何在adb shell中为按钮编写事件处理程序?

时间:2016-11-16 15:20:21

标签: android linux bash

拥有字符设备的文件是否可以编写简单的shell脚本来处理不同的按钮事件?例如,如果按下音量减小 - 回音字“低”,如果音量增大按钮按 - 回显“高”。

现在我可以使用以下命令跟踪按钮按下事件:

$ cat /dev/input/event2
  ≈►   ☺ s ☺   ≈►  →╟♂ ☺ s     ·►  r±☻ ☺ r ☺   ·►  a»      ☺ r

当前输出包含有关4个事件的信息:

  • 音量降低(按键事件);
  • 音量降低(按键事件);
  • 音量增大(按键事件);
  • 音量增大(按键事件)。

每个事件由16个字节的数据组成。

2 个答案:

答案 0 :(得分:1)

您可以使用

getevent -l

以明文形式获取事件,例如

/dev/input/event1: EV_KEY       KEY_VOLUMEUP         UP                  
/dev/input/event1: EV_SYN       SYN_REPORT           00000000            

答案 1 :(得分:0)

感谢Diego Torres Milano的提示,现在我可以为我的FM单选按钮控件shell脚本编写最终解决方案:

// Workaround: alphabetically ordered tags
this.api.apisArray.sort(function (a, b) {
if (a.tag < b.tag)
    return -1;
if (a.tag > b.tag)
    return 1;
return 0;
})