Michael M
7355b5f70d
ControllerInterface: invoke callbacks in AddDevice/RemoveDevice
...
Some backends already cause this to happen, so make it consistent across
systems.
2017-11-10 13:37:41 -08:00
Arthur Carlsson
79a646a67d
Prevent multiple HID elements of same usage type on OSX
...
On OSX, iterate the HID device's elements and only store the last of
each type to accommodate for flaky hardware
2017-09-15 19:19:46 +02:00
Nick
ef95bf26cb
Implement GamePAd and MultiAxisController detection
2017-08-24 00:31:59 -04:00
Nick
3abde44641
formatting cleanup
2017-08-23 00:19:34 -04:00
Nick
3cddb62aea
keyboard fixes v2
2017-08-22 12:26:44 -04:00
Nick
0df4f7db4f
Depreciate old OSX Keyboard and Mouse
2017-08-21 01:44:03 -04:00
Jocelyn Turcotte
200fb26148
Fix axis not working with Switch Pro controller on macOS
...
Each axis would appear as multiple elements with 0 min/max.
Filter the list of elements using the correct usage page like
done for buttons.
2017-08-01 01:58:30 +02:00
Michael Maltese
5298328cb1
Add headless support on macOS
2017-04-15 19:34:42 -07:00
Anthony
ffe20705dd
Merge pull request #4362 from ligfx/osxhotplug
...
ControllerInterface: enable hotplugging on macOS
2016-12-01 00:29:56 -06:00
Michael Maltese
7ed8fb95c5
ControllerInterface: enable hotplugging on macOS
2016-11-30 22:27:46 -08:00
Michael Maltese
3e69d066f5
ControllerInterface: replace Reinitialize with RefreshDevices
...
The SDL backend crashes when you close a joystick after SDL_Quit has
been called. Some backends don't need to be shutdown and
re-initialized everytime, we can just ask to enumerate devices again.
2016-11-30 16:07:55 -08:00
Markus Wick
b9e4f67d3a
Merge pull request #4405 from xrix4096/mac-unknown-joyaxis
...
Make analog triggers on PS3 controllers accessible on Mac
2016-10-31 13:01:47 +01:00
Chris Pritchard
9da9ba616b
Use the IOHIDElement cookie as a part of the axis name for unknown axis. Previously the 'usage' value was used to identify the axis by name, but this is not unique. For example on a PS3 controller *all* axis other than the well known ones return a usage of '1' so there are 30 or more axis all named "1". This stops things such as analog triggers being usable.
...
Using the element cookie uniquely identifies each axis and allows them to be assigned successfully as controls
2016-10-30 10:36:53 +00:00
Sintendo
f163bd1048
Fix various comment typos
2016-10-24 18:27:49 +02:00
Léo Lam
788e19f54d
ControllerInterface: Make the ID assigning code common
...
This makes the device ID assigning code common to all backends, by
moving it to AddDevice() instead of copy-pasting or replicating
the logic in the backends.
Also, to prepare for hotplugging, instead of relying on a name usage
count, the new ID assigning system always starts from ID 0 and tries
to assign the first ID that is not used.
2016-07-14 10:50:53 +02:00
Scott Mansell
e0839a9478
Strip whitespace from Evdev and OSX controller names.
2016-07-12 14:19:07 +12:00
Léo Lam
8678133e87
ControllerInterface: Switch to std::shared_ptr
...
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-25 21:46:39 +02:00
Léo Lam
fd29e5c4cc
ControllerInterface: Don't pass m_devices to the backends
...
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-25 13:46:53 +02:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Nick Tiberi
e7ad0fd600
normalize and check upper/lower bounds of hats input on OS X
2016-02-05 16:40:59 -05:00
Lioncash
a30681834c
InputCommon: Use NSNumber numeric literals in Obj-C code
2015-10-02 13:23:46 -04:00
Lioncash
c3332604fa
ControllerInterface: Fix -Winconsistent-missing-override warnings on OSX
2015-09-17 15:15:15 -04:00
comex
700b850acd
Fix misc. clang warnings - mostly complaints about inconsistent use of override.
...
Previously, MacOpenFile only overrode anything on OS X; otherwise it was
just a useless method, which is presumably why it wasn't marked override
in the first place. Address this more sanely by wrapping it in #ifdef
__APPLE__.
2015-06-21 15:42:49 -04:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Jasper St. Pierre
f2787f620e
ControllerInterface: Make UpdateInput / UpdateOutput return void
...
The return values here have never been checked, so it doesn't make sense
to return a value to begin with.
2014-11-28 10:50:45 -08:00
Jasper St. Pierre
367a42dcfd
ControllerInterface: Implement dummy UpdateInput / UpdateOutputs
...
Make the implementation here a bit easier.
2014-11-28 10:50:45 -08:00
Lioncash
fd39454ad3
Make some OSX-only functions static
...
Gets rid of function prototype warnings.
2014-10-28 08:41:50 -04:00
Lioncash
357c0adc3c
Kill off the wx casts within InputCommon and GLInterface.
...
All because someone didn't actually return the wxWindow handle for the edge case.
2014-09-14 01:07:08 -04:00
Lioncash
6cfc5b9849
InputCommon: Initialize NSDictionaries using literal syntax.
2014-09-13 21:32:33 -04:00
Rachel Bryk
5adbc83453
Change ControlState typedef to double, and change all related floats/doubles to use it.
...
Fixes an off by 1 issue related to double->float->double conversion, and eliminates numerous warnings.
2014-09-03 03:08:09 -04:00
Lioncash
bc14d6966f
InputCommon: Clean up brace placements
2014-08-30 18:06:44 -04:00
Tillmann Karras
d802d39281
clang-modernize -use-nullptr
...
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
Lioncash
2afe215271
Convert all includes to relative paths.
2014-02-18 02:19:10 -05:00
Lioncash
3fd87a7636
Second and final pass of clearing out tabs.
2014-02-17 02:19:41 -05:00
Lioncash
6c4ee1753a
Fix some vertical alignments
...
ie. uses spaces for alignment.
2014-02-16 20:12:05 -05:00
lioncash
d2038049f5
Replace all include guard ifdefs with "#pragma once"
2014-02-10 18:07:16 -05:00
Jules Blok
c6d650c058
ForceFeedback: Add OSX rumble support
2014-02-09 17:01:45 +09:00
Jasper St. Pierre
34692ab826
Remove unnecessary Src/ folders
2013-12-31 14:03:19 -05:00