dolphin/Source/Core/DolphinWX
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: More analog input configurations 2016-01-04 13:35:04 +01:00
Cheats CheatSearchTab: Use an enum for filter masks rather than ints 2015-12-26 16:51:06 -05:00
Config Fix GCPad recalibration shortcut. 2016-01-06 00:41:00 -06:00
Debugger RegisterView: View code menu added 2015-12-28 22:41:24 +04:00
NetPlay [Netplay] Show error dialog if failed to connect to netplay server when Traversal and Force Listen Port is enabled 2015-09-20 20:15:13 +09:00
resources Add missing license headers 2015-05-25 13:11:47 +02:00
ARCodeAddEdit.cpp Common: Remove other Common prefixed headers from Common.h 2015-09-26 18:51:58 -04:00
ARCodeAddEdit.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
AboutDolphin.cpp Remove uses of __DATE__ and __TIME__ 2015-11-14 00:52:41 +00:00
AboutDolphin.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
CMakeLists.txt Make the Wii U Gamecube adapter work with less magic. 2016-01-05 13:44:37 -06:00
ControllerConfigDiag.cpp Make the Wii U Gamecube adapter work with less magic. 2016-01-05 13:44:37 -06:00
ControllerConfigDiag.h Make the Wii U Gamecube adapter work with less magic. 2016-01-05 13:44:37 -06:00
DolphinWX.rc Define the icon for "dolphin". The IDI_ICON1 seems to be preempted by the wx resource. This one does not. 2012-12-17 08:33:42 -06:00
DolphinWX.vcxproj Make the Wii U Gamecube adapter work with less magic. 2016-01-05 13:44:37 -06:00
DolphinWX.vcxproj.filters Make the Wii U Gamecube adapter work with less magic. 2016-01-05 13:44:37 -06:00
DolphinWX.vcxproj.user Rename menu items, stop using PanicAlertT, remove -d when running from visual studio. 2014-12-17 01:12:33 +10:30
FifoPlayerDlg.cpp DolphinWX: Remove FifoPlayerDlg::CreateIntegerLabel 2015-11-05 11:35:13 +01:00
FifoPlayerDlg.h DolphinWX: Remove FifoPlayerDlg::CreateIntegerLabel 2015-11-05 11:35:13 +01:00
Frame.cpp Added hotkey for toggling the crop setting 2016-01-04 10:10:49 -05:00
Frame.h Merge pull request #2704 from RisingFog/frameadvancehold 2015-10-28 15:31:03 +13:00
FrameAui.cpp MathUtil: Convert Clamp into a constexpr function 2015-09-12 01:18:28 -04:00
FrameTools.cpp Fix encoding for savestate slots 2015-12-17 11:25:14 +01:00
GameListCtrl.cpp DolphinWX: Add missing m_ListElfDol cases 2015-12-22 16:26:31 +01:00
GameListCtrl.h Merge pull request #3149 from ShadowsFriend/fname_column 2015-12-02 15:04:36 +01:00
Globals.h Merge pull request #3149 from ShadowsFriend/fname_column 2015-12-02 15:04:36 +01:00
ISOFile.cpp Don't read from volume when reloading Wii banners 2015-12-03 17:29:59 +01:00
ISOFile.h Don't read from volume when reloading Wii banners 2015-12-03 17:29:59 +01:00
ISOProperties.cpp ISOProperties: Replace the ConvergenceMinimum option by the Convergence option. 2015-12-22 23:16:27 +01:00
ISOProperties.h ISOProperties: Replace the ConvergenceMinimum option by the Convergence option. 2015-12-22 23:16:27 +01:00
Info.plist.in Pull in translations from Transifex. 2013-09-21 11:24:33 -05:00
InputConfigDiag.cpp InputConfig: Clean up controller management 2015-11-19 02:41:33 -05:00
InputConfigDiag.h InputConfig: Clean up controller management 2015-11-19 02:41:33 -05:00
InputConfigDiagBitmaps.cpp Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
LogConfigWindow.cpp LogManager: replace set of LogListener pointers with bitset. 2015-10-04 00:38:34 +13:00
LogConfigWindow.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
LogWindow.cpp Merge pull request #3126 from phire/remove-logging-lock 2015-12-03 13:32:07 +13:00
LogWindow.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Main.cpp DolphinWX: Remove the dolphin-emulator.com check. 2015-10-30 22:14:19 +01:00
Main.h DolphinWX: Remove the dolphin-emulator.com check. 2015-10-30 22:14:19 +01:00
MainAndroid.cpp OnScreenDisplay: Make CallbackType an enum class 2016-01-02 14:57:55 -05:00
MainNoGUI.cpp Common: Remove other Common prefixed headers from Common.h 2015-09-26 18:51:58 -04:00
MemcardManager.cpp Common: Remove other Common prefixed headers from Common.h 2015-09-26 18:51:58 -04:00
MemcardManager.h MemcardManager: Minor cleanup of header code 2015-08-29 05:19:51 -04:00
PatchAddEdit.cpp Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
PatchAddEdit.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
PostProcessingConfigDiag.cpp PostProcessingConfigDialog: Remove an unnecessary format call 2015-07-23 14:39:05 -04:00
PostProcessingConfigDiag.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
SoftwareVideoConfigDialog.cpp VideoSW: Drop HwRasterizer 2015-09-17 18:21:37 +02:00
SoftwareVideoConfigDialog.h Options: merge SCoreStartupParameter into SConfig 2015-06-12 19:07:45 +02:00
TASInputDlg.cpp InputConfig: Clean up controller management 2015-11-19 02:41:33 -05:00
TASInputDlg.h DolphinWX: TAS fixes, take three 2015-09-11 19:51:31 -07:00
VideoConfigDiag.cpp VideoBackend: Get rid of a boolean global 2016-01-02 18:03:28 -05:00
VideoConfigDiag.h Merge pull request #3332 from degasus/master 2015-12-19 01:37:10 +13:00
WXInputBase.cpp Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
WXInputBase.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
WxUtils.cpp Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
WxUtils.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
X11Utils.cpp Options: merge SCoreStartupParameter into SConfig 2015-06-12 19:07:45 +02:00
X11Utils.h Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
resource.h Add missing license headers 2015-05-25 13:11:47 +02:00