平台:rk3288
系统:6.0
idc(Input Device Configuration)为输入设备配置文件,协助源码一起来影响设备的输入行为。下面看一个具体的例子:
路径在system/usr/idc下面我的文件名为:Vendor_222a_Product_0001.idc,
device.internal = 0 /*触摸唤醒参数*/
touch.deviceType = touchScreen
touch.orientationAware = 1
touch.size.calibration = diameter
touch.size.scale = 10
touch.size.bias = 0
touch.size.isSummed = 0
touch.pressure.calibration = amplitude
touch.pressure.scale = 0.005
touch.orientetion.calibration = none
重点说下第一个参数,为触摸唤醒参数,当设置为0时,系统休眠点击触摸屏可以唤醒,1则反之。如果是i2c接口触摸屏需要修改驱动。
有的可能在目录下面没有发现对应Vid pid设备,可手动添加
附加一句,有的时候调试完触摸屏之后会出现边缘触摸点有偏差问题,这个一般也是idc导致了,添加一个idc之后问题解决。
如果修改之后仍无法唤醒,可以尝试如下修改:
frameworks/native/services/inputflinger/InputReader.cpp // Initial downs on external touch devices should wake the device. // Normally we don't do this for internal touch screens to prevent them from waking // up in your pocket but you can enable it using the input device configuration. -- mParameters.wake = getDevice()->isExternal(); ++ mParameters.wake = true; getDevice()->getConfiguration().tryGetProperty(String8("touch.wake"), mParameters.wake);