正如标题所示,我想知道 HID 的实际含义怪癖Linux 内核中使用的内容在某处有文档记录。
有些术语很容易理解(例如,HID_QUIRK_ALWAYS_POLL
)HID_QUIRK_IGNORE
,但其他术语(例如,HID_QUIRK_HIDDEV_FORCE
)则不然。
在哪里可以找到更多有关此内容的信息?
答案1
例如如何从源头找出HID_QUIRK_HIDDEV_FORCE
:
使用在线索引,它设置_连接_HIDDEV_FORCE通过几种方法最终force
得到hiddev_connect,其中如果 HID 类型为 HID_APPLICATION_COLLECTION 且用途为 INPUT_DEVICE,则禁用检查。
换句话说,即使设备提供的 HID 上的类型或用法错误,它也会强制显示 hiddev。因此,此怪癖可以解决来自设备的虚假数据问题。
应该可以用类似的方法找出其他的意思。是的,这意味着要花一点时间跟踪调用链。
答案2
我在代码中发现的唯一内容是:
/**
* DOC: HID quirks
* | @HID_QUIRK_NOTOUCH:
* | @HID_QUIRK_IGNORE: ignore this device
* | @HID_QUIRK_NOGET:
* | @HID_QUIRK_HIDDEV_FORCE:
* | @HID_QUIRK_BADPAD:
* | @HID_QUIRK_MULTI_INPUT:
* | @HID_QUIRK_HIDINPUT_FORCE:
* | @HID_QUIRK_ALWAYS_POLL:
* | @HID_QUIRK_INPUT_PER_APP:
* | @HID_QUIRK_X_INVERT:
* | @HID_QUIRK_Y_INVERT:
* | @HID_QUIRK_SKIP_OUTPUT_REPORTS:
* | @HID_QUIRK_SKIP_OUTPUT_REPORT_ID:
* | @HID_QUIRK_NO_OUTPUT_REPORTS_ON_INTR_EP:
* | @HID_QUIRK_HAVE_SPECIAL_DRIVER:
* | @HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE:
* | @HID_QUIRK_FULLSPEED_INTERVAL:
* | @HID_QUIRK_NO_INIT_REPORTS:
* | @HID_QUIRK_NO_IGNORE:
* | @HID_QUIRK_NO_INPUT_SYNC:
*/