Sam Lantinga
673bc57649
Don't accept official mappings for controllers that aren't unique
...
For example, the DragonRise Inc. Generic USB Joystick
See https://github.com/gabomdq/SDL_GameControllerDB/issues/202 for details
2023-02-02 08:39:54 -08:00
Sam Lantinga
917607c335
Fixed sort_controllers.py and resorted game controller database
2023-02-02 08:38:22 -08:00
Sam Lantinga
d29e1f3632
Added gamepad mappings for the Xin-Mo Dual Arcade Fightstick
2023-02-01 23:09:53 -08:00
Sam Lantinga
c5f570b30b
Make sure count is 0 in out of memory conditions
...
This prevents a crash if the caller assumes that they can always dereference the returned pointer if there is a non-zero count.
2023-01-31 10:04:51 -08:00
Sam Lantinga
a06a593aa6
Renamed SDL_GetGamepadNumTouchpads and SDL_GetGamepadNumTouchpadFingers to match the new convention
2023-01-24 13:47:30 -08:00
Sam Lantinga
7b50bae524
Renamed SDL events for clarity
...
Fixes https://github.com/libsdl-org/SDL/issues/6877
2023-01-24 07:26:48 -08:00
Sam Lantinga
c4db0725e4
Enable paddles on the Xbox Elite controller when connected over USB
2023-01-20 09:31:22 -08:00
Sam Lantinga
decbbb0499
Updated API for SDL_JoystickID sign change
2023-01-13 14:20:59 -08:00
happyharryh
57e78f4cf5
Fixed the hat_map to avoid segmentation fault
2023-01-12 06:55:35 -08:00
Ozkan Sezer
30516fd3a6
joystick/vita: add some sanity check to SDL_GetJoystickInstanceID result
...
Reference issue: https://github.com/libsdl-org/SDL/issues/7051
2023-01-11 21:56:50 +03:00
Ozkan Sezer
f046788a5a
joystick/vita: fix index value use returned by SDL_GetJoystickInstanceID
...
Reference issue: https://github.com/libsdl-org/SDL/issues/7051
2023-01-11 21:56:50 +03:00
Ozkan Sezer
0621a67350
fix SDL_GetJoystickInstanceID() return code upon failure
...
Reference issue: https://github.com/libsdl-org/SDL/issues/7051
2023-01-11 21:56:50 +03:00
Narr the Reg
9fa55d9cab
hidapi: switch: Add user calibration support
2023-01-09 18:07:54 -08:00
Sam Lantinga
fde78d12f2
Updated copyright for 2023
2023-01-09 09:41:41 -08:00
Sam Lantinga
c663e6d568
Revert "Always allow controller events for virtual joysticks regardless of focus state"
...
This reverts commit d94f2a9ee5 .
Rather than changing behavior, we'll set SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS in the joystick tests
2023-01-09 09:05:40 -08:00
Sam Lantinga
d94f2a9ee5
Always allow controller events for virtual joysticks regardless of focus state
...
Refrence https://github.com/libsdl-org/SDL/pull/7024
2023-01-08 10:48:46 -08:00
Sam Lantinga
ac99db9fc8
Fixed infinite loop shutting down WGI controllers
...
We are guaranteed that the lock will be held during shutdown, so if we are in InvokeRemoved(), it's because we're shutting down controllers and need to remove them from our internal list.
Fixes https://github.com/libsdl-org/SDL/issues/7016
2023-01-08 09:35:17 -08:00
Sam Lantinga
4f978456a8
Renamed SDL_GAMEPADDEVICEREMAPPED to SDL_GAMEPADREMAPPED
2023-01-04 14:32:37 -08:00
Sam Lantinga
c823f26f18
Revert "Removed public joystick locking API"
...
This reverts commit a515f51ac0 .
We still need joystick locking to protect the gamepad mappings
2023-01-04 13:51:40 -08:00
Sam Lantinga
aaaf7423ac
Fixed build
2023-01-03 16:17:10 -08:00
Sam Lantinga
32c077216c
Fixed warnings
2023-01-03 15:59:35 -08:00
Sam Lantinga
49af0d1b89
Fixed build
2023-01-03 15:35:18 -08:00
Sam Lantinga
e85839cd56
Fixed line wrapping for HID packet dump
2023-01-03 15:12:47 -08:00
Sam Lantinga
dacdb1c310
Added support for the ThrustMaster eSwap PRO Controller Xbox
2023-01-03 15:12:18 -08:00
Mathieu Eyraud
fa5475ba9f
Fix joystick instance id check
2023-01-02 09:04:18 -08:00
Mathieu Eyraud
ea6f0ae683
Fix use after free in SDL_GetGamepads
2023-01-02 09:03:49 -08:00
Sam Lantinga
a515f51ac0
Removed public joystick locking API
...
All joystick functions are thread-safe and you can now get an atomic list of joysticks with SDL_GetJoysticks()
Fixes https://github.com/libsdl-org/SDL/issues/6956
2022-12-31 09:24:14 -08:00
Sam Lantinga
324c0b76a0
Removed SDL_HasGamepads(), SDL_HasJoysticks(), and SDL_HasSensors()
...
Also cleaned up logic for whether we need to poll for events:
- We need to periodically poll for joysticks to handle hotplug.
- We need to frequently poll for joysticks and sensors when they're open so their state can be updated
2022-12-29 23:20:26 -08:00
Sam Lantinga
cefbeb582f
Mouse coordinates are floating point
...
You can get sub-pixel mouse coordinates and motion depending on the platform and display scaling.
Fixes https://github.com/libsdl-org/SDL/issues/2999
2022-12-29 23:12:19 -08:00
Sylvain Becker
d7d3c22dbf
Remove more reserved identifiers ( #6925 )
2022-12-29 13:58:16 -08:00
Sam Lantinga
ea0c2f55be
SDL API renaming: *Is* functions
...
Feedback from @icculus:
"IsTablet" uses "is" as a form of "to be" ...like, the actual question is of its nature.
The rest is just a superfluous word in the question and it flows as better English with if (RectEmpty) than if (IsRectEmpty)
Fixes https://github.com/libsdl-org/SDL/issues/6932
2022-12-28 19:40:25 -08:00
Sam Lantinga
66351fd4ba
Replace tri-state functions SDL_EventState(), SDL_GetJoystickEventState(), SDL_GetGamepadEventState(), SDL_ShowCursor()
...
`SDL_QUERY`, `SDL_IGNORE`, `SDL_ENABLE`, and `SDL_DISABLE` have been removed.
SDL_EventState() has been replaced with SDL_SetEventEnabled()
SDL_GetEventState() has been replaced with SDL_EventEnabled()
SDL_GameControllerEventState has been replaced with SDL_SetGamepadEventsEnabled() and SDL_GamepadEventsEnabled()
SDL_JoystickEventState has been replaced with SDL_SetJoystickEventsEnabled() and SDL_JoystickEventsEnabled()
SDL_ShowCursor() has been split into three functions: SDL_ShowCursor(), SDL_HideCursor(), and SDL_CursorVisible()
Fixes https://github.com/libsdl-org/SDL/issues/6929
2022-12-28 17:49:34 -08:00
Sam Lantinga
16092f58bb
Updated gamepad, joystick, sensor APIs, removing device indices
...
Instead of indexing into an internal list of devices which requires locking, we return a list of device IDs which can then be queried individually.
Reference: https://github.com/libsdl-org/SDL/issues/6889
2022-12-28 13:10:27 -08:00
Sam Lantinga
e40a96155f
Fixed getting the VID/PID of a virtual joystick
2022-12-28 12:51:54 -08:00
Sam Lantinga
36d4395c97
SDL API renaming: internal functions
2022-12-27 15:05:51 -08:00
Sam Lantinga
3db9112ef4
Make sure we match the same way when adding a mapping and looking up a mapping
...
Fixes https://github.com/libsdl-org/SDL/issues/6898
2022-12-27 12:16:46 -08:00
Sylvain
81cd84f456
Remove reserved underscore SDL_joystick
2022-12-27 11:34:13 -08:00
Sam Lantinga
ab2d007982
More gamepad renaming
2022-12-27 11:31:54 -08:00
Sam Lantinga
a28d1d59be
More gamepad renaming
2022-12-27 10:42:45 -08:00
Sam Lantinga
701e965235
Removed leading underscore in structure names
...
Fixes https://github.com/libsdl-org/SDL/issues/6856
Closes https://github.com/libsdl-org/SDL/pull/6914
Closes https://github.com/libsdl-org/SDL/pull/6915
Closes https://github.com/libsdl-org/SDL/pull/6916
Closes https://github.com/libsdl-org/SDL/pull/6917
Closes https://github.com/libsdl-org/SDL/pull/6918
Closes https://github.com/libsdl-org/SDL/pull/6919
2022-12-27 10:35:53 -08:00
Sam Lantinga
ad8a6d2b05
Split SDL gamepad internal functions into SDL_gamepad_c.h
2022-12-27 10:23:28 -08:00
Sam Lantinga
659abc721a
SDL API renaming: SDL_gamecontroller.h
...
SDL_gamecontroller.h has been renamed SDL_gamepad.h, and all APIs have been renamed to match.
Fixes https://github.com/libsdl-org/SDL/issues/6885
2022-12-27 09:47:24 -08:00
Sam Lantinga
fc478c1bc0
SDL API renaming: SDL_joystick.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6881
2022-12-27 05:50:46 -08:00
Sam Lantinga
63724c113b
Removed the vi format comments from the source
...
Vim users can use the [editorconfig plugin](https://github.com/editorconfig/editorconfig-vim ) to automatically set tab spacing for the SDL coding style.
Fixes https://github.com/libsdl-org/SDL/issues/6903
2022-12-26 11:17:23 -08:00
Sam Lantinga
83b29f9ce1
Don't send Razer devices the Sony third-party query feature report
...
Some of them lock up or reset, and the vast majority of devices are not actually game controllers.
Fixes https://github.com/libsdl-org/SDL/issues/6733
2022-12-19 09:14:55 -08:00
Sam Lantinga
9c9e6e3aa3
Fixed compiler warning
...
```
./src/joystick/SDL_joystick.c:105:12: warning: no previous extern declaration for non-static variable 'SDL_joystick_lock' [-Wmissing-variable-declarations]
SDL_mutex *SDL_joystick_lock = NULL; /* This needs to support recursive locks */
^
./src/joystick/SDL_joystick.c:105:1: note: declare 'static' if the variable is not intended to be used outside of this translation unit
SDL_mutex *SDL_joystick_lock = NULL; /* This needs to support recursive locks */
^
```
1 warning generated.
(cherry picked from commit 3b0cd44158 )
2022-12-17 06:54:33 -08:00
Sam Lantinga
6570febd47
Sorted PS4 controllers, note that the NACON Wireless Controller for PS4 actually reports as an XInput device
...
(cherry picked from commit a53382e460 )
2022-12-15 18:02:24 -08:00
Sam Lantinga
0da118ce45
Note that the NACON Daija Arcade Stick is an arcade stick
...
(cherry picked from commit e99b9ca9c0 )
2022-12-15 18:02:15 -08:00
Sam Lantinga
980208b814
Fixed crash in SDL_PrivateGameControllerRefreshMapping()
...
(cherry picked from commit 7a9966af9d )
2022-12-14 20:24:14 -08:00
Ryan C. Gordon
72c1f73bc5
rwops: Make read and write work like POSIX, not stdio.
...
This simplifies some things, clarifies some things, and also allows
for the possibility of RWops that offer non-blocking i/o (although
none of the current built-in ones do, intentionally, we could add this
later if we choose, or people could provide things like network socket
RWops implementations now, etc.
Fixes #6729 .
2022-12-14 15:47:13 -05:00