Linux-usb触摸板去除鼠标箭头

usb触摸板会同时加载hid-generic.c和hid-multitouch.c驱动

复制代码
[  213.602561] usb 4-1: new full-speed USB device number 2 using ohci-platform
[  213.834953] usb 4-1: New USB device found, idVendor=6615, idProduct=108c, bcdDevice= 1.30
[  213.835048] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  213.835081] usb 4-1: Product: USB TouchScreen
[  213.835108] usb 4-1: Manufacturer: Beijing IRTOUCHSYSTEMS Co.,Ltd.
[  213.835136] usb 4-1: SerialNumber: 788B669E0753
[  213.846822] input: Beijing IRTOUCHSYSTEMS Co.,Ltd. USB TouchScreen as /devices/platform/fd8c0000.usb/usb4/4-1/4-1:1.0/0003:6615:108C.0001/input/input4
[  213.902890] hid-generic 0003:6615:108C.0001: input,hidraw0: USB HID v1.11 Mouse [Beijing IRTOUCHSYSTEMS Co.,Ltd. USB TouchScreen] on usb-fd8c0000.usb-1/input0
[  213.914431] input: Beijing IRTOUCHSYSTEMS Co.,Ltd. USB TouchScreen as /devices/platform/fd8c0000.usb/usb4/4-1/4-1:1.1/0003:6615:108C.0002/input/input5
[  213.971215] hid-multitouch 0003:6615:108C.0002: input,hiddev96,hidraw1: USB HID v1.11 Device [Beijing IRTOUCHSYSTEMS Co.,Ltd. USB TouchScreen] on usb-fd8c0000.usb-1/input1

我们只需要让其加载hid-multitouch.c驱动即可

evtest可以看到生成了event3和event4这2个输入事件

复制代码
[root@ok3568:/]# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      rk805 pwrkey
/dev/input/event1:      adc-keys
/dev/input/event2:      rk-headset
/dev/input/event3:      Beijing IRTOUCHSYSTEMS Co.,Ltd. USB TouchScreen
/dev/input/event4:      Beijing IRTOUCHSYSTEMS Co.,Ltd. USB TouchScreen

lsusb查看usb触摸板的vid和pid

复制代码
[root@ok3568:/]# lsusb
Bus 004 Device 002: ID 6615:108c

hid-generic.c驱动屏蔽掉该设备

复制代码
diff --git a/drivers/hid/hid-generic.c b/drivers/hid/hid-generic.c
index 3b6eccbc2..2588e5a6b 100644
--- a/drivers/hid/hid-generic.c
+++ b/drivers/hid/hid-generic.c
@@ -53,6 +53,9 @@ static bool hid_generic_match(struct hid_device *hdev,
        if (bus_for_each_drv(&hid_bus_type, NULL, hdev, __check_hid_generic))
                return false;
 
+       if (hdev->vendor == 0x6615 && hdev->product == 0x108c)
+               return false;
+
        return true;
 }
相关推荐
Wang's Blog1 小时前
Linux小课堂: 定时与延时执行机制之date、at、sleep 与 crontab 的深度解析
linux·运维·服务器
被漂一组2 小时前
在线解决window和linux对linux远程问题
linux·运维·服务器
森G2 小时前
2六Ubuntu文件系统移植
linux·ubuntu
dot to one2 小时前
Centos 7 环境下mysql的安装及配置
linux·mysql·centos
「QT(C++)开发工程师」3 小时前
C++语言编程规范-风格
linux·开发语言·c++·qt
-指短琴长-3 小时前
CGroups资源控制实战【Linux】
linux·运维·服务器
昵称什么的不存在3 小时前
WPeChatGPT 插件使用教程(转载)
linux·逆向
码农hbk4 小时前
xv6 源码精读(二)开启MMU、一致性映射页表
linux·服务器
雪碧聊技术4 小时前
Linux命令过关挑战
linux·运维·数据库
liulilittle4 小时前
在 Android Shell 终端上直接运行 OPENPPP2 网关路由配置指南
android·linux·开发语言·网络·c++·编程语言·通信