Commit graph

534 commits

Author SHA1 Message Date
Jordan Woyak
633fd5df70
Merge pull request #13775 from jordan-woyak/sdl-gamepad-rename
InputCommon: Rename SDL input backend GameController to Gamepad.
2025-07-12 16:50:04 -05:00
Joshua Vandaële
06882bd2dc
Fix various warnings 2025-07-12 12:47:30 +02:00
Jordan Woyak
609d91156a InputCommon: Rename SDL input backend GameController to Gamepad. 2025-06-25 00:23:48 -05:00
JMC47
43aa7e9b96
Merge pull request #13694 from jordan-woyak/sdl3
Update to SDL3
2025-06-24 18:59:48 -04:00
Jordan Woyak
6a0963908d DolphinQt: Make Calibration autocomplete when data is "sensible" and stick is returned to neutral position. 2025-06-24 02:18:25 -05:00
Jordan Woyak
83beebaf8b DolphinQt/InputCommon: Move some calibration logic to InputCommon and make the "Calibrate" button also map inputs. 2025-06-14 16:29:25 -05:00
Jordan Woyak
0780458069 InputCommon: Make InputDetector::Start take a span instead of a vector. 2025-06-14 16:28:09 -05:00
Jordan Woyak
11c3f7ea8d InputCommon: Fix occasional misidentification of analog input detection. 2025-06-14 16:28:09 -05:00
Dr. Dystopia
ca8f9b672b Source: Remove redundant lambda parameter lists 2025-06-14 10:19:31 +02:00
Jordan Woyak
65f3ba70f5
Merge pull request #13522 from tygyh/Enforce-overriding-destructor-style-Core&UnitTests
Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-06-07 17:55:14 -05:00
Jordan Woyak
6da3f5f26a InputCommon: Update to use SDL3 and bump the SDL submodule in Externals to release-3.2.16. 2025-06-07 16:27:54 -05:00
Dentomologist
77744169be SDL: Check if touchpad exists before getting input
Verify a touchpad is present before polling it for input. Without this
check the Debug log is spammed with the message "error: Parameter
'touchpad' is invalid" if you have a controller without a touchpad.

One would think every touchpad supports at least 1 finger, but in case
there's some weird edge case check the finger count to be sure.
2025-05-02 17:21:42 -07:00
Dr. Dystopia
f240e20e3f Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core & UnitTests 2025-05-01 15:00:37 +02:00
OatmealDome
0b0151770a
Merge pull request #13436 from JoshuaVandaele/clang-format-19
Update clang-format to version 19
2025-04-30 01:17:31 -04:00
Joshua Vandaële
2c54ee94c1
linter: Apply clang-format 19.1 formatting
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
2025-04-23 11:19:20 +02:00
Jordan Woyak
17c994df2a InputCommon: Move SDL Device class into its own cpp/h files. 2025-03-30 23:23:06 -05:00
JMC47
7d794897c4
Merge pull request #13434 from JosJuice/android-non-blocking-input-detection
Android: Don't use separate thread for MotionAlertDialog
2025-03-28 18:25:04 -04:00
JosJuice
516c1314d2 Android: Don't use separate thread for MotionAlertDialog
This is an Android continuation of bc95c00. We now call
InputDetector::Update immediately after receiving an input event from
Android instead of periodically calling it in a sleep loop. This
improves detection of very short inputs, which are especially likely to
occur for volume buttons on phones (or at least on my phone) if you
don't intentionally keep them held down.
2025-03-23 21:39:04 +01:00
JMC47
ad3650abfc
Merge pull request #13093 from mitaclaw/ranges-modernization-4-projection
Ranges Algorithms Modernization - Projection
2025-03-23 15:56:13 -04:00
JMC47
9f43f59c9b
Merge pull request #13276 from JoshuaVandaele/sfml-3.0.0
Migrate to SFML 3.0.0
2025-03-10 15:03:36 -04:00
mitaclaw
c9f589faa5 Modernize std::stable_sort with ranges and projections 2025-03-09 13:26:38 -07:00
Jordan Woyak
e217d6c939 InputCommon: Use Clock from CommonTypes. 2025-03-02 15:42:26 -06:00
Joshua Vandaële
0a83783fae
Migrate to SFML>=3.0.0 2025-02-25 06:42:13 +01:00
Jordan Woyak
6e7e808b66 DolphinQt/Mapping: Add setting to enable waiting for alternate mappings
using the OR-operator.
2025-02-01 01:54:10 -06:00
Jordan Woyak
8354279aae InputCommon: Add support for SDL gamecontroller rumble triggers. 2025-01-21 21:09:39 -06:00
Jordan Woyak
fb512adc5f InputCommon: Make SDL Motor L/R Outputs not fight each other. 2025-01-21 19:19:01 -06:00
Jordan Woyak
bc95c001c8 InputCommon: Move input mapping function into a class for non-blocking usage. 2025-01-01 16:48:32 -06:00
mitaclaw
110d32729e Simplify std::find with Common::Contains
In NandPaths.cpp, the `std::initializer_list<char>` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp).

