summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu
AgeCommit message (Collapse)Author
2026-04-17Improve usage of std::move and const references parametersMartino Fontana
Accomplished using `run-clang-tidy` with `performance-move-const-arg,performance-unnecessary-value-param,modernize-pass-by-value`. Changed arguments to const references, removed them where inappropriate (e.g. sink parameters). Same with std::move. Manually reviewed each change to make sure that it makes sense, and do something more appropriate if possible.
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2026-01-17Fix various typos and spelling mistakesSintendo
2025-10-04WiimoteEmu: Require IRPassthrough has any bound inputs to operate. Users get ↵Jordan Woyak
confused and mistakenly enable it.
2025-09-24Prevent profiles with no device specification from resetting deviceSam Belliveau
2025-08-01Merge pull request #13177 from jordan-woyak/remove-nunchuk-haxAdmiral H. Curtiss
ControllerEmu: Remove nunchuk stick data hax.
2025-07-24InputCommon/ControllerEmu: Fix saving of Wii Remote "Attach MotionPlus" setting.Jordan Woyak
2025-06-09Merge pull request #13702 from CostPerUnit/masterJMC47
MappingWidget: Add Advanced Configuration Button to Point And Point Passthrough "Enable" boxes
2025-05-29InputCommon/DolphinQt: Add advanced settings button for "Point" and "Point ↵CostPerUnit
(Passthrough)" "Enabled" checkboxes.
2025-05-01Make overriding explicit and remove redundant virtual specifiers on ↵Dr. Dystopia
overriding destructors - Core & UnitTests
2025-04-10InputCommon: Activate IMU Accelerometer and Gyroscope when any direction has ↵Jordan Woyak
a bound input.
2025-03-15InputCommon/ControllerEmu: Break out functionality of EmulatedControllerJordan Woyak
to eliminate redundant unused members in Wii Remote extension objects.
2025-02-02Merge pull request #13208 from ↵Admiral H. Curtiss
Dentomologist/wiitasinputwindow_update_on_attachment_change WiiTASInputWindow: Update controls when attachment changes
2025-01-18WiiTASInputWindow: Update controls when attachment changesDentomologist
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.
2024-12-15Modernize `std::any_of` with rangesmitaclaw
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-15Modernize `std::all_of` with rangesmitaclaw
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-11-05ControllerEmu: Remove nunchuk stick data hax.Jordan Woyak
2024-10-27Merge pull request #13096 from mitaclaw/ranges-modernization-7-rewriteJMC47
Ranges Algorithms Modernization - Rewrite
2024-10-15Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivialJosJuice
Ranges Algorithms Modernization - Trivial
2024-10-11ControllerEmu: Change trigger threshold check to >= instead of > and set ↵Jordan Woyak
minimum threshold in UI to 1% to prevent user error.
2024-10-10Modernize `std::equal` with rangesmitaclaw
2024-10-09Simplify `std::transform` with `std::ranges::transform_view`mitaclaw
2024-09-22StringUtil: Remove `JoinStrings`mitaclaw
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-08-20Remove redundant semicolonsDr. Dystopia
2024-05-21Merge pull request #12711 from jordan-woyak/modifier-range-ini-defaultAdmiral H. Curtiss
InputCommon: Fix unnecessary "Modifier/Range" ini file entries.
2024-04-15InputCommon: Fix unnecessary "Modifier/Range" ini file entries.Jordan Woyak
2024-04-15DolphinQt/Mapping: Disable relative input when "Mouse Controlled Pointing" ↵Jordan Woyak
button is pressed.
2024-04-12NumericSetting: Stop values from binding to numbered input names.Jordan Woyak
2024-03-11WiimoteEmu: Add user-accessible controls that report the desired state of ↵Admiral H. Curtiss
the IR camera objects.
2023-10-01Android: Get profile name from coreJosJuice
To avoid duplicating information between Kotlin and C++.
2023-06-12ControllerEmu: Convert Translatability to enum classDentomologist
2023-04-13Common/IniFile: Move interface into Common namespaceLioncash
Gets this out of the global namespace and into the Common namespace
2023-03-07Android: Change how the overlay controller setting worksJosJuice
Up until now, there have been two settings on Android that stored the selected Wii Remote extension: the normal one that's also used on PC, and a SharedPreferences one that's used by the overlay controls to determine what controls to show. It is possible for these two to end up out of sync, and my input changes have made that more likely to happen. To fix this, let's rework how the overlay controller setting works. We don't want it to encode the currently selected Wii Remote extension. However, we can't simply get rid of the setting, because for some Wii games we need the ability to switch between a GameCube controller and a Wii Remote. What this commit does is give the user the option to select any of the 4 GameCube controllers and any of the 4 Wii Remotes. (Before, controllers 2-4 weren't available in the overlay.) Could be useful for things like the Psycho Mantis fight in Metal Gear Solid. I'm also switching from SharedPreferences to Dolphin.ini while I'm at it.
2023-02-26InputCommon: Fix ControlGroup::SaveConfig with DefaultValue::DisabledJosJuice
I also changed LoadConfig, but that change doesn't affect correctness, it's only so it looks neat by matching SaveConfig. This bug was added in 18a4afb053e8b5f356e22cfc5aec8cc27700710b, the commit that introduced DefaultValue::Disabled. The bug can't actually be triggered in master, but it can be triggered in the Android input overhaul PR.
2022-10-03DolphinQt: Use input override system for TAS input windowsJosJuice
This lets the TAS input code use a higher-level interface for overriding inputs instead of having to fiddle with raw bits. WiiTASInputWindow in particular was messy with how much controller code it had to re-implement.
2022-10-03ControllerEmu: Add new "input override" systemJosJuice
2022-09-24InputCommon: Add equality operators to RawValue.Admiral H. Curtiss
2022-09-24InputCommon: Make RawValue constructors constexpr.Admiral H. Curtiss
2022-09-22Use std::llround in MapFloatMinty-Meeo
I don't see why not.
2022-09-07InputCommon: Fix deadlock in EmulatedController::UpdateReferences().Admiral H. Curtiss
2022-07-07Merge pull request #9147 from jordan-woyak/imu-accel-weight-settingAdmiral H. Curtiss
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
2022-07-05Merge pull request #10712 from tellowkrinkle/ControllerLocksAdmiral H. Curtiss
InputCommon/ControllerEmu: Use more locks
2022-06-26DolphinQt: Don't show the advanced input settings on the main dialog.Jordan Woyak
2022-06-26ControllerEmu: Allow settings to be categorized as "advanced". Make "Virtual ↵Jordan Woyak
Notches" and "Gate Size" categorized as such.
2022-06-26ControllerEmu: Expose gate size setting for octagon analog sticks.Jordan Woyak
2022-06-13WiimoteEmu: Expose IMU pointing accelerometer weight setting.Jordan Woyak
2022-05-31InputCommon/ControllerEmu: Use more locksTellowKrinkle
Loading configs while another thread is messing with stuff just doesn't feel like a good idea Hopefully fixes Wiimote Scanning Thread crashes on startup
2022-01-04InputCommon: Use value of "Modifier" button "Range" setting rather than ↵Jordan Woyak
always applying 50%. Make "Clear" button reset "Modifier" "Range" settings to 50%.
2021-12-23ControllerEmu: Hide the cursor if the input gate is disabledPokechu22
2021-11-20ControllerInterface: fix UpdateReferences() deadlockFiloppi
Removed useless locks to DeviceContainer::m_devices_mutex, as they were all already protected by m_devices_population_mutex. We have no interest in blocking other threads that were potentially reading devices at the same time so this seems fine. This simplifies the code, and I've adjusted a few comments which mentioned possible deadlock that should now be totally gone. The deadlock could have happen if a thread directly called EmulatedController::UpdateReferences(), while another another thread also reached EmulatedController::UpdateReferences() within a call to ControllerInterface::UpdateDevices(), as the mentioned function locked both the DeviceContainer::m_devices_mutex and s_get_state_mutex at the same time. The deadlock was frequent on game emulation startup on Android, due to the UpdateReferences() call in InputConfig::LoadConfig() and the UI thread triggering calls to ControllerInterface::UpdateDevices(). It could also have happened on Desktop if a user pressed "Refresh Devices" manually in the UI while the input config was loading. Also brought some UpdateReferences() comments and thread safety fixes from https://github.com/dolphin-emu/dolphin/pull/9489