src/joystick


Log

Author Commit Date CI Message
Sam Lantinga 5f341620 2019-05-19T12:06:58 Fixed bug 4474 - Add support for an ASUS Gamepad variation Trent Gamblin This patch adds a variation of the ASUS Gamepad to the game controller DB. All the values are the same except the GUID.
Sam Lantinga c377de54 2019-05-19T11:56:26 Fixed bug 4436 - [OpenBSD] fix D-pad Thomas Frohwein Hi, If a gamepad lists the Dpad as 4 buttons (Dpad Up,Down, Left, Right) like with the Xbox 360 gamepad / XInput report descriptor used by OpenBSD (https://github.com/openbsd/src/blob/master/sys/dev/usb/uhid_rdesc.h#L184), this is not recognized by the SDL BSD backend and no hat or any other listing for the D-pad exists, e.g. in sdl2-jstest (https://gitlab.com/sdl-jstest/sdl-jstest). The attached diff fixes this and makes the D-pad on my Xbox 360 and Logitech F310 controllers usable. It adds a hat to nhats when usage HUG_DPAD_UP is found, reads the state of the D-pad buttons into array dpad[], and turns the value of dpad[] into an SDL hat direction (dpad_to_sdl()). Tested and works with Xbox 360 controller and Logitech F310 in XInput mode. Software-side tested with sdl2-jstest and Owlboy where this worked without problems or regressions. I don't know if this would be applicable to other *BSDs and don't have an install to test it with, therefore wrapped it in __OpenBSD__ ifdefs. Thanks, thfr
Sam Lantinga 9a8d5215 2019-03-27T08:17:05 Handle potentially calling SDL_JoystickUpdate() and SDL_JoystickQuit() at the same time.
Ethan Lee f07c992b 2019-03-17T12:36:40 hidapi: Add GCN L/R buttons, just in case someone wants them...
Sam Lantinga faf97978 2019-03-16T19:03:13 Fixed bug 4511 - SDL_gamecontrollerdb Mapping for Sony Playstation USB controller Renaud Lepage Simply submitting a new mapping.
Jimb Esser 0f148eb6 2019-03-16T18:12:26 Fix polling left trigger reporting right trigger's values.
Ethan Lee c5286156 2019-03-12T20:27:54 hidapi: Add support for Wii U/Switch USB GameCube controller adapter. Note that a single USB device is responsible for all 4 joysticks, so a large rewrite of the DeviceDriver functions was necessary to allow a single device to produce multiple joysticks.
Silent b6a45f1a 2019-02-14T20:46:58 Fixed DualShock 3 mapping
Alex Szpakowski 65e07b38 2019-01-31T19:52:47 iOS/tvOS: fix support for SDL_GameControllerGetButton(controller, GUIDE) with MFi controllers (thanks Caleb!) Fixes bug #4463.
Charlie Birks aacb1091 2019-01-29T12:19:00 Emscripten: call emscripten_sample_gamepad_data
Sylvain Becker 82b2c849 2019-01-21T23:41:43 Fixed bug 4024 - GameController error "Unexpected controller element" If mapping string is terminated with a comma, there is no more values to parse.
Sylvain Becker adabfdc0 2019-01-21T20:49:08 Revert SDL_gamecontrollerdb.h and sort_controllers.py from bug 4024
Sam Lantinga 7b354dda 2019-01-20T13:53:16 Fixed compiler warning
Sylvain Becker ede0fc4f 2019-01-16T14:03:35 Fixed bug 4024 - remove trailing comma of Controller mappings because it reports an error "Unexpected controller element"
Sam Lantinga 5e13087b 2019-01-04T22:01:14 Updated copyright for 2019
Ryan C. Gordon 18296927 2018-12-15T09:57:05 emscripten: SDL_PrivateJoystickAdded() wants an instance id, not device index.
Sam Lantinga 98829d37 2018-12-11T19:50:58 Handle both "Sony Interactive Intertainment" and "Sony Computer Entertainment" when ignoring motion sensors
Sam Lantinga 70ce0f2e 2018-12-07T12:02:08 Added the hint SDL_HINT_GAMECONTROLLERCONFIG_FILE to specify a file to load at initialization containing SDL game controller mappings
Sylvain Becker 7468d1e0 2018-12-06T15:46:40 Fix warnings detected on Android build
Ryan C. Gordon a7563bcd 2018-12-05T19:03:15 joystick: Removed unused variable.
Sam Lantinga 6ed76ae1 2018-12-05T14:46:03 Fixed the ROCCAT Tyon mouse showing up as a joystick on Windows
Ryan C. Gordon fbead635 2018-12-05T16:55:59 joystick: Added controller config for IMS Passenger Control Unit Devices.
Sam Lantinga db320e46 2018-12-04T14:21:29 Fixed the PS4 motion controls showing up as a separate game controller on Linux
Sam Lantinga f205f3a8 2018-11-27T15:10:26 Added support for the Razer Raiju Mobile
Sam Lantinga b73703b9 2018-11-19T21:17:00 Fixed bug 4391 - hid_enumerate() sometimes causes game to freeze for a few seconds Daniel Gibson Even though my game (dhewm3) doesn't use SDL_INIT_JOYSTICK, SDL_PumpEvent() calls SDL_JoystickUpdate() which ends up calling hid_enumerate() every three seconds, and sometimes on my Win7 box hid_enumerate() takes about 5 seconds, which causes the whole game to freeze for that time.
Sam Lantinga 2e348c1f 2018-11-14T13:37:22 Fixed bug 3193 - Dualshock 3's motion sensors overwrite analog stick maxxus The Dualshock 3's motion sensors don't seem to be reported by the call to EVIOCGBIT but they still send EV_ABS events. Because they're not reported by EVIOCGBIT they're not assigned a proper axis ids and the default of 0 is used, which is the valid id for the left analog sticks left/right axis.
Ozkan Sezer d42728ec 2018-11-01T12:35:00 fix NetBSD C90 build failure src/vendor/SDL2/src/joystick/bsd/SDL_sysjoystick.c:353:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] reported by 'bch' at https://discourse.libsdl.org/t/25231
Ryan C. Gordon 62494a2e 2018-10-31T15:03:41 Merge SDL-ryan-batching-renderer branch to default.
Micha? Janiszewski 91820998 2018-10-28T21:36:48 Add and update include guards Include guards in most changed files were missing, I added them keeping the same style as other SDL files. In some cases I moved the include guards around to be the first thing the header has to take advantage of any possible improvements compiler may have for inclusion guards.
Sam Lantinga 14c55ac8 2018-10-26T20:20:28 This change looks okay in the general case. If we run into problems where these events aren't dispatched (initialized on a different thread than the main thread?) we may need to create a separate thread to handle device notifications like we do with the windows joystick subsystem.
Ryan C. Gordon be8ef94f 2018-10-26T14:43:39 hidapi: Don't run a separate event loop for device notifications. Fixes Bugzilla #4286.
Sam Lantinga 14329256 2018-10-25T16:53:14 Generalized the XInput user index into a player index
Sam Lantinga 545febcf 2018-10-25T13:22:34 Fixed initializing XInput user index
Sam Lantinga 9987ca69 2018-10-25T12:54:42 Added SDL_JoystickGetXInputUserIndex()
Sam Lantinga 4d4e18c4 2018-10-25T12:54:39 Added vi style for the Emscripten joystick code
Ryan C. Gordon b262b0eb 2018-10-22T20:50:32 Small stack allocations fall back to malloc if they're unexpectedly large.
Steven M. Vascellaro ff3bb857 2018-10-22T10:55:18 joystick: Add Linux mappings for "Xbox One Wireless Controller (Model 1708)" Adds controller bindings to support the "Xbox One Wireless Controller (Model 1708)" on Linux. The Model 1708 was released in 2016 alongside the Xbox One S. It is the current model being sold by Microsoft as of writing. (October 22, 2018)
Sam Lantinga 708ad1fd 2018-10-16T14:58:07 Fixed updating the rumble parameters on Linux
Sam Lantinga 62f806ed 2018-10-08T19:46:01 This device gets Xinput driver loaded on windows.
Sam Lantinga f01cdced 2018-10-05T01:41:59 It turns out HIDAPI for Xbox controllers doesn't allow background input, so we won't enable it by default on Windows.
Sam Lantinga 41ee51b9 2018-10-04T15:23:42 Fixed updating bindings for controllers using the wildcard mappings
Sam Lantinga 19445561 2018-10-02T20:51:33 Make sure we don't read and write to HIDAPI at the same time, it's not thread-safe on Windows
Sam Lantinga 48f7e7f3 2018-09-30T22:43:12 Corrected PS4 controller entry
Ozkan Sezer 5454765a 2018-09-28T17:01:24 replace bool stuff in controller_type.h with SDL_bool. remove bool<->SDL_bool dance in SDL_joystick.c:SDL_IsJoystickSteamController() after the controller_type.h change.
Ozkan Sezer fde82e59 2018-09-28T14:01:40 SDL_hidapi_ps4.c: add HAVE_ENDPOINTVOLUME_H check to win32 volume code. this makes it build with my old toolchain with mingw-w64 1.0.10 headers
Sam Lantinga 9aa8a75d 2018-09-28T01:18:54 Fixed building with Xcode 10.0
Sam Lantinga f964ce03 2018-09-28T01:00:47 Fixed mingw-w64 build
Sam Lantinga aa9683bb 2018-09-25T19:41:33 Added 8bitdo SF 30 PRO controller support for Linux / DInput mode (thanks Frank Hartung)
Ozkan Sezer 870c44bf 2018-09-25T09:20:56 safer this way, just in case..
Sam Lantinga cd90e2ca 2018-09-24T16:33:14 Fixed bug 4267 - linkage failure with --enable-hidapi because of missing libudev symbols Ozkan Sezer hidapi dynamic udev initial patch
Sam Lantinga 5febdfce 2018-09-24T11:49:25 Fixed whitespace
Sam Lantinga d07fe7ad 2018-09-21T09:41:21 Removed button logging message
Sam Lantinga e8b0859f 2018-09-20T15:55:52 Added missing call to WindowsDeleteString()
Sam Lantinga 600126c9 2018-09-19T10:03:40 Added experimental support for Windows.Gaming.Input
Sam Lantinga 59a2d12c 2018-09-17T11:35:22 Fixed creating an Android game controller mapping for HIDAPI devices on initialization
Sam Lantinga 6a7b0c27 2018-09-14T12:41:29 Fixed crash launching under Steam on Mac OS X
Ozkan Sezer 33381d3d 2018-09-07T11:03:24 hidapi/SDL_hidapijoystick.c: fix build in C90 mode: src/joystick/hidapi/SDL_hidapijoystick.c: In function 'HIDAPI_InitializeDiscovery': src/joystick/hidapi/SDL_hidapijoystick.c:281: error: 'true' undeclared (first use in this function) src/joystick/hidapi/SDL_hidapijoystick.c:281: error: (Each undeclared identifier is reported only once src/joystick/hidapi/SDL_hidapijoystick.c:281: error: for each function it appears in.) src/joystick/hidapi/SDL_hidapijoystick.c: In function 'HIDAPI_UpdateDiscovery': src/joystick/hidapi/SDL_hidapijoystick.c:339: error: 'true' undeclared (first use in this function) src/joystick/hidapi/SDL_hidapijoystick.c:341: error: ISO C90 forbids mixed declarations and code
Sam Lantinga 80021c21 2018-09-05T15:28:06 Speculatively disable rumble on the Razer Panthera Evo, which doesn't have rumble motors and probably hangs in the same way the Panthera does.
Sam Lantinga 96259f1f 2018-09-05T12:16:01 Don't overwrite the default binding when changing the binding for a controller that was using the default.
Sam Lantinga 963e74d6 2018-09-05T11:24:23 Added binding for Mad Catz FightStick TE S+ (PS3) on Mac OS X
Sam Lantinga c152e380 2018-09-05T11:18:50 Added support for the Razer Panthera Fightstick Fixed bindings for the Mad Catz FightStick TE S+
Sam Lantinga 34237b80 2018-08-31T18:10:21 Better fix to make sure we're only returning controllers from the HIDAPI joystick API
Sam Lantinga 4ffcd88c 2018-08-31T17:47:34 Removed VID/PID 0x1532/0x0037, which was listed in the Linux kernel as a Razer Sabertooth, because at least one variant of the Razer DeathAdder mouse shows up with this VID/PID.
Sam Lantinga 5ef8eb49 2018-08-29T20:55:02 Don't show the Razer Raiju sound interface as a game controller
Sam Lantinga 207428b4 2018-08-29T20:23:39 Don't rumble Bluetooth PS4 controllers by default, as that switches the controller into extended input report mode, which breaks games that use DirectInput.
Sam Lantinga 16ccff3c 2018-08-29T20:23:36 Fixed whitespace
Sam Lantinga fda14741 2018-08-29T18:56:54 Fixed Xbox One S Bluetooth support on Mac OS X
Sam Lantinga 6b3f11e2 2018-08-20T21:18:56 Fixed code style
Ozkan Sezer 90454b1e 2018-08-16T11:01:02 SDL_hidapi_ps4.c: define NTDDI_VISTA / _WIN32_WINNT_VISTA if not defined it still needs a Vista or newer Platform SDK to build, though.
Sam Lantinga 7d3a7ef8 2018-08-15T23:35:54 Use a single hint for both Xbox 360 and Xbox One controllers, since they are often the same driver.
Sam Lantinga a2add1f6 2018-08-15T23:14:45 Use the HIDAPI driver for Xbox controllers on Windows, and determine the XInput mapping at runtime for extended functionality like rumble and guide button.
Sam Lantinga 3f5ff751 2018-08-15T23:14:43 Use a unified name list for Xbox 360 and Xbox One controllers for drivers that can handle both
Sam Lantinga aad340eb 2018-08-15T19:53:36 Added Windows Xbox controller state packet handling, for completeness.
Sam Lantinga 63107524 2018-08-15T19:53:34 Fixed input from the Steam Virtual Gamepad on Mac OS X
Sam Lantinga 0903e835 2018-08-15T19:53:31 Use SDL specific window class to avoid conflicting with Steam
Sam Lantinga c8866658 2018-08-15T19:53:30 Catch device removal as well as device arrival on Windows
Sam Lantinga 641c674f 2018-08-15T19:53:28 Turned off debug messages
Sam Lantinga 51902010 2018-08-15T19:53:26 Remove the HIDAPI device if we get a read error from it This fixes detecting PS4 controller disconnect on Mac OS X, where there isn't any device removed notification
Sam Lantinga dfbd7f65 2018-08-15T19:53:24 Fixed Mac OS X build
Sam Lantinga ec74c318 2018-08-15T19:53:22 Polling hid_enumerate() every 3 seconds causes freezes and stutters on some USB audio devices and mice. We'll only enumerate devices when we get notification that the system devices have changed
Ryan C. Gordon 67a48ad1 2018-08-10T15:04:08 haiku: Patched to compile with new joystick interfaces.
Ryan C. Gordon e1ac643b 2018-08-10T14:54:26 bsd: Patched to compile. (I think.)
Ryan C. Gordon 67764070 2018-08-10T14:42:40 bsd: Update joystick code for new interfaces. (this is an untested push to see if buildbot likes it.)
Ryan C. Gordon b692c352 2018-08-10T14:32:30 emscripten: Patched to compile with new joystick interfaces.
Ryan C. Gordon 941f8ecf 2018-08-10T14:10:47 joystick: define inline to SDL_INLINE
Ryan C. Gordon 0b2863d4 2018-08-10T14:09:44 joystick: #if 0'd out some things that aren't currently used. Fixes some compiler warnings.
Ozkan Sezer a7c3d2af 2018-08-10T11:50:55 SDL_hidapi_ps4.c: lowercase windows header names.
Sam Lantinga 4f41f07d 2018-08-09T16:05:48 Added missing files from previous commits
Sam Lantinga 31b02243 2018-08-09T16:04:45 Added notes that this code was contributed by Valve
Sam Lantinga 99759bac 2018-08-09T16:04:34 There's no controller that's supported by both XInput and HIDAPI
Sam Lantinga ab07ce11 2018-08-09T16:04:30 Don't update the device list for devices we know aren't supported This should reduce HID enumeration (hitting the USB bus) if for some reason we're getting spammed with false device insert/removal events
Sam Lantinga 28e0c0ee 2018-08-09T16:04:21 Sam Lantinga <slouken@libsdl.org> 2018-08-06 13:00 -0700 Backed out changeset 794a209b2270 http://hg.libsdl.org/SDL/rev/2e2ecdac957c
Sam Lantinga 25a952e7 2018-08-09T16:04:18 Sam Lantinga <slouken@libsdl.org> 2018-08-06 11:58 -0700 Removed mapping for VID/PID 0x0079/0x0006, which is a generic PCB used in many different devices http://hg.libsdl.org/SDL/rev/794a209b2270
Sam Lantinga 888bf1af 2018-08-09T16:03:50 Worked around bug with Sony PS Now PS3 controller where DirectInput polling will continue to return success after the controller is unplugged. The code is now reliant on SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved() being called correctly when devices are added or removed on Windows
Sam Lantinga f35e97ba 2018-08-09T16:03:29 Fixed Windows build
Sam Lantinga d2042e1e 2018-08-09T16:00:17 Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms. Added SDL_GameControllerRumble() and SDL_JoystickRumble() for simple force feedback outside of the SDL haptics API
Sam Lantinga a37d3e0b 2018-08-06T13:00:11 Backed out changeset 794a209b2270 It turns out the mapping is correct, just the name was confusing
Sam Lantinga cc682f20 2018-08-06T11:58:08 Removed mapping for VID/PID 0x0079/0x0006, which is a generic PCB used in many different devices Different device with same vid/pic that is kind of a Saitek shape: https://www.trust.com/en/product/17416-gxt-24-runa-compact-gamepad n64 with same ID https://bbs.archlinux.org/viewtopic.php?id=163488 PS shaped with numbers for buttons https://pineight.com/mw/index.php?title=USB_game_controller#DragonRise_Inc._Generic_USB_Joystick fightstick with same vid/pid https://retropie.org.uk/forum/topic/7594/bartop-2-player-zero-delay-encoders-not-working
Ryan C. Gordon 862aa4b4 2018-07-22T19:28:27 windows: Fixed some Visual Studio warnings about shadowed variables. Fixes Bugzilla #4118.
Sam Lantinga 864b8f89 2018-06-12T01:04:26 Merged in community contributed controller mappings from https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt