触摸时白色圆圈的中心不在十字架中心的问题

本文解决A23平台触摸屏白色圆圈偏移问题,通过修改InputManagerService.cpp中坐标参数实现。同时,指导如何编译非Kernel模块,并与现有.o文件进行链接,生成目标文件。此外,提供了ADB推送ko文件到系统模块路径的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.触摸时白色圆圈的中心不在十字架中心的问题,
以A23平台为例,是在com_android_server_input_InputManagerService.cpp文件,
outSpriteIcon->hotSpotX = pointerIcon.hotSpotX-10;
outSpriteIcon->hotSpotY = pointerIcon.hotSpotY-10;
这个位置更改白色圆圈图片的坐标。




2.如果编译的不是Kernel,而是编译的模块,那么此时就需要将编译后的.c和我们的.o进行链接。具体的方法是:将.c文件改名,例如将我们的驱动文件.c修改为gslX680_main.c,然后编译的将.c生成的.o也修改为gslX680_main.o,最后将gslX680_main.0和gsl_point_id.o进行链接,生成gslX680.o


例如:obj-$(CONFIG_SW_TOUCHSCREEN_GSLX680)    += gslX680.o
gslX680-objs := gslX680_n.o gsl_point_id.o
以上示例的解析:
1)最终生成的目标文件是gslX680.o
2)此文件是由驱动文件gslX680_n.o和gsl_point_id.o链接生成的-- gslX680-objs := gslX680_n.o gsl_point_id.o就是链接的动作。
3)gslX680_n.o是由驱动程序gslX680_n.c编译生成的目标文件。
4)全志ADB push .ko的步骤
1、adb root
2、adb remount
3、adb push KO文件路径 /system/vendor/modules
4、adb shell chmod 644 system/vednor/modules/gslX680new.ko
5、adb shell sync

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值