summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/ControllerInterface.h
AgeCommit message (Collapse)Author
2016-09-04InputCommon: Remove the Xlib backendJasper St. Pierre
The XInput2 backend is more performant, so let's default to it and remove the old, core-only backend.
2016-07-29ControllerInterface: Add RemoveDevice()Léo Lam
This adds RemoveDevice() to ControllerInterface, fixes ExpressionParser and some other code to support device removals without crashing, and adds an IsValid() method to Device, to prepare for hotplugging.
2016-07-29ControllerInterface: Add a way to register callbacksLéo Lam
This adds RegisterHotplugCallback() to register a callback which will be invoked by the input backends' hotplug threads when there is a new device, so that Core (GCKeyboard, GCPad, Wiimote, Hotkey) can reload the configuration without adding a dependency to Core from InputCommon.
2016-06-25ControllerInterface: Switch to std::shared_ptrLéo Lam
Small cleanup by using std::shared_ptr and getting rid of ciface.Devices() which just returned the m_devices (which defeats the point of making m_devices protected). Incidentally, this should make the code safer when we have different threads accessing devices in the future (for hotplug?). A lot of code use Device references directly so there is no easy way to remove FindDevice() and make those unique_ptrs.
2016-06-25ControllerInterface: Add synchronisationLéo Lam
Since we may have to add/access devices from different threads, this adds synchronisation to anything that touches m_devices.
2016-06-25ControllerInterface: Don't pass m_devices to the backendsLéo Lam
Previously, the devices vector would be passed to all backends. They would then manually push_back to it to add new devices. This was fine but caused issues when trying to add synchronisation. Instead, backends now call AddDevice() to fill m_devices so that it is not accessible from the outside.
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-02-05Use cmake to determine if we are enabling the Android Controller InterfaceRyan Houdek
2015-10-24GC controller input using named pipesspxtr
Currently only works on unix, but can be extended to other systems. Can also be extended to do wiimotes. Searches the Pipes folder for readable named pipes and creates a dolphin input device out of them. Send controller inputs to the game by writing to the file. Commands are described in Pipes.h.
2015-07-01Linux: Add an evdev based controller backend, to replace SDL.Scott Mansell
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-03-12Removed the controller update lock as it is no longer needed.skidau
2014-11-28HW: Remove UpdateOutputJasper St. Pierre
All of the rumble interfaces are now immediate mode.
2014-11-28ControllerInterface: Make UpdateInput / UpdateOutput return voidJasper St. Pierre
The return values here have never been checked, so it doesn't make sense to return a value to begin with.
2014-11-28ControllerInterface: Remove unused "force" parameterJasper St. Pierre
I'm not sure when this nonsense of forcing locking the mutex when it's already taken should have ever taken effect, but let's be thankful it isn't now. That was a badly worded sentence.
2014-10-15ControllerInterface: Get rid of SetHwnd(), introduce Reinitialize()Lioncash
Initialize now just takes the handle directly. Reinitialize is added because it is much more straightforward in comparison to doing the Shutdown-Initialize manually.
2014-09-08Include CommonTypes.h instead of Common.h.Rohit Nirmal
2014-09-04Controller Interface: Remove "using namespace" in header file.Rohit Nirmal
2014-05-04Remove SDL from Externals.Jordan Woyak
2014-05-04Disable SDL input on Windows.Jordan Woyak
2014-03-09clang-modernize -use-nullptrTillmann Karras
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09clang-modernize -add-overrideTillmann Karras
2014-02-20Fix more header sorting issues in InputCommon/ (now check-includes clean).Pierre Bourdon
2014-02-18Convert all includes to relative paths.Lioncash
2014-02-10Replace all include guard ifdefs with "#pragma once"lioncash
2014-01-30Light cleanup to a little bit of InputCommon. Replaces much of the iterators ↵Lioncash
that litter this section of the codebase. Also clean up a little bit of the comments that describe the interface classes.
2013-12-31Remove unnecessary Src/ foldersJasper St. Pierre