Sam Lantinga
b271e92c6e
Added the ability to specify a gamepad type in the mapping
...
Also renamed most cases of SDL_GAMEPAD_TYPE_UNKNOWN to SDL_GAMEPAD_TYPE_STANDARD, and SDL_GetGamepadType() will return SDL_GAMEPAD_TYPE_UNKNOWN only if the gamepad is invalid.
2023-07-17 12:59:56 -07:00
Sam Lantinga
57820071a4
Added the ability to rename your controller
2023-07-16 15:57:32 -07:00
Sam Lantinga
08db0e8f64
Allow clicking on the gamepad image to bind elements
2023-07-16 15:57:32 -07:00
Sam Lantinga
8f21be87fc
Allow using A and B to navigate the controller binding flow
2023-07-16 15:57:32 -07:00
Sam Lantinga
f3fe579cf0
Sort the entries in the controller mapping
2023-07-16 15:57:32 -07:00
Sam Lantinga
787786bdbc
testcontroller: memory management cleanup
...
Also saved the guide button for last in the binding flow, since it may not be present on the controller or available from the OS
2023-07-16 15:57:32 -07:00
Ozkan Sezer
611b3dd1fd
remove unused vulkan/*.hpp files.
2023-07-17 00:10:50 +03:00
Anonymous Maarten
87ccb886fe
cmake: remove ability to build tests as a standalone project
2023-07-16 20:22:41 +02:00
Anonymous Maarten
80da0cf06d
cmake: convert bmp images to c headers using python script
...
A pure CMake script was too slow
2023-07-16 16:31:06 +02:00
SDL Wiki Bot
74612701bb
Sync SDL3 wiki -> header
2023-07-16 11:33:16 +00:00
Sam Lantinga
1a4995371b
Use light text for button labels so they show up well over the activity highlight
2023-07-16 04:32:12 -07:00
Sam Lantinga
ae0fce3f01
testcontroller: show face button labels over the activity highlight
2023-07-16 04:32:12 -07:00
Sam Lantinga
505a8dfb15
testcontroller replaces gamepadmap
2023-07-16 04:32:12 -07:00
Sam Lantinga
8296242f2e
We don't need to be verbose about gamepad events now that we can visualize them
2023-07-16 04:32:12 -07:00
Sam Lantinga
d90b938f0f
Additional work on binding mode for testcontroller
2023-07-16 04:32:12 -07:00
Sam Lantinga
5388edd549
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.
2023-07-16 04:32:12 -07:00
Sam Lantinga
57cfd1e106
Removed SDL_GAMEPAD_TYPE_VIRTUAL, SDL_GAMEPAD_TYPE_AMAZON_LUNA, SDL_GAMEPAD_TYPE_GOOGLE_STADIA, and SDL_GAMEPAD_TYPE_NVIDIA_SHIELD
...
Removing SDL_GAMEPAD_TYPE_VIRTUAL allows a virtual controller to emulate another gamepad type. The other controller types can be treated as generic controllers by applications without special glyph or functionality treatment.
2023-07-16 04:32:12 -07:00
Sam Lantinga
689555a400
Added gamepad BMP files used as sources for the header files
2023-07-16 04:32:12 -07:00
Sam Lantinga
404e030b39
Added binding mode to testcontroller
2023-07-16 04:32:12 -07:00
Sam Lantinga
6c2472d459
Relicensed testutils to match other test code
...
Permission granted in 76a7b629bf (commitcomment-121408342)
2023-07-16 04:32:12 -07:00
Sam Lantinga
cd99ae47ef
Improved button labels, based on controller style
2023-07-16 04:32:12 -07:00
Sam Lantinga
ee34805053
Added ABXY button labels to the gamepad image
2023-07-16 04:32:12 -07:00
Sam Lantinga
e674d81844
Show the gamepad bindings in testcontroller
2023-07-16 04:32:12 -07:00
Sam Lantinga
538292c1da
Revert "More than one binding might trigger a gamepad button"
...
This reverts commit 6251504ac8aeb632cba5c9bb3502ad3628bc1bb3.
This is added CPU cost for a use case that was never supported. testcontroller will explicitly clear any previous binding, so I'm backing this out until there is a good use case.
2023-07-16 04:32:12 -07:00
Sam Lantinga
0bcd9944a3
More than one binding might trigger a gamepad button
2023-07-16 04:32:12 -07:00
Sam Lantinga
b40fb5c51e
Fixed getting the CRC of virtual joysticks without a VID/PID
2023-07-16 04:32:12 -07:00
Sam Lantinga
f3d6320bac
Added SDL_strndup()
2023-07-16 04:32:12 -07:00
Sam Lantinga
8cc3783e75
Remove extra spaces in stripped tokens
2023-07-16 04:32:12 -07:00
Sam Lantinga
a1615dea85
Added SDL_SetGamepadMapping() to set the mapping for a specific device
2023-07-16 04:32:12 -07:00
Sam Lantinga
eb0955ef89
Removed SDL_GamepadBinding from the API
...
The text format is more expressive and widely used than the binary structure
2023-07-16 04:32:12 -07:00
Sam Lantinga
ca492dff18
Renamed testgamepad to testcontroller
...
The program does more than just test gamepads, and will eventually map them as well.
2023-07-16 04:32:12 -07:00
Sam Lantinga
d2d26c7b1e
testgamepad replaces testjoystick
2023-07-16 04:32:12 -07:00
Sam Lantinga
34876c390f
testgamepad works for joysticks as well as gamepads
2023-07-16 04:32:12 -07:00
Anonymous Maarten
eda2824e6f
ci: move 'set -eu' to after source_cmd
2023-07-14 15:00:52 +02:00
Ryan C. Gordon
cf46467a42
pulseaudio: Some fixes that seem to avoid an assertion in libpulse.
...
- Make sure the hotplug thread has hit its main loop before letting
DetectDevices continue.
- Don't unref the context subscription operation until it completes
(or we are shutting down).
I'm not sure which change fixed the problem, but at least one of them
appears to have done so.
Reference Issue #7971 .
(cherry picked from commit b9d16dac4ec60a76099865bbb8ed7fe5909054de)
2023-07-12 23:35:51 -04:00
Ozkan Sezer
133482a2c0
pulseaudio: eliminate <pulse/simple.h> include.
...
(cherry picked from commit 776a5e0d25c641db60bb902c5c346e6c1d075d10)
2023-07-13 01:55:24 +03:00
Sam Lantinga
c45a0cd9b3
Don't divide by the scale twice
...
It's already been done in GetUIScreenModeSize(), in the last commit
2023-07-12 15:34:10 -07:00
Ryan C. Gordon
6aef14fb2d
pulseaudio: We should be using libpulse, not libpulse-simple.
...
This probably worked by a quirk of the dynamic loader...?
2023-07-12 16:40:42 -04:00
Ryan C. Gordon
6fd0613ac8
pulseaudio: Require PulseAudio 5.0 or later for SDL3.
2023-07-12 16:34:55 -04:00
Ryan C. Gordon
9ebf0ed781
pulseaudio: fix WaitForPulseOperation blocking longer than necessary.
...
Now the operation state change we're waiting on will signal the
threaded mainloop, so this doesn't wait longer than necessary.
This requires PulseAudio 4.0 or later, so don't merge this into SDL2,
which requires PulseAudio 0.9.15.
Fixes #7971 .
2023-07-12 16:09:33 -04:00
Ryan C. Gordon
956b18f50c
pulseaudio: don't wait on pa_context_subscribe in hotplug thread.
...
This risks blocking the thread if disaster ensues, and we can wait in the
thread's main loop for subscription as well anywhere else.
Reference Issue #7971 .
2023-07-12 16:00:13 -04:00
Ozkan Sezer
b3861650d3
need pulseaudio >=0.9.15. call pa_threaded_mainloop_set_name only if available.
2023-07-12 21:39:04 +03:00
Sam Lantinga
1903d7b1bf
RAWINPUT_RegisterNotifications() should return int, for consistency
2023-07-11 10:50:43 -07:00
Sam Lantinga
fdff3b16d6
Fixed build
2023-07-11 10:44:57 -07:00
Sam Lantinga
45cd4b8038
Added button background
2023-07-11 10:26:22 -07:00
Sam Lantinga
4feb2f4b1a
Added a button to copy the gamepad mapping to the clipboard
2023-07-11 10:20:08 -07:00
Sam Lantinga
4f122c6e39
Removed test binding for space key
...
This pops up at the most inconvenient times, and space is handy for other functions in various test programs.
2023-07-11 10:20:08 -07:00
Sam Lantinga
41882a1acb
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.
2023-07-11 10:20:08 -07:00
Sam Lantinga
dfc5e6964e
Fixed crash if RAWINPUT is not initialized
...
We shouldn't be doing any of this work in that case
2023-07-11 10:20:08 -07:00
Sam Lantinga
2e3404db01
Added SDL_GetGamepadPowerLevel() to get the power level directly from a gamepad
2023-07-11 10:20:08 -07:00