src/joystick

Branch


Log

Author Commit Date CI Message
Sam Lantinga 7ebfaa0e 2023-11-02T08:33:15 Check to make sure the Windows joystick device has buttons and axes This reverts commit e5a15f94e2f1a8fbbffb25ea9932cda9679a68fd. It turns out removing this check allows mice like the ROG PUGIO II to show up as game controllers. We need to find a different way to differentiate between gaming mice and pedals. Since these mice show up as controllers, and potentially causing games to use them instead of real controllers, we'll go ahead revert this change for now. Reopens https://github.com/libsdl-org/SDL/issues/8227 (cherry picked from commit ad0af488837e44cbea0f0eab3b2f73b50a74bff4) (cherry picked from commit 20ecd2afcb6a4ef6acb39505d307d42390e6a345)
Sam Lantinga 74b3959e 2023-10-25T09:00:26 Added support for the HP HyperX Clutch Gladiate controller (cherry picked from commit f52b330ed84c477a94094302aa6a3baaca87019d) (cherry picked from commit 1db0bd3fc053c5a444977cc1409cb5106e555252)
Sam Lantinga 78d5fbf3 2023-10-23T10:42:36 SDL_IsJoystickProductWheel() returns SDL_TRUE for Asetek wheelbases (thanks @IOBYTE!) (cherry picked from commit e07f6c0a17fbf60eca96152036b2494d0cfafecd) (cherry picked from commit d47c286b12eccee479ba57c8897092c6277ef962)
Sam Lantinga 2ca041d2 2023-10-22T09:10:14 Revert "Check to make sure the Windows joystick device has buttons and axes" This reverts commit 642504bc5993a6acd4d9c1d4c1314c6b1cf6e4e1. We have SDL_HINT_JOYSTICK_ROG_CHAKRAM to ignore or allow the ROG Chakram X mouse to be used as a joystick. Fixes https://github.com/libsdl-org/SDL/issues/8227 (cherry picked from commit e5a15f94e2f1a8fbbffb25ea9932cda9679a68fd) (cherry picked from commit e3e41b69a1060d87dfe635a35ed56cba23574aaa)
Cameron Gutman b3f19b14 2023-10-17T21:41:30 Check for device disconnection in HIDAPI_JoystickOpen() HIDAPI joystick drivers may call HIDAPI_JoystickDisconnected() in their UpdateDevice() function during HIDAPI_JoystickOpen(). If they do this today, the opened joystick will end up partially initialized (no name, path, mapping GUID, etc.) because HIDAPI_GetDeviceByIndex() will no longer be able to find the SDL_HIDAPI_Device for the removed joystick. Worse still, joystick->hwdata->device becomes a dangling freed pointer the next time HIDAPI_UpdateDeviceList() is called. This leads to a UAF when the application or SDL calls SDL_JoystickClose() on this joystick. Fix all this by checking if the device no longer has any associated joysticks after calling UpdateDevice() and failing the open call if so. (cherry picked from commit 435e7ce663b7e568086c5dc0fb1bb889e41a3ed1) (cherry picked from commit 4aab2342e9aabc7e506952dbe5e021f3d3604929)
Sam Lantinga d6910106 2023-09-24T17:17:49 Check for NULL before dereferencing newly allocated memory Fixes https://github.com/libsdl-org/SDL/issues/8289 (cherry picked from commit 70a1bc69739016884a22abe6bf86f8a5deba29ef) (cherry picked from commit 27f2df2292cceab64ff25f94efca5ec8bc5f1478)
Sam Lantinga cc4973ea 2023-09-18T12:55:43 Fixed sensor timestamp units for third-party PS5 controllers (cherry picked from commit a72dfa6a5fe8d8901175db852de8686b83487522) (cherry picked from commit 37dee79b74723b7021ccaa946e31872f0539df4a)
Sam Lantinga 8114bd91 2023-09-18T12:19:18 Fixed error: array subscript 2 is above array bounds of ‘const Uint8[2]’ Smart compilers don't like dereferencing off the end of arrays (cherry picked from commit f6756047a4190d9c82222e4ec378bdb14a72f8d7) (cherry picked from commit 62e7049a4f6eedc75d7ffb9cffc435f491f1577c)
Sam Lantinga 495fca15 2023-09-18T11:50:56 Fixed sensor timestamp calculation for third-party PS5 controllers (cherry picked from commit 7059a55ccca04b75145c3d23a317fbe1eb77039e) (cherry picked from commit fff3c2573a46b685f73646dc01937a88c35b3be6)
Max Bachmann b576e29d 2023-09-13T00:24:47 detect fanatec steering wheels (cherry picked from commit fd1c54a004250d844d82bb20ddfe75029585f53a) (cherry picked from commit a8b9414697c3dece1605b2d1c146649c634eba54)
Makarenko Oleg e9ab663c 2023-09-04T22:11:13 Detect Simagic wheel bases as wheels (#8198) Simagic DirectDrive wheel bases have the same vendor + product id's (cherry picked from commit a2c1984d371e86e97bd6ffb176e835925e6afb3a) (cherry picked from commit 1d495351a0944c598e78c130b635f9447b5bc871)
Oleg c8d1de1a 2023-09-04T20:26:24 Detect Logitech G923 Playstation as wheel G923 have two different versions - Xbox version is already present in the wheel list, but not the PS version. (cherry picked from commit 266b91d2fd2b3362d1828f8a6b58589bdaa4f75d) (cherry picked from commit 365a36386ac18a2636c0d7b9597edb3644df0735)
Oleg bf8c9cd6 2023-09-04T20:46:09 Detect Logitech PRO Racing Wheel for Xbox (PC mode) as wheel Logitech PRO Racing Wheel have two different versions - for Playstation and Xbox. Vendor + Product ID for Playstation version already present in SDL sources, but not an Xbox version (cherry picked from commit cde67ea49ad812088bd5c8cfd67ef090ac1c1d86) (cherry picked from commit 242b25aba47871a571457bc6e71ff4c89bbafc3b)
Sam Lantinga 874f6fea 2023-08-24T11:37:50 Fixed the report format for the Razer Wolverine V2 Pro (cherry picked from commit 69aec8c915b5cddae2bb6171d7d5404f4d779db3) (cherry picked from commit 6ff48dddcb34736a3550ba94f8ef3f3ce3e79de5)
Mathieu Eyraud 739d3ec1 2023-08-10T15:05:29 Fix out of bound read of 'has_hat' array (cherry picked from commit 94b3f78c440bfd52182848adf39db71325861e9c) (cherry picked from commit f348370e1b3416f70e3fd1e5668a385b661b4a48)
Sam Lantinga e0a34570 2023-07-19T09:22:01 The Flydigi Vader and Apex series controllers all have the same VID, PID, and name (cherry picked from commit 58e3084477afe344bae42ab352d56eba25b4a36b) (cherry picked from commit 0f753d97940d0a5ba01f0274ac742ee427263bd5)
Sam Lantinga 9fba3651 2023-07-14T18:40:10 Removed Flydigi Vader 2 mappings Many of the Flydigi controllers use the same VID/PID and have different mappings, so let's revisit this once we have more data. (cherry picked from commit 5388edd5494030b8c43b2f79e3f5c9b71f57a703) (cherry picked from commit 805fc29ae8aead9fba8e0fa2b155dd3a9f6618f2)
Sam Lantinga 2ccb311c 2023-08-02T14:35:39 Added a gamepad mapping for the G-Shark GS-GP702 Fixes https://github.com/libsdl-org/SDL/issues/8068 (cherry picked from commit 06bea1eb5544e778c1258d3d7f47f6d06110c379) (cherry picked from commit 2304b4e86a05cbf418b96055b72fc4eaf874531f)
Ozkan Sezer 45fb778f 2023-08-02T20:40:24 adjusted coding style in SDL_os2_joystick.c to match rest of SDL better (cherry picked from commit 57f3c41b9727d8cfb701401bc539be45285a0399)
Mathieu Eyraud dda97183 2023-07-29T15:56:00 Add missing break (cherry picked from commit 0500fca00c141cc4ab9be15ce5ddb7bc8c5c17b2)
Ozkan Sezer 38a5aed9 2023-07-28T23:55:50 minor os/2 stuff merged from the bitwiseworks' fork
Sam Lantinga 301f2278 2023-07-27T12:48:15 Sorted controller list (cherry picked from commit 3174d0b97025376e4a7b6e881501a43472238e0e) (cherry picked from commit 507be6c3f819ad24b08eb3d28e7e14c9aeb6b60a)
Max Maisel 2ca4c023 2023-07-26T20:49:21 Add Steam Deck controller mapping to database. This adds support for the back paddles, and the "..." key which are not automatically detected. * "Back" is mapped to the top left "two windows" key. * "Start" is mapped to the top right "hambuger menu" key. * "Guide" is mapped to the "Steam" key. * The "..." key is just a generic button. When looking at the screen, paddles are number * P1: Top right * P2: Top left * P3: Bottom right * P4: Botom Left The new controller mapping was created with the SDL3 gamepadmap tool. (cherry picked from commit 27b8abb0562f46e64337d5d799b877c357001254) (cherry picked from commit f4561db69a6c534e9e041f890cc06e42bdbdec4d)
Sam Lantinga fb57ba76 2023-07-17T17:08:17 Fixed LED pending check failing when the controller timestamp is very large In this case we know the controller has been on for a while and the Bluetooth connection LED cycle is complete. Also fixed the timestamp being zero the first time it is checked (cherry picked from commit bd4f155bbbdc4be34505535e4bd936ae12671925) (cherry picked from commit f7dc8c0eaa66cf33dcacb31cc3d09dee197bacbe)
Sam Lantinga 63a98d0d 2023-07-17T16:45:31 Don't send k_EPS5FeatureReportIdCapabilities to Sony PS5 controllers This report is for third party controllers only. (cherry picked from commit 16dd5f0da4ee950e9f998a757dcb4789463e67e2) (cherry picked from commit bb036ef5441f6e0374eed6a02adb9dc66273c629)
Sam Lantinga 78f11e05 2023-07-17T16:42:58 Don't tickle Bluetooth PS5 controllers in simple mode with an effects packet That will put the PS5 controller into enhanced mode, which breaks DirectInput games (cherry picked from commit 2fef0be2f646ae048e239aa6694e632081c85238) (cherry picked from commit 910dad505af1684d1a6ebce3a8a371830fd3e50b)
Sam Lantinga ff4fd93f 2023-07-14T10:01:04 Fixed getting the CRC of virtual joysticks without a VID/PID (cherry picked from commit b40fb5c51e2a5350ba00fbf4db86b4ae1066db92) (cherry picked from commit 6089b35706171b950f55a010bc9df2114cd7a783)
Sam Lantinga cb4b41dd 2023-07-11T10:50:43 RAWINPUT_RegisterNotifications() should return int, for consistency (cherry picked from commit 1903d7b1bf6c73ef23e4d6934c9fec5246dd0b2e) (cherry picked from commit e8b6edd5a081d0b45c2ac39ab690e584a6b95a84)
Sam Lantinga 5a2d165b 2023-07-11T07:56:07 Improved RAWINPUT <-> XInput/WGI device correlation If there is only one controller slot available, assume that's the one matching new RAWINPUt devices. This will be right most of the time, and uncorrelation will fix any bad guesses. (cherry picked from commit 41882a1acb6054dc7a56fd5ff7f0a279ba1144c0) (cherry picked from commit 34c5bde3554d2a78d14eb73c14d971cee20f3108)
Sam Lantinga 11022c23 2023-07-11T10:17:02 Fixed crash if RAWINPUT is not initialized We shouldn't be doing any of this work in that case (cherry picked from commit dfc5e6964eca0a0813768518d08cf1c80136e896) (cherry picked from commit 9117b2e3000da4d9066dd5f2cfb1c9cbbbee6861)
Sam Lantinga b7c93a2d 2023-07-10T09:15:02 Don't send k_ePS4FeatureReportIdCapabilities to Sony PS4 controllers This report is for third party controllers only, and might be causing issues with fake PS4 controllers. Reference https://github.com/libsdl-org/SDL/issues/7960 (cherry picked from commit 092a4b780ca464de71b89ffa5dc655ce256ce350) (cherry picked from commit 6bf5f5a221f971a5804062e365a281c30668dd9c)
Sam Lantinga 0dbeec44 2023-07-09T09:49:09 Re-added mappings for older Xbox One controllers on Linux The xpad kernel driver doesn't know about these controllers and ends up using BTN_C and BTN_Z and the automatic mapping doesn't work correctly. It turns out VID 0x045e and PID 0x02e0 is used by the 8BitDo SN30 Pro when connecting via Bluetooth in XInput mode. Fixes https://github.com/libsdl-org/SDL/issues/7925 (cherry picked from commit 80e1c75e1c6d330318478c1549a97aedb09e58bc) (cherry picked from commit 156c7badf542d1e83a836ef4a8e6df3909d833da)
Sam Lantinga a614d8f8 2023-07-08T18:18:22 Fixed mapping BTN_TR2 to right trigger (cherry picked from commit ea60da5b94ed8ec69aad69ca46e81567ab99ed2a) (cherry picked from commit 4b1dd54a56236a41e647f129c6018c78499975b3)
Sam Lantinga bb3997d8 2023-07-08T10:24:00 Added WGI gamepad added/removed listeners for RAWINPUT This fixes WGI correlation on startup when the WGI gamepad list isn't populated yet (cherry picked from commit f047e178b610c6888212c3096c10eb3f64f31a15) (cherry picked from commit f8a0135edfb07ebe7201b764fd0aba42d600b99c)
Sam Lantinga 03512104 2023-07-07T15:55:40 Don't tickle Bluetooth PS4 controllers in simple mode with an effects packet That will put the PS4 controller into enhanced mode, which breaks DirectInput games (cherry picked from commit efed24850af2994802c28f7a257ea17c9ec97d0a) (cherry picked from commit 1f7bc08884f93ede9775cdec5ae1582796fb947c)
Sam Lantinga f2d016e3 2023-07-07T14:43:57 Lazily initialize the WGI gamepad support Initializing "Windows.Gaming.Input.Gamepad" will put Bluetooth PS4 controllers into enhanced report mode, which breaks any game using DirectInput. Let's wait to do this until absolutely necessary. (cherry picked from commit 785f57eb9102206e74ac7f9b363a37cbf037cf9d) (cherry picked from commit de849d5e6f23a7621471befb69f1b036bc346f5e)
Sam Lantinga b8582428 2023-07-08T09:32:24 Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers (cherry picked from commit a6228e7aafb66075fe8f4aaf411314fc92340499)
Sam Lantinga 46927b13 2023-07-07T09:47:03 Prefer using XInput for rumble over WGI, as it allows rumble in the background (cherry picked from commit e16a83d393ae1784040519f42c482e2641b971a2)
Sam Lantinga 3bee5cf5 2023-07-07T09:33:53 Continue running XInput detection while RAWINPUT is active This allows us to re-enable XInput correlation for RAWINPUT devices without reintroducing the controller shutdown bug for controllers using the wireless adapter in https://github.com/libsdl-org/SDL/issues/3468. Fixes https://github.com/libsdl-org/SDL/issues/7940 (cherry picked from commit a0a3957eb65e22721a124476072af0f6f5a7ca18)
Sam Lantinga 7207f515 2023-06-29T16:10:55 Added Linux mapping for the Logitech Chillstream Fixes https://github.com/libsdl-org/SDL/issues/7829 (cherry picked from commit 675fc8c38f3f5685d177f0ecf7f43d57a109992e) (cherry picked from commit fc0854651becb207de28f926e0b84aedbfff8b7b)
Sam Lantinga 4af1f6ed 2023-06-29T11:25:54 Fixed build (cherry picked from commit 099e53f3a51d17155063977d5f4b40d0f07f73a2)
Sam Lantinga 446fb302 2023-06-28T19:15:11 Added support for the Nintendo Online Famicom controllers (cherry picked from commit baa9c57581490bd9cdefabb213e7cb6d0c30b296) (cherry picked from commit 0f940cb6ce350631b53c77360adffe276cad4660)
Sam Lantinga 7fa2ddb0 2023-06-27T07:48:42 Fixed Nintendo Switch Pro controllers that don't have readable user calibration (cherry picked from commit 9ee1200e6f8fecd394d9355781af40ac90851546) (cherry picked from commit 170428b107bdc004eb44fa9818eb14c2aa8798d1)
Narr the Reg 9aca2a43 2023-06-26T10:54:52 hidapi: switch: Handle MCU input reports (cherry picked from commit 425062c123f88b6890277905714e02c9375f5b5e) (cherry picked from commit 950ff0056a74a2cb6f6ff0b5ebaa9c16c305234a)
Sam Lantinga 491fba1d 2023-06-24T15:38:38 SDL_FindFreePlayerIndex() will always return the next available player index Fixes https://github.com/libsdl-org/SDL/issues/7868 (cherry picked from commit 87e916dd214866af9cfd67eb4618918bc8b0f1b4) (cherry picked from commit 38619bb28db83bc5844d13d99b3072496adcd498)
Sam Lantinga c27f3ead 2023-06-21T14:11:41 Removed 100 ms hitch when querying third party Nintendo Switch controllers that don't respond to request for info (cherry picked from commit 8acf72965031a5101f478eccd69d092001134184)
Sam Lantinga 1429e525 2023-06-21T10:28:45 Use default sensor calibration if we can't read it from the Nintendo Switch controller Fixes https://github.com/libsdl-org/SDL/issues/7830 (cherry picked from commit 3694dabe7c16bb8e76f6f4820a1987ce16c4a3c9) (cherry picked from commit dfbdaca2b8a2bc4c7e1871698066b62b42806a46)
Sam Lantinga 333a03f1 2023-06-17T13:15:07 We don't know in advance whether a device is connected over Bluetooth in SDL2
Sam Lantinga 5b8fc907 2023-06-17T12:42:55 Added support for the GameSir G4 Pro We can't read device info or IMU calibration from this controller, and it has no gyro or accelerometer, but is otherwise perfectly functional. (cherry picked from commit f168f9c81326ad374aade49d1dc46f245b20d07a)
Sam Lantinga 3a5abee5 2023-06-14T15:16:21 Removed unused function (cherry picked from commit 73927b09480fd5d664f7077a70a8b6df318cdd2d)
Sam Lantinga e7ee375f 2023-06-14T10:15:06 Fixed third-party Nintendo Switch Pro controllers shutting down when we try to set the home LED. This fixes the PDP Afterglow Wireless Deluxe Controller. (cherry picked from commit 0c16f4faf00eb573d051cac7d60ed8dd22e5596a)
Sam Lantinga 4aec5498 2023-06-13T22:40:51 Allow switching licensed Nintendo Switch Pro controllers into gyro input mode (cherry picked from commit 8c95bd814bf1cf0ea1f12aa724938176a7dfd780)
Sam Lantinga 271e03f0 2023-06-13T22:20:58 Added support for the PowerA Fusion Pro Wireless Controller in Bluetooth mode This controller shows up with a VID/PID of 0, but has full functionality over Bluetooth (cherry picked from commit cdfc0c5a3314e4e0cd5152feddd8950c7eb797f1)
Sam Lantinga 1f5b21ea 2023-06-13T16:53:10 Removed more Linux Xbox mappings in favor of the automatic mapping This fixes the Xbox Series X share button on Linux 5.x kernels. (cherry picked from commit 0f4b15e16b7f07a46db6dc8e651f8c1849d658c5)
Sam Lantinga 35c78849 2023-06-13T16:41:52 Use the automatic mapping instead of a hardcoded one for Xbox controllers on Linux This is much more robust and able to dynamically create a mapping for Xbox One S, Xbox Series X, and Xbox Elite 2 controllers. (cherry picked from commit 9567989eb3ce9c858f0fe76806c5ccad69da89ba)
Sam Lantinga 3f6c4ec6 2023-06-13T16:49:33 Cleanup for previous change, fixing typos, etc. (cherry picked from commit 883b0f4071687f2e5c8329963f97504e9679394b)
Sam Lantinga fc72f12e 2023-06-13T16:40:30 Added automatic mapping support for Xbox controllers on the 6.x Linux kernels This automatically adds support for the share button and paddles when present. (cherry picked from commit db1d4d3d76f5e21b2547463710b513fe0ebd7fad)
Ozkan Sezer 681f67d3 2023-06-14T00:25:50 fixed build after commit d2372c853843def01b7adb9872cbb89b0d6079ec.
Sam Lantinga d2372c85 2023-06-13T10:06:36 Added automatic mapping for Xbox Elite paddles using the xpadneo driver We can't actually tell yet whether a controller has paddles, so this code isn't effective, but I'll file an upstream issue and see if we can get that resolved. (cherry picked from commit b0677f476fa43f4a113b04a959228fd38f95d740)
Sam Lantinga 7db23f4e 2023-06-13T10:05:19 Fixed joystick vendor detection in Linux automatic gamepad mapping (cherry picked from commit 071d1e29dd4f80605932f320aa2e05fda383944c)
Simon McVittie 36ff6327 2023-06-09T13:24:21 linux: Improve gamepad mapping heuristic to accept Android conventions This heuristic for gamepads without a more specific mapping already tried two incompatible conventions for handling triggers: the Linux Gamepad Specification uses hat switch 2 for the triggers (for whatever reason), but the de facto standard set by the drivers for older Xbox and Playstation controllers represents each trigger as the Z-axis of the nearest analog stick. Android documentation encourages Bluetooth gamepad manufacturers to use a third incompatible convention where the left and right triggers are represented as the brake and gas pedals of a driving simulator controller. The Android convention also changes the representation of the right stick: instead of using X and Y rotation as a second pair of axes, Android uses Z position as a second horizontal axis, and Z rotation as a second vertical axis. Try to cope gracefully with all of these. This will hopefully resolve the issue described in #5406 (when using unpatched kernels). Signed-off-by: Simon McVittie <smcv@collabora.com> (cherry picked from commit cf1dc66e2cfc7a65374c5fea681dd31c50363a2c)
Simon McVittie 26a38a0b 2023-06-09T13:06:30 linux: Reduce magic numbers when mapping gamepad axes The bitfield `mapped` has two different sets of meanings, depending whether we're setting up the triggers or the d-pad. Represent them as symbolic constants rather than opaque integers. Signed-off-by: Simon McVittie <smcv@collabora.com> (cherry picked from commit c4d49fadd4500cb522b2a98e5a42d024c566d8bf)
Sam Lantinga c77aaa5d 2023-06-12T15:39:57 Fixed n3ds build (cherry picked from commit d95dbe78bb7a5087ecfb8d301417b1108d868738)
Sam Lantinga e4e0a129 2023-06-12T15:26:34 Reduce the chance of destroying the joystick mutex while it's in use Fixes https://github.com/libsdl-org/SDL/issues/7811 (cherry picked from commit 6390165fd4c193631d6780758a4aeec0d02b90eb)
Sam Lantinga 320f3fff 2023-06-09T18:41:21 Fixed querying device info on the MOBAPAD M073 The query packet needs to contain valid rumble data in order to be accepted by the controller. Fixes https://github.com/libsdl-org/SDL/issues/7788 (cherry picked from commit 5490873daa12a57ff4b36090f25f04530323c6e4)
Sam Lantinga 30b4d90f 2023-06-09T17:34:12 Only update the serial number if it hasn't already been set This fixes the serial number for Nintendo Switch Pro, which is queried from the hardware in device initialization, and was later clobbered by the USB string which isn't correct. (cherry picked from commit 2042e9c4e3cba6ffa9c34abac14828e31365f98b)
Sam Lantinga 1cdd6dc8 2023-06-09T14:34:59 Fixed reading input from the Razer Atrox Arcade Stick using Windows Gaming Input (cherry picked from commit 172cfca51332a845abf9c141ae56aa121fe4ada5)
Sam Lantinga dc94cca8 2023-06-03T11:57:08 Fixed typo in cherry-pick (thanks @HadesD!)
Sam Lantinga 97fe777a 2023-06-03T11:39:03 Steam uses a different VID/PID for the Steam Virtual Gamepad on Windows (cherry picked from commit 6815e75cafee8e7caaacf1f428b6539c8bbc7f7d)
Sam Lantinga f1bad83a 2023-06-03T11:36:38 Revert "Fixed detection of the Steam Virtual Gamepad on macOS" This reverts commit 7aa28ce279045884653c8153a5cee99f4622af10. Steam has been updated to send a version of 1 to avoid conflicts with controllers that report a version of 0.
Sam Lantinga 7aa28ce2 2023-06-02T18:37:45 Fixed detection of the Steam Virtual Gamepad on macOS (cherry picked from commit 5fcd70578bdde3eaaa51aa4ab6c24ed08bd49db3)
Sam Lantinga c89a4606 2023-06-02T11:20:31 Fixed build if SDL_JOYSTICK_RAWINPUT_MATCHING isn't enabled (cherry picked from commit 7c55845c804e2272df8bc111dea5d3e9d11670a0)
Sam Lantinga e3bfacde 2023-06-02T11:16:07 Don't use raw input while Remote Desktop is active Raw input will not send game controller events while Remote Desktop is active, so dynamically switch between XInput and raw input when Remote Desktop state changes. Fixes https://github.com/libsdl-org/SDL/issues/7759 (cherry picked from commit 767507fcf6f4607edb413acb53a6c029863701ed)
Sam Lantinga 9c05098e 2023-06-02T09:38:18 Fixed WGI immediately being correlated with raw input devices with no input The at rest match state is 0x0000008800000000, not 0 (cherry picked from commit e8b5b4881c8eb31bb7de5adef3479305a73fb0bf)
Sam Lantinga 5007b963 2023-05-28T19:23:56 Fixed build warning
Sam Lantinga b2e88ecf 2023-05-28T18:41:21 Disable SDL_JOYSTICK_RAWINPUT_XINPUT Apparently when using the Xbox One Wireless Adapter, using XInput at the same time as raw input will cause the controller to turn off immediately after connecting. This appears to be a bug in the Windows 11 driver stack, but since WGI provides all the extended functionality we need, this can be turned off for now. Fixes https://github.com/libsdl-org/SDL/issues/3468
Sam Lantinga 3f1fd5ab 2023-05-23T10:59:03 Updated source to match SDL function prototype style
Sam Lantinga 78a92b4f 2023-05-22T13:54:15 Fixed duplicate Joy-Con controllers on macOS If both Apple and HIDAPI drivers see the controller, HIDAPI will be preferred. Fixes https://github.com/libsdl-org/SDL/issues/7479 (cherry picked from commit 61ef4efdfae7e384b0d24b1b171a9ee6203a3f0d)
Sam Lantinga 7b2b99a9 2023-05-22T12:41:03 Fixed handling the Saitek P3600, which doesn't use the Xbox 360 controller protocol (cherry picked from commit cf0abf99118f1ea5ba423ce62950e5840db2c649)
Sam Lantinga beca4148 2023-05-19T14:26:37 Undo name change for the controller list (cherry picked from commit f60622c5103e37f221aa8252acfa9073cfbafbc7)
Sam Lantinga 43b12fd9 2023-05-19T14:22:35 Moved the controller list out so it can be included elsewhere (cherry picked from commit 24007b00b2a5e9d09d953db79a24dd51b78e598b)
Sam Lantinga e8ec8ba1 2023-04-27T17:10:44 Added support for the Astro C40 in Xbox 360 mode (cherry picked from commit a4b4dff4a2998699757f12d29fdd4c632db884fe)
Sam Lantinga d42c303b 2023-05-15T21:43:16 Check to make sure the Windows joystick device has buttons and axes This fixes incorrectly detecting the ROG CHAKRAM X mouse as a game controller on Windows 10 (cherry picked from commit 642504bc5993a6acd4d9c1d4c1314c6b1cf6e4e1)
Sam Lantinga f72213c4 2023-04-29T17:09:17 By default, OpenBSD uses Linux controller mappings Fixes https://github.com/libsdl-org/SDL/issues/7609 (cherry picked from commit 255c3b7c82968def667da860cbda01f267b4edf1)
Sam Lantinga 120bc77e 2023-04-19T13:10:39 Report PS3 accelerometer values in m/s2 instead of Gs (cherry picked from commit 0467301baf57389d96fafbe169fb07f4c10169bc)
Sam Lantinga 7ec9a438 2023-04-06T11:33:27 More defensive coding against dangling device pointers (cherry picked from commit acadb6f873acaa0de094ad10a88f877d540ce0ec)
Sam Lantinga cb0cf141 2023-04-06T09:54:04 The latest Armor-X Pro firmware update fixes the sign on the Z axis of the sensors (cherry picked from commit 558bbbb07ae0afa0108c1560915351cfa13442b7)
Sam Lantinga f6363fde 2023-04-05T11:23:28 Fixed crash if joystick->hwdata != NULL && device->driver == NULL This should never happen, but we're seeing it in the wild, so make sure that we can never call into a NULL device driver. (cherry picked from commit e13b74ccf0b20a20bd4baf1617bdc4f84c13feb7)
Ozkan Sezer f6339154 2023-04-05T02:10:56 fix build after commit 22685556e5d9fc2e2a7023075e51b69fe770e64a.
Sam Lantinga 22685556 2023-03-30T07:36:40 Don't probe for PlayStation controllers when we already know the controller type Fixes https://github.com/libsdl-org/SDL/issues/7556 (cherry picked from commit 655a07bdd88d6bd19fe97c3abd39a2e2eef252ec)
Sam Lantinga f444eac5 2023-03-30T07:25:49 Fixed analog triggers on the DualSense controller (cherry picked from commit a67d41050164e447048fa55179cc31b23be9d9b7)
Sam Lantinga c2ee45f5 2023-03-28T15:14:00 The Xinmotek Controller is used in multiple products with different mappings The mapping included here is for the Ultimate Atari Fight Stick (cherry picked from commit f1099f8e70a1284c2ee3031f2ea0cfc84f22110c)
Sam Lantinga 0bf63175 2023-03-28T14:44:28 Fixed gyro values for the Armor-X Pro controller (cherry picked from commit 8df7b4d8539338121b1e34e29f331b28f1f4ff05)
Sam Lantinga d043c853 2023-03-28T12:28:15 Fixed the accelerometer and gyro axes for the Armor-X Pro controller (cherry picked from commit 37517557ae076cd94acd9ca3b739e1f32c150a43)
Anonymous Maarten 1402d135 2023-03-18T20:34:38 video/blit: fix -Wimplicit-fallthrough warnings (cherry picked from commit f7961b7c9ad598b031cd033f19e93c6d882e8e41)
Sam Lantinga 8bfbda1e 2023-03-27T14:27:22 Fixed the accelerometer sensitivity for the Armor-X Pro controller (cherry picked from commit 8029a767eef4147c07cde965bd5a2d2e11e237ee)
Sam Lantinga 93c289b4 2023-03-27T14:21:05 Increased precision for PS4 sensor data conversion (cherry picked from commit 3340864786314d77e04a0dd2bf1ebffbc43bfc31)
Pierre Wendling ed5a343d 2023-03-27T11:51:19 SDL_hidapi_steam.c: Fix compilation under c2x. When N2935 is implemented, the enum breaks compilation. Use a #define of the SDL booleans instead. (cherry picked from commit 975039ce0d3587c42e11f2922240957fc8f74166)
Sam Lantinga b57a6a1a 2023-03-16T20:01:45 Added gamepad mapping for Flydigi Vader 2 with the latest firmware (6.0.4.9) (cherry picked from commit ed0937598e0a637a1033c90a1b31886537bb288c)
Sam Lantinga 57ae9f46 2023-03-13T19:56:42 Ignore the PS4 packet CRC if it's not being set correctly This fixes handling the 8BitDo SN30 Pro with the 2.00 firmware in PS4 mode Fixes https://github.com/libsdl-org/SDL/issues/7270 (cherry picked from commit 3951cae4a56fddcb42ce4141a6518c97fa9125cd)