summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface
AgeCommit message (Collapse)Author
2021-07-06QuartzKeyboardAndMouse: Ensure windowNumber is fetched on the main threadOatmealDome
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2021-06-07InputCommon: Make Wiimote rumble variable thread safeFiloppi
2021-06-07ControllerInterface: fix DSU thread safety and use PlatformPopulateDevices()Filoppi
2021-06-07ControllerInterface: polish DInput Keyboard and Mouse (add comments and logs)Filoppi
Also fix the cursor axis not being updated when the mouse device had failed aquiring, despite them being completely unrelated
2021-06-07ControllerInterface: DInput Joystick fix non thread safe static variableFiloppi
also fix devices being added to its own custom list of devices even when rejected by the CI
2021-06-07ControllerInterface: Implement ChangeWindow on DInput without recreating the ↵Filoppi
devices Also polished DInput code in general to try and mitigate issue 11702. Added a lot of logging and comments.
2021-06-07ControllerInterface: devices population is now async so implement devices ↵Filoppi
sorting priority This helps us keeping the most important devices (e.g. Mouse and Keyboard) on the top of the list of devices (they still are on all OSes supported by dolphin and to make hotplug devices like DSU appear at the bottom.
2021-06-07ControllerInterface: make evdev use PlatformPopulateDevicesFiloppi
Also fix evdev non thread safe acces to static variables
2021-06-07ControllerInterface: make SDL use PlatformPopulateDevices()Filoppi
and avoid waiting on SDL async population being finished for no reason
2021-06-07ControllerInterface: make real Wiimote use PlatformPopulateDevices()Filoppi
2021-06-07ControllerInterface: Remove OSX window handleFiloppi
also make it more thread safe (avoid rare deadlock) and fix it trying to add devices before the CI has init
2021-06-07ControllerInterface: RefactorFiloppi
-Fix Add/Remove/Refresh device safety, devices could be added and removed at the same time, causing missing or duplicated devices (rare but possible) -Fix other devices population race conditions in ControllerInterface -Avoid re-creating all devices when dolphin is being shut down -Avoid re-creating devices when the render window handle has changed (just the relevantr ones now) -Avoid sending Devices Changed events if devices haven't actually changed -Made most devices populations will be made async, to increase performance and avoid hanging the host or CPU thread on manual devices refresh
2021-06-07ControllerInterface: mixed commentsFiloppi
2021-06-07ControllerInterface: fix rare deadlockFiloppi
A "devices changed" callback could have ended up waiting on another thread that was also populating devices and waiting on the previous thread to release the callbacks mutex.
2021-05-31ControllerInterface: make DSU inputs start from resting pose instead of 0. ↵Filoppi
Add battery level
2021-05-31ControllerInterface: DSU polish: avoid hanging host thread, add ↵Filoppi
disconnection detection, ... -Reworked thread waits to never hang the Host thread for more than a really small time (e.g. when disabling DSU its thread now closes almost immediately) -Improve robustness when a large amount of devices are connected -Add devices disconnection detection (they'd stay there forever until manually refreshed)
2021-05-31ControllerInterface: fix DSU using the same client uid between server and ↵Filoppi
controllers queries that's not the way it's supposed to work
2021-05-10InputCommon: add a ton of missing constsFiloppi
fix some related grammar errors only the ButtonManager required code changes
2021-05-05InputCommon: replace SerialInterface log with ControllerInterfaceFiloppi
where appropriate. SerialInterface was a leftover from the past, and makes no sense to be used on actual/real controllers.
2021-03-17InputCommon / DolphinQt / Core: Add a "RelativeMouse" input which provides ↵iwubcode
the raw delta mouse input Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com>
2021-03-16Merge pull request #9558 from iwubcode/dsu-multi-server-avoid-blockingLéo Lam
InputCommon: block on DSU servers collectively instead of individually
2021-03-07Touchscreen: Add override specifiersDentomologist
Fix -Winconsistent-missing-override warnings on Android
2021-03-07ControllerInterface: Fix unused-result warningDentomologist
Add ! before unused variables to 'use' them. Ubuntu-x64 emits warnings for unused variables because gcc decides it should ignore the void cast around them. See thread for discussion: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66425
2021-03-05InputCommon: instead of blocking on individual DSU server sockets, block on ↵iwubcode
a selector built up from all server sockets
2021-03-01Merge pull request #9492 from nolange/fix_norandr_buildLéo Lam
Cleanup X11 and XRANDR Macros
2021-02-26Common: don't call OnConfigChanged() unless it has actually changedFiloppi
DualShock UDP Client is the only place in the code that assumed OnConfigChanged() is called at least once on startup or it won't load up the setting, so I took care of that
2021-02-22Cleanup X11 and XRANDR MacrosNorbert Lange
This fixes build with X11 enabled and XRANDR disabled.
2021-01-27rename InputCommon/ControllerInterface/Device to CoreDeviceShawn Hoffman
2021-01-27rename ciface::Wiimote to ciface::WiimoteControllerShawn Hoffman
2021-01-05Merge pull request #9418 from Filoppi/patch-10Léo Lam
Fix DualShockUDP not adding/removing devices correctly
2021-01-03Fix DualShockUDP not adding/removing devices correctlyFilippo Tarpini
-If adding 2 devices with the same name, they their unique id wouldn't be increased, causing a conflict. -Removing a device wouldn't actually remove it from the internal devices list because the list of devices had already been updated when going through it. -It was possible to remove devices belonging to other sources by adding a device with the same name and then removing it.
2021-01-02Fix Quartz cursor going to +infinite if the window size was 0Filippo Tarpini
2021-01-02Fix DInput cursor going to +infinite if the window size was 0Filippo Tarpini
2021-01-02Fix XInput2 cursor going to +infinite if the window size was 0Filippo Tarpini
2020-12-13InputCommon: Fix callback dispatch deadlockseth
Make sure m_is_populating_devices is true when a WM_INPUT_DEVICE_CHANGE event is received directly on the ciface thread, so that callbacks do not occur while removing devices. This breaks a hold-and-wait deadlock between the ciface thread and the CPU thread when using emulated Wiimotes. Co-authored-by: brainleq <brainleq@users.noreply.github.com> Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
2020-10-23InputCommon: Migrate logging over to fmtLioncash
Continues the migration of the logging calls over to the fmt capable ones.
2020-10-21Merge pull request #9162 from jordan-woyak/quaternionLC
Replace stateful rotational matrices with quaternions.
2020-10-19InputCommon/WiimoteEmu: Replace stateful rotational matrices with quaternions.Jordan Woyak
2020-10-19Linux/XInput2: Fix keys being stuck pressed on focus loss.Jordan Woyak
2020-09-28ControllerInterface/Wiimote: Add "IR Distance" input providing a calculated ↵Jordan Woyak
distance from sensor bar in meters.
2020-09-25InputCommon: Improve input detection to produce buton combinations.Jordan Woyak
2020-09-25InputCommon: Make hotkeys and input detection aware of Ctrl -> L_Ctrl / ↵Jordan Woyak
R_Ctrl hierarchy.
2020-09-25ControllerInterface: Add platform consistent names for modifier keys.Jordan Woyak
2020-09-25InputCommon: Support detecting combinations of inputs. (Hotkeys)Jordan Woyak
2020-09-20Merge pull request #8840 from Techjar/evdev-combining-physJordan Woyak
ControllerInterface: Combine evdev devices with the same physical location in addition to unique ID
2020-09-14Merge pull request #8985 from jordan-woyak/btemu-cleanupJMC47
BTEmu/Wiimote: Fixes and Cleanups.
2020-09-08ControllerInterface: Combine evdev devices with the same physical location ↵Techjar
in addition to unique ID
2020-08-22name some threadsShawn Hoffman
2020-08-16BTEmu/Wiimote: Cleanups/Fixes.Jordan Woyak