[RK3399][Android7.1] 调试笔记 --- USB Touch坐标点颠倒处理

在RK3399平台运行Android 7.1系统,当HDMI副屏连接USB Touch时,发现触摸坐标颠倒。通过在驱动中识别USB Vendor ID并调整坐标值,解决了这个问题。涉及hid touch设备注册、驱动注册等流程。

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

Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83

背景:

接了HDMI的副屏上的USB Touch,发现使用的时候坐标点是颠倒的,于是在驱动中根据USB的
Vendor ID来进行判断,然后更正下上报坐标点的值。


解决方法:

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index f62a9d6..7167144 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -164,6 +164,11 @@ static void mt_post_parse(struct mt_device *td);
 #define MT_USB_DEVICE(v, p)	HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH, v, p)
 #define MT_BT_DEVICE(v, p)	HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH, v, p)
 
+
+//Kris, use vendor id to decide if mirroring touch point or not.
+static int vendor_id;
+
+
 /*
  * these device-dependent functions determine what slot corresponds
  * to a valid contact that was just read.
@@ -639,6 +644,17 @@ static void mt_c
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值