为什么内核中的 HID_MAX_USAGES 值这么低?

为什么内核中的 HID_MAX_USAGES 值这么低?

我想知道为什么这个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 实验室

相关内容