CostPerUnit
a5b4a0b9e4
InputCommon/DolphinQt: Add advanced settings button for "Point" and "Point (Passthrough)" "Enabled" checkboxes.
2025-05-29 19:39:10 -05:00
Jordan Woyak
5a80105555
Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer.
2025-05-03 18:32:30 -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
Tilka
fe307a06c6
Merge pull request #13476 from jordan-woyak/sdl-header
...
InputCommon: Move SDL Device class into its own cpp/h files.
2025-04-25 01:49:52 +01: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
87beb7d67b
InputCommon: Activate IMU Accelerometer and Gyroscope when any direction has a bound input.
2025-04-10 15:55:49 -05: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
2da255d8cd
Merge pull request #13311 from iwubcode/dynamic_input_textures_reduce_image_writes
...
Core / DolphinQt / InputCommon: reduce the number disk writes when using DynamicInputTextures
2025-03-23 15:12:28 -04:00
iwubcode
d03f9032c1
Core / DolphinQt / InputCommon: reduce the number disk writes when using DynamicInputTextures
2025-03-22 14:53:02 -05:00
Jordan Woyak
ddb82a5e8c
InputCommon/ControllerEmu: Break out functionality of EmulatedController
...
to eliminate redundant unused members in Wii Remote extension objects.
2025-03-15 14:30:43 -05:00
JMC47
189d09011b
Merge pull request #13363 from JoshuaVandaele/nowarnings
...
Fix multiple minor warnings
2025-03-10 15:04:14 -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
Joshua Vandaële
5b4d4ca5eb
Fix multiple minor warnings
...
- ExpressionParser.cpp: `-Wmissing-declarations`
- AchievementManager.cpp: `-Wsign-compare`
- SI.cpp: `-Warray-bounds=`
- NetPlayClient.cpp: `-Wdangling-reference`
2025-02-21 19:17:29 +01:00
JMC47
a8fae9b826
Merge pull request #13320 from jordan-woyak/detect-alternations
...
DolphinQt/Mapping: Add setting to enable waiting for alternate mappings.
2025-02-15 12:59:23 -05:00
OatmealDome
c770e7c276
Merge pull request #13318 from sanjay900/dont-detach-macos
...
LibusbDevice: Don't detach kernel drivers on macOS
2025-02-08 01:01:58 -05:00
Jordan Woyak
cdabd651aa
InputCommon/ExpressionParser: Add compound assignment operators.
2025-02-02 14:37:11 -06:00
Admiral H. Curtiss
77056ba7b7
Merge pull request #13208 from Dentomologist/wiitasinputwindow_update_on_attachment_change
...
WiiTASInputWindow: Update controls when attachment changes
2025-02-02 18:02:58 +01:00
Admiral H. Curtiss
9ff833e2f4
Merge pull request #13315 from jordan-woyak/func-exp-cleanup
...
InputCommon/ExpressionParser: Function argument parsing minor cleanup.
2025-02-02 17:23:13 +01:00
Admiral H. Curtiss
04775b6ef8
Merge pull request #13314 from jordan-woyak/input-expressions-assignment-op-fix
...
InputCommon: Fix input expression assignment operator behavior.
2025-02-02 17:22:25 +01:00
JMC47
8291cff46d
Merge pull request #13280 from jordan-woyak/input-expressions-highlighting
...
InputCommon/DolphinQt: Fix sometimes broken syntax highlighting in IOWindow.
2025-02-02 02:01:34 -05: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
Sanjay Govind
10e044872d
LibusbDevice: Don't detach kernel drivers on macOS
2025-02-01 10:32:20 +13:00
Jordan Woyak
67b8100cd2
InputCommon/ExpressionParser: Make ValidateArguments access existing
...
members instead of passing arguments.
2025-01-28 20:15:45 -06:00
Jordan Woyak
e4b464e727
InputCommon/ExpressionParser: Make function argument parsing error
...
message more clear.
2025-01-28 20:13:06 -06:00
Jordan Woyak
c9ad5430d0
InputCommon: Fix input expression assignment operator behavior.
2025-01-28 14:32:39 -06:00
Admiral H. Curtiss
0b7f9541d0
Merge pull request #13304 from JoshuaVandaele/argsegfault
...
Fix segfault when passing invalid arguments
2025-01-28 19:27:23 +01:00
JMC47
e18a4d04b4
Merge pull request #13178 from jordan-woyak/input-expressions-conditional-op
...
InputCommon: Add ternary conditional operator to input expressions.
2025-01-27 21:16:29 -05:00
Joshua Vandaële
f1f147965b
Fix segfault when passing invalid arguments
2025-01-24 20:52:33 +01: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
78bb30d44c
InputCommon/ExpressionParser: Require delimited tokens actually have their terminating delimiter.
2025-01-19 17:20:07 -06:00
Dentomologist
fb3a727fcc
WiiTASInputWindow: Update controls when attachment changes
...
Change the displayed controls in the TAS Input window when the
controller's extension (including MotionPlus) is changed.
This previously required restarting Dolphin after the attachment was
changed, as the controls were never updated after the WiiTASInputWindow
was created at Dolphin startup.
2025-01-18 14:15:20 -08:00
Jordan Woyak
a618854413
ExpressionParser: Remove RemoveInertTokens.
2025-01-17 02:31:33 -06:00
Jordan Woyak
c94ec85460
InputCommon: Make input expression multiline-comment tokenizing less hacky.
2025-01-17 02:29:23 -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
2b0cd16c8c
Modernize std::none_of with ranges
...
In JitRegCache.cpp, the lambda predicate were replaced by a pointer to member function because ranges algorithms are able to 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.
In BoundingBox.cpp, the lambda predicate was returning the bool element unchanged, so `std::identity` was a better fit.
2024-12-15 19:54:17 -08: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
74ed5e5532
Android/GCAdapter: Don't join current thread
...
The read thread could call Reset, which in turn tried to join the read
thread, leading to a SIGABRT. This manifested as Dolphin consistently
crashing when disconnecting a GC adapter and having a chance of crashing
a few seconds after connecting a GC adapter.
2024-12-01 12:59:25 +01: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
5078a63084
InputCommon: Add ternary conditional operator to input expressions.
2024-11-07 08:31:25 -06:00
Jordan Woyak
649e49c9e2
ControllerEmu: Remove nunchuk stick data hax.
2024-11-05 19:22:30 -06: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
JMC47
96c9591b99
Merge pull request #13096 from mitaclaw/ranges-modernization-7-rewrite
...
Ranges Algorithms Modernization - Rewrite
2024-10-27 19:17:01 -04: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
Jordan Woyak
ccdce615ec
ControllerEmu: Change trigger threshold check to >= instead of > and set minimum threshold in UI to 1% to prevent user error.
2024-10-11 19:38:38 -05: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
88a1a5b4f2
Modernize std::set_intersection with ranges
2024-10-10 00:53:48 -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
249defa72b
Modernize std::equal with ranges
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
e6f93efac4
Simplify std::transform with std::ranges::transform_view
2024-10-09 17:26:10 -07:00
mitaclaw
809766a439
Simplify std::fill with std::array::fill
2024-10-09 17:26:10 -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
mitaclaw
9fa4eb9aab
Use 'contains' method
2024-08-15 14:20:16 -07:00
Dr. Dystopia
618b41a459
Use 'contains' method
2024-08-14 22:18:28 +02:00
Tilka
603c8fad85
Merge pull request #12961 from JosJuice/expression-parser-translation
...
InputCommon: Translate ExpressionParser error messages
2024-08-07 03:28:48 +01:00
JosJuice
defc38b258
InputCommon: Translate ExpressionParser error messages
...
The _trans macro marks strings for translation but doesn't do anything
at runtime. For that, we need to use a function like GetStringT.
2024-07-28 12:09:15 +02:00
Dentomologist
d627b78c46
Adjust order and spacing of various #includes
...
Move some #includes around to match the Contributing guidelines.
2024-07-26 14:28:34 -07:00
Tillmann Karras
982893b04c
Use C++20 erase_if() instead of erase(remove_if()) (NFC)
2024-07-21 16:36:06 +01:00
Admiral H. Curtiss
ed4a09fa56
Merge pull request #12850 from jordan-woyak/device-sorting
...
ControllerInterface: Adjust sort priorities to ensure default keyboard-mouse device is first.
2024-06-15 21:12:08 +02:00
Jordan Woyak
42e73547eb
ControllerInterface: Adjust sort priorities to ensure default keyboard-mouse device is first.
2024-06-15 12:41:25 -05:00
Admiral H. Curtiss
a95c3dbc97
Merge pull request #12818 from iwubcode/json_file_operations
...
Common: add Json helper utilities for loading or saving to a file
2024-06-15 16:43:38 +02:00
iwubcode
50b95bbea9
InputCommon / VideoCommon: update to use new JsonFromFile function
2024-05-31 23:13:25 -05:00
Dentomologist
c3bdd05d2a
TAS Input: Enable hotkeys and controller input when Input has focus
...
Enable emulator hotkeys and controller input (when that option is
enabled) when a TAS Input window has focus, as if it was the render
window instead. This allows TASers to use frame advance and the like
without having to switch the focused window or disabling Hotkeys Require
Window Focus which also picks up keypresses while other apps are active.
Cursor updates are disabled when the TAS Input window has focus, as
otherwise the Wii IR widget (and anything else controlled by the mouse)
becomes unusable. The cursor continues to work normally when the render
window has focus.
2024-05-31 15:14:44 -07:00
Admiral H. Curtiss
321dc9b76d
Merge pull request #12711 from jordan-woyak/modifier-range-ini-default
...
InputCommon: Fix unnecessary "Modifier/Range" ini file entries.
2024-05-21 22:11:42 +02:00
Guilherme Janczak
50dc0ffbce
port to OpenBSD
2024-04-22 20:50:47 +00:00
Jordan Woyak
47b06d274e
InputCommon: Fix unnecessary "Modifier/Range" ini file entries.
2024-04-15 18:32:31 -05:00
Jordan Woyak
31dc3477ad
DolphinQt/Mapping: Disable relative input when "Mouse Controlled Pointing" button is pressed.
2024-04-15 14:52:26 -05:00
JosJuice
5456d990d1
Android/ControllerInterface: Run the init code
...
This was broken by a9a9fdd9e9 . Because Init didn't run, the Android
input backend would crash whenever it tried to call into JVM code.
2024-04-13 22:39:10 +02:00
Tilka
e62d8ecfa8
Merge pull request #12632 from jordan-woyak/input-backend-impls
...
Implement missing InputBackend classes.
2024-04-13 11:56:27 +01:00
Jordan Woyak
e9fe0d3d5b
NumericSetting: Stop values from binding to numbered input names.
2024-04-12 15:54:18 -05:00
Jordan Woyak
5039072ae9
ExpressionParser: Support unary plus operator.
2024-04-12 15:52:35 -05:00
mitaclaw
eb92d6f0a8
Core::GetState: Avoid Global System Accessor
2024-04-08 16:23:23 -07:00
Tillmann Karras
d1db347c8a
evdev: close file descriptors in a separate thread
...
For some reason Linux is surprisingly slow at closing file descriptors
of event devices. This commit improves GUI startup times on my computer
by about 1.5 seconds.
2024-04-06 20:58:17 +01:00
OatmealDome
4421cc471d
Merge pull request #12631 from jordan-woyak/remove-osx-input-leftovers
...
InputCommon: Remove some IOKit leftovers.
2024-04-01 17:05:13 -04:00
Admiral H. Curtiss
6e5f8d6692
Merge pull request #12640 from jordan-woyak/sdl-cleanup
...
SDL: Cleanups
2024-03-31 06:33:50 +02:00
Jordan Woyak
719d76ab2e
GCAdapter: Adjust libusb transfer timeout to 100ms.
2024-03-20 18:02:06 -05:00