安卓11电磁屏不随系统旋转而旋转,并且强制tp旋转后坐标还是对不上,这种情况通过添加idc文件解决。
以下是网络上找到的idc描述说明:
-
何为idc?
idc(Input Device Configuration)为输入设备配置文件,它包含设备具体的配置属性,这些属性影响输入设备的行为。对于touch screen设备,总是需要一个idc文件来定义其行为。
Android基于输入设备驱动汇报的事件类型和属性来检测和配置大部分输入设备的能力。然而有些分类是模棱两可的,如:多点触摸屏(multi-touch touch screen)和touch pad都支持EV_ABS事件类型和ABS_MT_POSITION_X和ABS_MT_POSTION_Y事件,然而这两类设备的使用是不同的,且不总是能自动判断。所以,需要另外的信息来指示设备上报的pressrue和size信息的真正含义。因为,触摸设备,特别是内嵌的touch screen,经常需要idc文件。步入正题,当出现触摸或者电磁屏不跟随系统自动旋转的时候可以按如下步骤添加idc文件:
1.输入指令 lsusb 或 busybox lsusb 或 cat /proc/kmsg 来取得装置的 VID 及 PID
$ lsusb
Bus 005 Device 001: ID 1d6b:0002
Bus 003 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0002
Bus 005 Device 003: ID 5543:7001
Bus 001 Device 003: ID 1c4f:0048
Bus 006 Device 001: ID 1d6b:0003
Bus 001 Device 002: ID 1a40:0201
Bus 004 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002
Bus 001 Device 004: ID 222a:0001
2.根据tp的vid ped生产idc文件,格式如下:
Vendor_5543_Product_7001.idc,Vendor后面是vid,Product后面是pid,里面的内容这样写
# Filename:Vendor_222a_Product_7001.idc
# My TouchScreen Device configuration file.
#
touch.deviceType = touchScreen
touch.orientationAware = 1
keyboard.layout = Vendor_5543_Product_7001
keyboard.orientationAware = 1
cursor.mode = navigation
cursor.orientationAware = 1
device.internal= 1
3.把这个文件放到系统的/system/usr/idc/目录下即可
按上面操作后系统无论怎么旋转,触摸都是对的上的。