When using either OpenEmu 1.0b6 or tonight's git build on OS X 10.6.5 (XCode 3.2.5), input from my SNES controller and attached USB adapter from retrousb.com is interpreted incorrectly. When using Preferences > Controls to configure this controller for any of the six OpenEmu emulators, more than one physical gamepad button is mapped to a single logical input. For instance,
> both the physical X and Y buttons are identified as logical "P1 B1"
> both the physical A and B buttons are identified as logical "P1 B2"
> both the physical L and Select buttons are identified as logical "P1 B3"
> both the physical R and Start buttons are identified as logical "P1 B4"
This of course makes the controller useless, since physical input cannot be correctly mapped by Preferences > Controls as logical ones, and since ~/Library/Preferences/com.openemu.OpenEmu.plist stores input identifiers as some sort of binary data, manual configuration/troubleshooting is impossible.
I have verified that this fault is not caused by a defect of the usb device using Apple's HDI Explorer (whose source code is available from http://developer.apple.com/library/mac/#samplecode/HID_Explorer/index.html\).
** see the attached image now **
Each of the buttons identified in the drop-down list correctly receives input from this controller, but strangely seems to identify multiple input by the same name. For instance,
> Physical X is mapped to the first entry of element 0x1 while physical Y is mapped to the second logical entry of element 0x1.
> etc.
It is interesting to note that though the logical HDI elements/identifiers overlap, causing confusion to the OpenEmu code which calls the HDI libraries, they have unique "Cookie" values within HID Explorer; that is, the first 0x1 element (physical X) has a cookie value of 0x3, while the second 0x1 element (physical Y) has a cookie value of 0x7. I wonder if some analysis of input identifiers within HDI explorer could lead to some more robust gamepad input code for OpenEmu.
Troubleshooting and input analysis of an SNES USB adapter with Apple's HDI_Explorer
please come join us in #openemu on freenode and I'd love to walk through what is going on with this.
Also please reopen this issue on github, we're in the middle of transitioning so I haven't flipped everything over yet.