我正在尝试了解触摸屏。我遇到了这两个内核模块:usbtouchscreen
和usbhid
。我很困惑到底有什么区别?假设我有一个触摸屏通过 USB 连接到我的硬件,我应该使用两者中的哪一个?我知道明显的答案是:尝试安装其中一个,看看它是否有效。
但我正在寻找的是:
对于 USBHID 和普通 USB 触摸屏,这两个 USB 触摸屏驱动程序发送的数据是什么?
如何evdev
将这些不同的数据包/信息转换为统一的触摸事件?
答案1
一个 HID(“人机接口设备”)是一种旨在让人类与计算机进行交互的设备,例如键盘、鼠标、显示器、麦克风、扬声器等。
USB 定义了许多标准设备类别:具有一些共同属性的设备类型。其中之一是 HID,在 USB 环境中仅涵盖低带宽设备:主要是键盘、鼠标、操纵杆、触摸屏输入等输入设备。
触摸屏需要基本 HID 协议中不包含的功能(至少在支持多点触控的情况下),因此纯 HID 驱动程序无法处理触摸屏。 Linux 有一个usbtouchscreen
支持多种 USB 触摸屏型号的模块。
无论如何,USB 设备都会识别自己,并且 USB 驱动程序知道它们支持什么设备识别。 Linux 会自动为 USB 设备加载正确的驱动程序。看驱动模块是否自动加载和卸载?和Debian 重启后未检测到串行 PCI 卡