| Age | Commit message (Collapse) | Author |
|
ControllerEmu: Remove nunchuk stick data hax.
|
|
Dentomologist/controllerinterface_fix_windows_deadlock
ControllerInterface: Fix Windows deadlock
|
|
|
|
Android: Show input indicators in controller settings
|
|
InputCommon: Rename SDL input backend GameController to Gamepad.
|
|
|
|
Remove the redundant s_populate_mutex and only use
ControllerInterface::m_devices_population_mutex instead to prevent a
deadlock caused by locking them in opposite orders.
The device population functions in the win32 InputBackend previously
locked s_populate_mutex first before calling various functions that
locked m_devices_population_mutex. This normally worked but
ControllerInterface::RefreshDevices locks m_devices_population_mutex
first and then calls HandleWindowChange which then locked
s_populate_mutex, potentially causing the deadlock.
Fix this by using PlatformPopulateDevices to lock
m_devices_population_mutex before running the code that was previously
protected by s_populate_mutex. The functions in question lock
m_devices_population_mutex anyway, so this shouldn't meaningfully
increase contention on the lock.
Reproduction steps:
* Let Dolphin finish startup.
* In Win32.cpp::OnDevicesChanged set a breakpoint on the call to
PlatformPopulateDevices. When the breakpoint is triggered the function
will have locked s_populate_mutex, but since PlatformPopulateDevices
won't have run yet m_devices_population_mutex will still be unlocked.
* Unplug a device from your computer.
* Wait for the breakpoint to trigger. (At this point you can plug the
device back in).
* Freeze the ntdll.dll!TppWorkerThread() that triggered the breakpoint.
* Resume Dolphin and start a game.
* Core::EmuThread will call ControllerInterface::ChangeWindow which
calls RefreshDevices. It locks m_devices_population_mutex, then calls
InputBackend::HandleWindowChange, which tries to lock
s_populate_mutex.
* Unfreeze ntdll.dll!TppWorkerThread().
At this point EmuThread and TppWorkerThread are deadlocked. The UI is
still responsive since the Host thread is unaffected, but trying to stop
the game or close Dolphin normally will fail since EmuThread is unable
to stop.
|
|
|
|
Update to SDL3
|
|
is returned to neutral position.
|
|
the "Calibrate" button also map inputs.
|
|
|
|
|
|
|
|
MappingWidget: Add Advanced Configuration Button to Point And Point Passthrough "Enable" boxes
|
|
tygyh/Enforce-overriding-destructor-style-Core&UnitTests
Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
|
|
release-3.2.16.
|
|
Without this, there was a bug where if you turned the device's screen
off and on again while in the advanced mapping dialog, the input
indicators would stop updating. This is because turning the screen on
again causes devices to refresh, which causes all devices to be
recreated, leaving the AdvancedMappingControlViewHolders stuck
referencing controls belonging to devices that are no longer being
updated.
|
|
|
|
(Passthrough)" "Enabled" checkboxes.
|
|
Common::UniqueBuffer.
|
|
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.
|
|
overriding destructors - Core & UnitTests
|
|
Update clang-format to version 19
|
|
InputCommon: Move SDL Device class into its own cpp/h files.
|
|
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
|
|
a bound input.
|
|
|
|
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.
|
|
Ranges Algorithms Modernization - Projection
|
|
iwubcode/dynamic_input_textures_reduce_image_writes
Core / DolphinQt / InputCommon: reduce the number disk writes when using DynamicInputTextures
|
|
DynamicInputTextures
|
|
to eliminate redundant unused members in Wii Remote extension objects.
|
|
Fix multiple minor warnings
|
|
Migrate to SFML 3.0.0
|
|
|
|
|
|
|
|
- ExpressionParser.cpp: `-Wmissing-declarations`
- AchievementManager.cpp: `-Wsign-compare`
- SI.cpp: `-Warray-bounds=`
- NetPlayClient.cpp: `-Wdangling-reference`
|
|
DolphinQt/Mapping: Add setting to enable waiting for alternate mappings.
|
|
LibusbDevice: Don't detach kernel drivers on macOS
|
|
|
|
Dentomologist/wiitasinputwindow_update_on_attachment_change
WiiTASInputWindow: Update controls when attachment changes
|
|
InputCommon/ExpressionParser: Function argument parsing minor cleanup.
|
|
InputCommon: Fix input expression assignment operator behavior.
|
|
InputCommon/DolphinQt: Fix sometimes broken syntax highlighting in IOWindow.
|
|
using the OR-operator.
|
|
|
|
members instead of passing arguments.
|