前一段时间解决一个拨号盘亮灭屏的问题。一点一点往下看,涉及到Power Manager,inputmanager。就这样一点点看到了eventhub。感觉离自己的业务越来越远。我应该学习framwork通信框架,RIL,或者空口5g rrc,ims协议标准的 :( .何时是尽头?
/dev/input目录下的事件都是在驱动中调用input_register_device(struct input_dev *dev)产生的。
来看看,我的手机有如下九个设备。当读event0文件时,按下power键会出现如下乱码。这些是什么啊?
为什么乱码?这是因为设备输入文件里的数据都是这个结构:
我们换个命令:getevent ,可以可视化看出 event0为按键qpnp_pon,event4为触摸屏。
key的键值为code值,上图分别是0x74,0x72,0x73.代码定义如下:
可以通过sendevent命令模拟输入事件,格式: sendevent device type code value
与event对应的相关设备信息: