我想知道为什么这个HID_MAX_USAGES
值仍然小于 13k,而大多数游戏鼠标需要 32k 或 64k。这些值是在include/linux/hid.h
内核源代码中找到的,这仍然影响到 3.10.5 以下的内核
Canonical 是否有充分的理由不在HID_MAX_USAGES
其内核中使用 64.000 作为值?
答案1
嗯,我还没有答案,但是内核 3.11.0(稳定版)与游戏鼠标配合得很好,尽管HID_MAX_USAGES
仍然在 ~13k 左右。因此,问题已经解决,游戏鼠标的拥有者将不再需要使用修改后的 重建内核hid.h
。
答案2
我相信这个问题已经在 LKML 上得到解答了(来源)
日期:2013 年 5 月 28 日星期二 12:13:45 +0200 (CEST) 来自 Jiri Kosina <> 主题:回复:[PATCH 0/2] Holtek 游戏鼠标驱动程序,以及使用它而不是增加 HID_MAX_USAGES 的必要性
2013 年 5 月 21 日星期二,Christian Ohm 写道:
为什么 HID_MAX_USAGES 不应超过 12288?
嗯,其推理是当前实施情况和合理性的混合。
目前,我们已为每个解析器静态分配了数组,用于解析用法和集合索引。如果最大用法的数量以不受控制的方式增长,我们将不得不改变解析器的工作方式(当然,这并非不可能)。
设备显示的大部分巨大最大使用量实际上都是假的,可以通过修补报告描述符来修复,以反映设备的真实行为
谢谢,
-- Jiri Kosina SUSE 实验室