I was wondering why the HID_MAX_USAGES value was still less than 13k, when most gaming mices need 32k or 64k. Values are found in include/linux/hid.h from the kernel sources, and this is still affecting kernels up to 3.10.5

Does Canonical have a good reason NOT to use 64.000 as a value for HID_MAX_USAGES in their kernels ?


Well, I don't have an aswer yet, but kernel 3.11.0 (stable) works great with gaming mices, altough the HID_MAX_USAGES is still on ~13k. So, it's solved, and possessors of gaming mices will no longer need to rebuild the kernel with modified hid.h.


I believe this question has already been answered on the LKML (source)

Date Tue, 28 May 2013 12:13:45 +0200 (CEST) From Jiri Kosina <> Subject Re: [PATCH 0/2] Holtek gaming mouse driver, and the necessity for it instead of increasing HID_MAX_USAGES

On Tue, 21 May 2013, Christian Ohm wrote:

Is there any reason why HID_MAX_USAGES shouldn't be more than 12288?

Well, the reasoning is a mixture of current implementation, and reasonability.

  • we currently have statically allocated arrays on a per-parser basis, for parsing usages and collection indices. If the number of max usages is going to grow in an uncontrolled manner, we'll have to change the way our parser works (which is not impossible, of course).

  • most of the ocurences of huge max usages being presented by the devices have actually turned out to be bogus and could have been fixed by patching the report descriptor in order to reflect the real behavior of the device


-- Jiri Kosina SUSE Labs

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.