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;
 }
相关推荐
H_oRIZoN_5 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
GeW7 小时前
RHCE备考别瞎学!按这个计划走,30天提高通过率,快速拿证
linux
Escalating_xu7 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
傲世仙尊7 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
码农小韩7 小时前
Linux应用开发(六)——进程间通信
linux·linux驱动·嵌入式软件开发·嵌入式操作系统·linux应用
笨笨饿8 小时前
#138_解决Codex要五次回复的问题
linux·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
m0_459872928 小时前
Linux 系统基础
linux·运维·服务器
吴声子夜歌8 小时前
Shell编程——数组
linux·运维·shell
blueSatchel9 小时前
ros-humble仿真-建图-导航
linux·ros2
Lucis__9 小时前
基于责任链模式的消息队列—异步处理流水线的最佳实践
linux·c++·消息队列·责任链模式·ipc