summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2017-11-02 19:11:06 +0100
committerLéo Lam <leo@innovatetechnologi.es>2017-11-03 19:01:47 +0100
commitef8b3cb96054df790cdb6b5703b5517a67f2953f (patch)
tree704ff11b3d12cf4fdea44eca1b4f268369c76823 /Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp
parentc8710d0861fb991d860955a221c02507b55cdd2d (diff)
USB_VEN: Construct device IDs properly
Fix the device ID struct to reflect the actual structure used by IOS. It turns out that offset 2 is the internal device index. The reason that field seemed to be "0x1e - interface_number" is that IOS only keeps track of 32 devices and always looks for free entries from the end of the internal array. With each USB interface being exposed as a separate USBv5 device, "0x1e - interface_number" was mostly correct... but wrong! We also made the assumption that the interface number can be identified from just a USBV5 device ID, which is definitely not true. VEN (and HID) keep track of the interface number in the internal struct instead of "reconstructing" it from the device ID (which is normally not possible if we were generating IDs correctly) This commit fixes all of these inaccuracies.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp')
0 files changed, 0 insertions, 0 deletions