Hi Jiri,
Please have a look at: https://bugzilla.kernel.org/show_bug.cgi?id=76461
To me, this device sends garbage and should not send the modifiers
both in a Var input and in an Array input.
I can fix it either by amending the report descriptor of the device
(one byte to change) or by changing hid-input.c for it to send the
events in the array processing no matter what was the previous state
(see below).
I don't know which one to pick because this seems to be a corner case,
so fixing hid-input might not be the place, but I am afraid of
removing part of the reports coming from the device (what if the
modifiers are actually used for something in the report).
Any thoughts on it?
For the record, fixing hid-input would just remove the test in hid_input_field:
if (value[n] >= min && value[n] <= max
- && field->usage[value[n] - min].hid
- && search(field->value, value[n], count))
+ && field->usage[value[n] - min].hid)
hid_process_event(hid, field,
&field->usage[value[n] - min], 1, interrupt);
}
(Sorry, gmail, whitespace damaged and everything)
Cheers,
Benjamin
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html