multi-input quirk and skip output reports quirk
Hi!
I've encountered another multi-input device that needs the skip output reports quirk (as it contains force feedback output reports), 0925:8866.
However, maybe we should use another approach, dropping HID_QUIRK_SKIP_OUTPUT_REPORTS. Why not just *not* register the input device for that report in case the report didn't contain anything that was mapped by hidinput_configure_usage(), in hidinput_connect()?
Signature · 1 line
Anssi Hannula
Quoted 6 lines · Anssi Hannula
I've encountered another multi-input device that needs the skip output reports quirk (as it contains force feedback output reports), 0925:8866. However, maybe we should use another approach, dropping
HID_QUIRK_SKIP_OUTPUT_REPORTS. Why not just *not* register the input device for that report in case the report didn't contain anything that was mapped byhidinput_configure_usage(), inhidinput_connect()?
Hi Anssi,
as long as we still have the possibility to see the coming data in debug mode, I don't have objection to that.
Are you going to make that patch?
Thanks,
Signature · 1 line
Jiri Kosina
Quoted 9 lines · Jiri Kosina
Quoted 6 lines · Anssi Hannula
I've encountered another multi-input device that needs the skip output reports quirk (as it contains force feedback output reports), 0925:8866. However, maybe we should use another approach, dropping
HID_QUIRK_SKIP_OUTPUT_REPORTS. Why not just *not* register the input device for that report in case the report didn't contain anything that was mapped byhidinput_configure_usage(), inhidinput_connect()?
Quoted 4 lines
Hi Anssi,
as long as we still have the possibility to see the coming data in debug mode, I don't have objection to that.
Okay.
Quoted 1 line
Are you going to make that patch?
Not right now, maybe in a few weeks.
Signature · 1 line
Anssi Hannula
Quoted 11 lines · Anssi Hannula
Quoted 8 lines
Quoted 6 lines
I've encountered another multi-input device that needs the skip output reports quirk (as it contains force feedback output reports), 0925:8866. However, maybe we should use another approach, dropping
HID_QUIRK_SKIP_OUTPUT_REPORTS. Why not just *not* register the input device for that report in case the report didn't contain anything that was mapped byhidinput_configure_usage(), inhidinput_connect()?as long as we still have the possibility to see the coming data in debug mode, I don't have objection to that.
Okay.
Quoted 1 line
Are you going to make that patch?
Not right now, maybe in a few weeks.
I will meanwhile queue the patch below, ok? After the hidinput_connect() is refactored to ignore devices for which the mappings haven't been established, we could then remove all the devices for which we have HID_QUIRK_SKIP_OUTPUT_REPORTS altogether.
BTW, do you happen to have any idea whether the Quad joypad needs this quirk too?
Thanks.
From: Jiri Kosina <[email protected]>
Subject: HID: WiseGroup 866 Dual Joypad needs output reports quirk
WiseGroup Ltd, MP-8866 Dual Joypad needs to skip output reports, as it contains force-feedback output reports.
drivers/hid/usbhid/hid-quirks.c +1 -1
@@ -606,7 +606,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE, HID_QUIRK_NOGET }, { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET }, { USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET }, - { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, + { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT | HID_QUIRK_SKIP_OUTPUT_REPORTS }, { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
Quoted 10 lines · Jiri Kosina
Quoted 8 lines · Anssi Hannula
Quoted 8 lines
Quoted 6 lines
I've encountered another multi-input device that needs the skip output reports quirk (as it contains force feedback output reports), 0925:8866. However, maybe we should use another approach, dropping
HID_QUIRK_SKIP_OUTPUT_REPORTS. Why not just *not* register the input device for that report in case the report didn't contain anything that was mapped byhidinput_configure_usage(), inhidinput_connect()?as long as we still have the possibility to see the coming data in debug mode, I don't have objection to that.
Quoted 8 lines
Quoted 3 lines
Okay.
Quoted 1 line
Are you going to make that patch?
Not right now, maybe in a few weeks.
I will meanwhile queue the patch below, ok? After the
hidinput_connect()is refactored to ignore devices for which the mappings haven't been established, we could then remove all the devices for which we haveHID_QUIRK_SKIP_OUTPUT_REPORTSaltogether.
Ok.
Quoted 2 lines
BTW, do you happen to have any idea whether the Quad joypad needs this quirk too?
No, but I guess it is quite probable.
Quoted 2 lines
Thanks.
Signature · 1 line
Anssi Hannula
Quoted 11 lines · Anssi Hannula
Quoted 11 lines
Quoted 11 lines
Quoted 8 lines
Quoted 6 lines
I've encountered another multi-input device that needs the skip output reports quirk (as it contains force feedback output reports), 0925:8866. However, maybe we should use another approach, dropping
HID_QUIRK_SKIP_OUTPUT_REPORTS. Why not just *not* register the input device for that report in case the report didn't contain anything that was mapped byhidinput_configure_usage(), inhidinput_connect()?as long as we still have the possibility to see the coming data in debug mode, I don't have objection to that.
Okay.
Quoted 1 line
Are you going to make that patch?
Not right now, maybe in a few weeks.
Quoted 8 lines
Quoted 4 lines
I will meanwhile queue the patch below, ok? After the
hidinput_connect()is refactored to ignore devices for which the mappings haven't been established, we could then remove all the devices for which we haveHID_QUIRK_SKIP_OUTPUT_REPORTSaltogether.Ok.
Quoted 2 lines
BTW, do you happen to have any idea whether the Quad joypad needs this quirk too?
No, but I guess it is quite probable.
I have added Sam (who reported the need of the quirk for Quad joypad) to CC.
Sam?
Thanks,
Signature · 2 lines
Jiri Kosina SUSE Labs
Quoted 6 lines · Anssi Hannula
I've encountered another multi-input device that needs the skip output reports quirk (as it contains force feedback output reports), 0925:8866. However, maybe we should use another approach, dropping
HID_QUIRK_SKIP_OUTPUT_REPORTS. Why not just *not* register the input device for that report in case the report didn't contain anything that was mapped byhidinput_configure_usage(), inhidinput_connect()?
Oh, and I seem to have completely forgotten -- is this quirk needed at all? Since commit 82eb12198 we ignore the non-LED output reports in hidinput_configure_usages() altogether.
Do you still actually see issues of devices being misconfigured due to output reports confusion in hidinput_configure_usage() even in kernels having this commit included?
Thanks,
Signature · 2 lines
Jiri Kosina SUSE Labs
Quoted 9 lines · Jiri Kosina
Quoted 6 lines · Anssi Hannula
I've encountered another multi-input device that needs the skip output reports quirk (as it contains force feedback output reports), 0925:8866. However, maybe we should use another approach, dropping
HID_QUIRK_SKIP_OUTPUT_REPORTS. Why not just *not* register the input device for that report in case the report didn't contain anything that was mapped byhidinput_configure_usage(), inhidinput_connect()?
Quoted 7 lines
Oh, and I seem to have completely forgotten -- is this quirk needed at all? Since commit
82eb12198we ignore the non-LED output reports inhidinput_configure_usages()altogether.Do you still actually see issues of devices being misconfigured due to output reports confusion in
hidinput_configure_usage()even in kernels having this commit included?
Yes.
The point was that hidinput_connect() doesn't care whether all reports were ignored by hidinput_configure_usage() or not.
Signature · 1 line
Anssi Hannula