dolphin/Source
Ryan Houdek 1dcc199a63 Fix GCPad recalibration shortcut.
Dolphin has supported the recalibration shortcut (X+Y+Start) for quite a long while. So if someont's axises are terrible, you could easily
recalibrate.
Games even get the initial calibration upon boot(Most of the time).

While changing over the GCAdapter code, I was testing to make sure the reset and calibration shortcuts still worked, turns out they didn't work at
all.
Looking in to the problem, we capture the combination properly, and we wait three seconds until we actually fire that off recalibration.
The problem is for Nintendo's SDK to properly handle recalibrating, we need to send back data saying that it needs to recalibrate.
On hardware this is done as part of the 64bits of data the controller sends back to us.
On holding of the controller, bit 61 of the return value is set, which the Nintendo SDK catches, and then signals immediately afterwards a CMD_ORIGIN
command in order to recalibrate the controller.
We were outright ignoring this bit, so the library wasn't ever recalibrating. I suspect in the past the class itself used to use the calibration data
to to offset the data, but somewhere along the lines it got munged out of existence.

The Gamecube adapter does this shortcut in a bit of a unique way, instead of sending the command and having the library support it and what have you.
Once holding the shortcut for the amount of time, the adapter reports back that the controller has actually been disconnected. Then when you let go of
the combination, the adapter states that a new device has been connected to that port, and the recalibration happens because a new device is
"connected."

This fixes controller calibration for both emulated GC controllers and also the Wii Gamecube Adapter.
2016-01-06 00:41:00 -06:00
..
Android Android: 4k Internal Resolution support 2016-01-04 13:36:06 +01:00
Core Fix GCPad recalibration shortcut. 2016-01-06 00:41:00 -06:00
DSPSpy DSPSpy: support dumping to SD Gecko in slot B on GameCube 2015-07-19 17:26:30 +03:00
DSPTool [windows] Update projects to vs2015. 2015-09-03 04:23:01 -07:00
PCH pch: Update MSVC version check 2015-10-02 20:51:23 -04:00
UnitTests VertexLoaderBase: Get rid of explicit delete and new 2015-12-22 20:09:54 -05:00
VSProps exchange XSaveWorkaround (which was fixed in VS2015) for ucrtFreadWorkaround (which was broken in VS2015). 2015-10-16 20:26:34 -07:00
.clang-format UseTab: ForIndentation 2014-05-26 21:28:59 -07:00
CMakeLists.txt Windows: Use a shared precompiled header for dolphin code under Source/ 2014-08-14 23:51:13 -07:00
dolphin-emu.sln mbedTLS: adapt Dolphin's Visual Studio files 2015-09-25 03:46:41 +02:00