Filoppi
08f8c27927
ControllerInterface: fix DSU thread safety and use PlatformPopulateDevices()
2021-06-07 11:48:29 +03:00
Filoppi
dcc345400e
ControllerInterface: devices population is now async so implement devices 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-07 11:07:06 +03:00
Filoppi
98b00a28e4
ControllerInterface: make DSU inputs start from resting pose instead of 0. Add battery level
2021-05-31 02:24:41 +03:00
Filoppi
16e4dede72
ControllerInterface: DSU polish: avoid hanging host thread, add 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-31 02:21:17 +03:00
Filoppi
83806462ec
ControllerInterface: fix DSU using the same client uid between server and controllers queries
...
that's not the way it's supposed to work
2021-05-31 02:17:25 +03:00
Filoppi
81092cf7e4
InputCommon: replace SerialInterface log with ControllerInterface
...
where appropriate. SerialInterface was a leftover from the past,
and makes no sense to be used on actual/real controllers.
2021-05-05 00:16:08 +03:00
iwubcode
dbb0b72cc5
InputCommon: instead of blocking on individual DSU server sockets, block on a selector built up from all server sockets
2021-03-05 12:05:38 -06:00
Filoppi
e020b2e8ea
Common: don't call OnConfigChanged() unless it has actually changed
...
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-26 01:14:00 +02:00
Filippo Tarpini
1e4a1bee43
Fix DualShockUDP not adding/removing devices correctly
...
-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-03 21:06:06 +02:00
Lioncash
a5e1415e74
InputCommon: Migrate logging over to fmt
...
Continues the migration of the logging calls over to the fmt capable
ones.
2020-10-23 13:16:18 -04:00
iwubcode
97c9cf3e21
DolphinQt / InputCommon - add DSU string validator to avoid crashes, limited backwards compatibility support
2020-07-17 14:53:39 -05:00
iwubcode
58aa0150e1
DolphinQt / InputCommon: Support multiple DSU servers
2020-07-17 14:53:39 -05:00
Léo Lam
19da101164
Remove redundant Config prefix from ConfigInfo/ConfigLocation
...
Both structs are already in the Config namespace.
2020-05-02 14:40:14 +02:00
Jordan Woyak
da12f3eebc
InputCommon: Constify Device::Input::IsDetectable function.
2020-02-22 10:27:43 -06:00
Jordan Woyak
6106f780a7
ControllerInterface/DSUClient: Eliminate m_accl/m_gyro state by accessing the pad data directly like every other input.
2020-01-13 17:35:33 -06:00
Jordan Woyak
2b9fa0597a
ControllerInterface: Minor DSU client device cleanups.
2020-01-13 16:32:02 -06:00
Jordan Woyak
f0534cabc6
ControllerInterface: Exposse DSU client battery level as an input.
2020-01-13 16:29:24 -06:00
Pierre Bourdon
5c996dec89
DualShockUDPClient: downgrade spurious NOTICE_LOGs
2019-12-23 18:36:18 +01:00
Lioncash
334e2768f5
InputCommon/DualShockUDPClient: Use an alias for the clock type
...
Makes code slightly less verbose without exposing the whole chrono
header to the current source file.
2019-11-22 17:06:10 -05:00
Lioncash
db9e592765
InputCommon/DualShockUDPClient: Use deduction guides for lock_guard
...
With C++17, we can use template deduction guides provided by the
standard library. This allows the omission of the mutex type itself.
2019-11-22 17:06:10 -05:00
Lioncash
278d03f737
InputCommon/DualShockUDPClient: Make use of std::array where applicable
...
Provides the same semantics of a C array, but is much nicer to work
with.
Notably, it makes all cases of performing comparisons with said arrays
significantly less reading-involved.
2019-11-22 17:06:07 -05:00
Lioncash
67097b4574
InputCommon/DualShockUDPClient: Relocate settings to top of source file
...
This is a small namespace, so we can move it to the top of the file to
get it out of the way of everything else.
2019-11-22 15:56:29 -05:00
Lioncash
4488719a76
InputCommon/DualShockUDPClient: In-class initialize members where applicable
...
Deduplicates members within the constructor's initializer list.
2019-11-22 15:56:29 -05:00
Lioncash
544d6cbe52
InputCommon/DualShockUDPClient: Add missing header guard
...
Prevents potential inclusion issues from occurring.
2019-11-22 15:56:26 -05:00
Jordan Woyak
1180c231a6
InputCommon: Detect when evdev exposes acceleration/gyroscope data.
2019-11-09 13:34:29 -06:00
rlnilsen
da1f153b47
Rename all instances of "CemuhookUDPServer"/"UDPServer" to "DualShockUDPClient"/"DSUClient".
2019-10-27 16:05:22 +01:00