Closed
Description
Calling hid_enumerate
with the hidraw Linux backend returns lots of duplicate hid_device_info
s for the same device. I have to filter out duplicates by comparing the paths of the devices: https://github.com/mixxxdj/mixxx/pull/4054/files/6dd77b1fa61a2101e2dfac7cb7af85bf5eab168b#r663541357
Activity
Youw commentedon Jul 4, 2021
Do those devices have the same usage/usage_page pairs? Have you tried the same device on Windows?
Be-ing commentedon Jul 5, 2021
Some do, some do not. Here is the output from Mixxx:
Be-ing commentedon Jul 5, 2021
I have not tested these devices on Windows.
Youw commentedon Jul 5, 2021
This is unexpected.
That is expected. That is the only way to check supported usage/usage_page-s of the device - report same device multiple times with the same path but different usage/usage_page pair
I see.
mcuee commentedon Jul 13, 2021
Interesting, I have not seen such issue under Windows 10 Dell PC and macOS (Mac Mini M1). But I have not done much testing on Linux side (my Raspberry Pi 400 is my Linux computer now).
Be-ing commentedon Aug 1, 2021
This seems to occur on Windows too:
https://mixxx.discourse.group/t/cant-find-midi-output-controller-to-link-to-qlc/22751/4
mcuee commentedon Aug 2, 2021
@Be-ing It will be good to post the output of hidtest and the report descriptors (eg: under Linux or macOS). That may give some clues about the devices. Windows will create multiple devices with each for TLC (top level collections) and may even have some virtual device created on top.
Windows: https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/top-level-collections
mcuee commentedon Aug 2, 2021
@Be-ing It seems that it is not really an issue under Windows to have "multiple individual enabled devices for my singular mouse and keyboard". That is kind of expected under windows with devices with multiple TLCs, same for hidraw and macOS.
Maybe Mixxx code has wrong assumptions in this asepct.
Relevant discussion: #287
Be-ing commentedon Aug 2, 2021
Perhaps, but besides potential functional implications, there is an issue of user confusion showing the same device multiple times.
mcuee commentedon Aug 2, 2021
That you can not change. hidapi is designed this way. You have to change mixxx.
Be-ing commentedon Aug 2, 2021
I already did: mixxxdj/mixxx@5c58257
But I wasn't sure if the problem was in Mixxx's use of hidapi or in hidapi.
mcuee commentedon Aug 2, 2021
In order to debug, please post the output of hidapi hidtest and the report descriptors.
mcuee commentedon Aug 2, 2021
@Be-ing As @Youw mentioned, if the device does not have the "same usage/usage_page pairs", then the behavior is not expected with Linux hidraw backend. Then that could be a hidapi bug. Please post the output of hidtest and the report descriptor to debug the issue with hidraw.
46 remaining items