The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
2025-01-01 09:52:03 -08:00
JMC47
532a8621da
Merge pull request #13116 from mitaclaw/ranges-modernization-8-trivial-of
Ranges Algorithms Modernization - Of
2024-12-26 16:51:53 -05:00
JMC47
1ba8541da9
Merge pull request #13091 from mitaclaw/ranges-modernization-2-returns
Ranges Algorithms Modernization - Return
2024-12-20 12:50:19 -05:00
mitaclaw
140252ffc0 Modernize std::any_of with ranges
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
2024-12-15 19:54:16 -08:00
mitaclaw
860e6cf5cb Modernize std::all_of with ranges
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed.

In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
2024-12-15 19:50:34 -08:00
Jordan Woyak
ad1511982a InputCommon/SDL: Add touchpad inputs. 2024-12-04 21:08:18 -06:00
JMC47
8c3b9c9cf6
Merge pull request #13174 from jordan-woyak/sdl-battery
ControllerInterface/SDL: Add Battery Input.
2024-12-04 21:46:07 -05:00
JosJuice
0f2c2c7ae0
Merge pull request #13156 from jordan-woyak/sdl-no-wgi
ControllerInterface/SDL: Disable SDL's Windows.Gaming.Input controller handling.
2024-11-17 21:51:56 +01:00
Jordan Woyak
83ed817ad2 ControllerInterface/SDL: Add Battery Input. 2024-11-04 22:24:42 -06:00
Jordan Woyak
346a9e0f97 InputCommon: Move FullAnalogSurface class definition out of header file. 2024-11-03 15:06:50 -06:00
Jordan Woyak
2f1390e9f9 InputCommon: Rename AddAnalogInputs to AddFullAnalogSurfaceInputs. 2024-11-03 15:06:50 -06:00
dreamsyntax
2f38a00534 InputCommon: Disable DualSense Player LED 2024-11-02 16:49:36 -07:00
Jordan Woyak
d361d4ba6e ControllerInterface/SDL: Fix device removal event processing. 2024-10-31 14:11:27 -05:00
Jordan Woyak
19c3b88e5a ControllerInterface/SDL: Disable SDL's Windows.Gaming.Input controller handling. 2024-10-30 17:41:09 -05:00
mitaclaw
5f3a8ff0de Modernize std::unique with ranges
The new return value is `std::ranges::subrange`.
2024-10-17 18:39:12 -07:00
JosJuice
07605bf67c
Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivial
Ranges Algorithms Modernization - Trivial
2024-10-15 17:08:55 +02:00
mitaclaw
e8d5fb89e4 C++20: Synthesize operator!= From operator==
The inequality operator is automatically generated by the compiler if `operator==` is defined.
2024-10-10 20:23:55 -07:00
mitaclaw
ebf7cebc32 Modernize std::sort with ranges 2024-10-10 00:53:48 -07:00
mitaclaw
9bd1dae41d Modernize std::fill with ranges
In DSPCore.cpp, there were two `std::fill` uses that could be simplified using `std::fill_n`. Due to their proximity with other `std::fill` algorithms being modernized with ranges, I chose to make these examples into the rare `std::ranges::fill_n`.
2024-10-10 00:53:48 -07:00
mitaclaw
4cc5e1972a Modernize std::count_if with ranges 2024-10-10 00:53:48 -07:00
mitaclaw
5f90673686 StringUtil: Remove JoinStrings
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
2024-09-22 21:09:36 -07:00
Dr. Dystopia
9602f36248 Remove redundant semicolons 2024-08-20 14:59:54 +02:00
mitaclaw
de1c47a701 Misc. Container Find Changes 2024-08-15 14:25:51 -07:00