summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/GCAdapter.cpp
AgeCommit message (Collapse)Author
2019-03-29HW/SI: GCAdapter calibration fix.Jordan Woyak
2019-01-16Flatten GCAdapter functionEmmanuel Gil Peyrot
Make CheckDeviceAccess() more flat by inverting checks, reducing indentation and removing dead code.
2018-04-12Reformat all the things!spycrab
2017-09-13Add Core::State::StartingMichael M
2017-08-02Send rumble data to the adapter on a separate threadHannes Mann
2017-06-07do not assign in conditional statementsShawn Hoffman
2017-04-03Core: Hide determinism globalLioncash
This is only ever queried and not set outside of the Core.cpp, so this should just be hidden internally and just have a function exposed that allows querying it.
2017-03-26Revert "Use a single libusb context"Léo Lam
This reverts commit c8a6dc6c23a5efe99b4bf937003ba3f2f7f8f200. libusb on Windows isn't really safe to use from different threads with a single context.
2017-03-16SI: Namespace device classesLioncash
Places all of the SI code under the SerialInterface namespace instead of only the main source file. This keeps all SI code under a common name, as well as out of the global namespace
2017-03-16SI: Move MAX_SI_CHANNELS into the SerialInterface namespaceLioncash
Given this constant is related to the serial interface, it shouldn't be outside of the namespace.
2017-02-07Move libusb context initialization to on first useLéo Lam
This prevents libusb warnings from showing up even when the user is not using Bluetooth or USB passthrough, or the Wii U GC adapter.
2017-02-07Merge pull request #4408 from leoetlino/usbMatthew Parlane
IOS: USB support (OH0, USB_VEN, USB_HID)
2017-02-05Core: Convert State enum into an enum classLioncash
2017-02-05Use a single libusb contextLéo Lam
libusb on Windows is limited to only a single context. Trying to open more than one can cause device enumerations to fail randomly. libusb is thread-safe and we don't use the manual polling support (with `poll()`) so this should be safe.
2017-01-20Core: Move SI source files to their own directoryLioncash
2017-01-17InputCommon: Fix FreeBSD 11 libusb incompatibilitiesJeffrey Pfau
2016-10-01Reorganise a ton of logs levelaldelaro5
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-08-01GCAdapter: Return input state by valueLioncash
2016-07-05Use g_want_determinism in code added by 8f0cbefJosJuice
There's no reason this only should apply to netplay.
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-05-19Merge pull request #3805 from mathieui/gcadapter-unplug-crashMarkus Wick
GCAdapter: improve thread safety
2016-05-19GCAdapter: protect some more functionsmathieui
Reset() and Setup() are not used outside of this namespace
2016-05-18GCAdapter: improve thread safetymathieui
make sure Reset() can’t be run concurrently with AddGCAdapter() or ResetRumble() (which is called on other threads) which can cause crashes (issue #9462)
2016-05-12Disable part of the adapter features for netplaymathieui
In order to avoid desyncs
2016-01-24Fix a bug in GCAdaptermathieui
where the payload size would end up being crazy values on the other thread. Mirroring the similar commit made for the android side: https://github.com/Sonicadvance1/dolphin/commit/2833685fbfd782b78bbf1813f30cbb0a4ecd801d
2016-01-20Allow multiple GC adapters on one PC to be used with multiple Dolphin instances.Ryan Houdek
Previously we would iterate through every GC adapter plugged in to the PC and steal ownership of it. This causes issues all over the place in the implementation if this happens. Break on the first adapter we can get access to.
2016-01-06Add a stubbed GCAdapter namespace.Ryan Houdek
This cleans up a bunch of #ifdef checks in places.
2016-01-06Fixup typo in GCAdapterRyan Houdek
2016-01-05Make the Wii U Gamecube adapter work with less magic.Ryan Houdek
The Wii U Gamecube controller adapter setup has always been a bit weird. It tries to be as automatic as possible to make the user experience as easy as possible. The problem with this approach is that it brings a large disconnect in the user experience because you have the Gamecube controller setup with regular gamepads and then for some reason below that you have a "direct connect" option which will cause the Gamecube Adapter to overwrite the regular inputs if something was connected. While this works and allows the user to only click one checkbox to get the device working, it breaks the user's experience because they don't really know what "direct connect" means and won't look it up to figure out what it is. Just expecting the device to work (At least one occurence of this in the IRC channel in the last week). This way around also had the terrible nature of making the code more filthy than it needed to be. The GCAdapter namespace was parasitic and hooked in to the regular GC Controller SI class to overwrite the data that it was getting from the default configuration. Now instead we have a specific SIDevice class for the Wii U Gamecube adapter. This class is fairly simple and is a child of the regular SI Gamecube Pad device and only reimplements what it needs to. This also gives the ability to configure controllers individually, which allows the user to configure rumble individually per pad input. Overall the code is cleaner, and it fits more in line with how the rest of Dolphin works.
2016-01-05Move SI_GCAdapter over to InputCommonRyan Houdek