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;
 }
相关推荐
磊 子30 分钟前
详细讲解一下epoll
linux·io·epoll·io多路复用
printfLILEI1 小时前
php中的类与对象以及反序列化
linux·开发语言·php
叠叠乐2 小时前
redmi k90 pro max 强解BL,刷海外rom, 并刷入sukisu ultra
linux
xiaoye-duck3 小时前
《Linux系统编程》Linux 进程间通信之管道基础解析:从匿名管道原理到基于管道的进程池实现
linux
z200509303 小时前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
bush44 小时前
嵌入式linux学习记录四
linux·运维·学习
lihao lihao5 小时前
软硬链接
linux·运维·服务器
YY&DS5 小时前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt
辰风沐阳5 小时前
ThinkPHP8.1 + think-swoole 4.1 使用指南(保姆级教程)
linux·后端·swoole