Pokechu22
74a14c7d1f
ControllerInterface: Fix uninitialized variables in DualShockUDPClient
...
Strangely, this case did not trigger a C26495 warning in Visual Studio's analyzer; instead, I spotted this when using Valgrind.
2023-02-15 19:23:47 -08:00
Pokechu22
7fafb00561
InputCommon/XInput2: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
49a84cbc4c
Resolve various "no previous declaration" warnings
2023-02-09 16:23:01 -08:00
Markus Wick
17d7b75a9b
Merge pull request #11544 from jmallach/spng
...
Allow building against system libspng
2023-02-09 14:47:58 +01:00
Jordi Mallach
4d164fcb77
Allow building against system libspng
2023-02-06 13:30:46 +01:00
Scott Mansell
0da69055d9
Split out everying remaining from Swap
2023-01-31 19:41:24 +13:00
Lioncash
e5b91f00b0
Common: Replace StringBeginsWith/StringEndsWith with std equivalents
...
Obsoletes these functions in favor of the standard member functions
added in C++20.
2023-01-24 14:58:20 -05:00
Admiral H. Curtiss
d949aa60bb
Merge pull request #11397 from TellowKrinkle/QuartzMousePos
...
InputCommon:QuartzKB&M: Fix mouse y coordinates
2023-01-02 23:04:12 +01:00
TellowKrinkle
8659de4d71
InputCommon:QuartzKB&M: Fix mouse y coordinates
...
Cocoa uses a different coordinate system from Carbon (Carbon's origin is the top left while Cocoa's is the bottom left)
2022-12-31 23:42:11 -06:00
TheConfuZzledDude
288fa635f9
InputCommon/XInput2: Changed axis value reading to be more correct
2022-12-26 17:27:48 +00:00
TheConfuZzledDude
27d596b89c
InputCommon/Xinput: Cleaned up a bit
2022-12-23 22:35:09 +00:00
TheConfuZzledDude
c3018fdc3b
InputCommon/XInput2: Added an axis output for the scroll wheel
2022-12-23 22:10:28 +00:00
Admiral H. Curtiss
c9558ecb4c
CoreTiming: Refactor to class.
2022-11-27 03:47:12 +01:00
TellowKrinkle
72eadc6520
InputCommon:SDL: Add SDL 2.26 left and right motion inputs
2022-11-24 15:12:07 -06:00
Jordan Woyak
168a49c87f
ControllerInterface: DSU InputBackend implementation.
2022-11-01 21:59:09 -05:00
Jordan Woyak
2e5cd5d519
ControllerInterface: evdev InputBackend implementation.
2022-11-01 21:59:08 -05:00
Jordan Woyak
44a4573303
ControllerInterface: Add InputBackend interface and SDL implementation.
2022-11-01 21:59:08 -05:00
JMC47
bc4d08047d
Merge pull request #10979 from tellowkrinkle/QuartzWindowSpeed
...
InputCommon:QuartzKB&M: Use KVO to watch window position
2022-10-22 04:55:12 -04:00
Jordan Woyak
5ed0543430
GCAdapter: Process pad state in read thread and other general cleanups.
2022-10-22 00:38:59 -05:00
Jordan Woyak
f5b9049421
Input: Add "abs" input expression function.
2022-10-11 19:28:21 -05:00
JosJuice
51ee05cb35
Android: Use input override system for touch controls
...
This is the first step of getting rid of the controller indirection
on Android. (Needing a way for touch controls to provide input
to the emulator core is the reason why the controller indirection
exists to begin with as far as I understand it.)
2022-10-03 22:04:09 +02:00
JosJuice
b296248b49
DolphinQt: Use input override system for TAS input windows
...
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-03 22:04:09 +02:00
JosJuice
cb16d20f2d
ControllerEmu: Add new "input override" system
2022-10-03 22:00:21 +02:00
Admiral H. Curtiss
26fd4ea361
WiimoteEmu: Update IR camera status from DesiredWiimoteState.
2022-10-02 23:14:35 +02:00
Admiral H. Curtiss
02a967f786
InputCommon: Add equality operators to RawValue.
2022-09-24 01:44:21 +02:00
Admiral H. Curtiss
24a1fe32f1
InputCommon: Make RawValue constructors constexpr.
2022-09-24 01:38:09 +02:00
Minty-Meeo
73dfcc15a5
Use std::llround in MapFloat
...
I don't see why not.
2022-09-22 11:30:32 -05:00
Admiral H. Curtiss
710210365a
Merge pull request #11038 from AdmiralCurtiss/steam-overlay-crash-fix-wgi
...
WGInput: Work around crash with Steam overlay.
2022-09-08 19:03:31 +02:00
Admiral H. Curtiss
b8ca1b2907
InputCommon: Fix deadlock in EmulatedController::UpdateReferences().
2022-09-07 22:37:24 +02:00
Admiral H. Curtiss
67c97a0bf2
WGInput: Work around crash with Steam overlay.
2022-09-07 21:06:26 +02:00
Shawn Hoffman
cd407abe34
WGInput: implement error handling
2022-08-27 02:11:27 -07:00
Shawn Hoffman
6bc8ab7001
WGInput: use c++/winrt
2022-08-26 23:20:34 -07:00
Shawn Hoffman
76d2e47444
ciface/win32: use CM_Register_Notification instead of wnd msgs
2022-08-26 21:59:56 -07:00
TellowKrinkle
588c4bd635
InputCommon:QuarzKB&M: Use view position instead of window position
2022-08-18 16:29:43 -05:00
TellowKrinkle
798b241832
InputCommon:QuarzKB&M: Use KVO to watch window position
...
CGWindowListCreateDescriptionFromArray would block for up to ~1ms, which isn't a great thing to do on the main emulation thread
2022-08-18 16:29:43 -05:00
TellowKrinkle
b96bc4267e
InputCommon: Enable ARC for obj-c++
2022-08-12 02:09:53 -05:00
Admiral H. Curtiss
a9edf129e3
Merge pull request #10889 from shuffle2/spng
...
replace libpng with libspng
2022-07-26 12:53:04 +02:00
Admiral H. Curtiss
9d15a1c5a1
Merge pull request #10858 from AdmiralCurtiss/mouse-center-hotkey
...
Add hotkey for centering mouse in render window.
2022-07-26 12:52:33 +02:00
Shawn Hoffman
f92541fbd9
StripSpaces: only strip spaces
...
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
Shawn Hoffman
acb10f0006
replace libpng with libspng
2022-07-25 18:32:16 -07:00
Admiral H. Curtiss
d14bd10cd7
Quartz: Handle mouse centering hotkey.
...
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2022-07-25 01:26:57 +02:00
Admiral H. Curtiss
e0870166ef
XInput2: Handle mouse centering hotkey.
2022-07-25 01:26:56 +02:00
Admiral H. Curtiss
d57d04bb04
DInput: Handle mouse centering hotkey.
2022-07-25 01:26:56 +02:00
Admiral H. Curtiss
4d27022d0e
Add hotkey for centering mouse in render window.
2022-07-25 00:59:47 +02:00
Admiral H. Curtiss
89067e66f9
InputCommon: Get rid of static strings.
2022-07-15 19:53:10 +02:00
Admiral H. Curtiss
e79c7d4985
InputCommon: Don't force-link against SDL2.lib on Windows.
2022-07-13 01:37:05 +02:00
Shawn Hoffman
54b4ad8f55
ci/sdl: pump messages for SDL_hidapi so device detection works
2022-07-10 15:39:06 -07:00
Shawn Hoffman
ddf83462ac
sdl: enable SDL_HINT_JOYSTICK_THREAD
...
fixes window message pumping
2022-07-10 15:39:06 -07:00
Shawn Hoffman
655fb94e61
ci/win32: give the wndclass a unique name
...
other things (like SDL) may try to use "Message"
2022-07-10 15:39:06 -07:00
Shawn Hoffman
dd20c7cf78
ci/sdl: re-add the x360 controller block
2022-07-10 15:39:06 -07:00
Shawn Hoffman
3f7a2c6d4d
ci/sdl: minor cleanup
2022-07-10 15:39:06 -07:00
Jun Bo Bi
ceed42a0ee
Add SDL as a submodule
2022-07-10 15:38:59 -07:00
Jun Bo Bi
6cb936d0cf
Add SDL motion input and rumble support
2022-07-10 14:49:49 -07:00
Admiral H. Curtiss
eccf527bf6
Merge pull request #9147 from jordan-woyak/imu-accel-weight-setting
...
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
2022-07-07 23:17:47 +02:00
Admiral H. Curtiss
24498ca315
Merge pull request #10712 from tellowkrinkle/ControllerLocks
...
InputCommon/ControllerEmu: Use more locks
2022-07-05 11:39:48 +02:00
Jordan Woyak
4c409411ed
DolphinQt: Don't show the advanced input settings on the main dialog.
2022-06-26 22:48:13 -05:00
Jordan Woyak
80d9e79cf1
ControllerEmu: Allow settings to be categorized as "advanced". Make "Virtual Notches" and "Gate Size" categorized as such.
2022-06-26 22:42:16 -05:00
Jordan Woyak
643f82539c
ControllerEmu: Expose gate size setting for octagon analog sticks.
2022-06-26 22:33:44 -05:00
Admiral H. Curtiss
23ed611077
Merge pull request #10729 from Pokechu22/libusb-error-wrap
...
Improve libusb error logging
2022-06-17 16:01:46 +02:00
JosJuice
107a928452
Merge pull request #10748 from tellowkrinkle/SDL22Fun
...
InputCommon: SDL 2.0.22 init crash workaround
2022-06-15 18:02:59 +02:00
TellowKrinkle
994210e369
InputCommon: SDL 2.0.22 init crash workaround
...
See https://github.com/libsdl-org/SDL/pull/5598
2022-06-14 21:02:45 -05:00
Jordan Woyak
1fc86cacd7
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
2022-06-13 00:07:00 -05:00
Pokechu22
27772e01d9
GCAdapter: Compare with LIBUSB_SUCCESS instead of 0
2022-06-08 15:30:22 -07:00
Pokechu22
15cbb5c8f9
Log warnings when LibusbUtils::GetDeviceList fails
2022-06-08 15:29:11 -07:00
Pokechu22
6823b4d7a0
GCAdapter: Use LibusbUtils::ErrorWrap in log messages
2022-06-02 19:39:36 -07:00
Pokechu22
0d8772ccbe
GCAdapter: Make local variables const where possible
2022-06-02 19:39:36 -07:00
Pokechu22
cd9edeacda
GCAdapter: Merge Read logic
2022-06-02 19:39:36 -07:00
Pokechu22
9ec65baf46
GCAdapter: Have the read thread control the write thread
...
This was done for Android in 6cc40b1235
.
2022-06-02 19:39:36 -07:00
Pokechu22
0fa92694d1
GCAdapter: Exit early if the adapter fails to open on Android
...
This is only so that indentation is consistent with the non-android code.
2022-06-02 19:39:36 -07:00
Pokechu22
749a4ad1ef
GCAdapter: Remove check on write size on android
...
It was removed for non-android in 56239d1ae1
, and android already uses a separate thread, so presumably this isn't needed anymore.
2022-06-02 19:39:36 -07:00
Pokechu22
27947046af
GCAdapter: Harmonize read/write thread variable names
2022-06-02 19:39:36 -07:00
Pokechu22
279888da8c
GCAdapter: Remove unused includes
2022-06-02 19:39:36 -07:00
Pokechu22
3ae775e574
GCAdapter: Use determinism hack on Android
...
This hack was added in 8f0cbefbe5
, and the part of it in SI_DeviceGCAdapter is present on Android already, so I don't see any reason why this part doesn't apply to Android.
2022-06-02 19:39:36 -07:00
Pokechu22
55922e6d17
GCAdapter: Convert ControllerType to an enum class
2022-06-02 19:39:36 -07:00
Pokechu22
682d86f4da
GCAdapter: Fix rumble enabled config on Android
...
I believe the setting already existed in the UI; it just wasn't implemented in GCAdapter_Android.cpp.
2022-06-02 19:39:36 -07:00
Pokechu22
36d4ee0939
GCAdapter: Use std::array for controller read and write payloads
2022-06-02 19:39:36 -07:00
Pokechu22
dd6592698e
GCAdapter: Merge GCAdapter.cpp and GCAdapter_Android.cpp
...
This is mostly a brainless merge, #ifdef-ing anything that doesn't match between the two while preserving common logic. I didn't rename any variables (although similar ones do exist), but I did change one log that was ERROR on android and NOTICE elsewhere to just always be NOTICE. Further merging will follow.
2022-06-02 19:39:36 -07:00
TellowKrinkle
f9c6eb7b98
InputCommon/ControllerEmu: Use more locks
...
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-05-31 20:17:37 -05:00
Admiral H. Curtiss
580c721c82
cmake: Don't use PCH with Qt6.
2022-05-22 01:19:44 +02:00
Pokechu22
a86fb9b475
Core/WGInput: Use fmt logging and include HRESULT in messages
2022-05-19 12:12:19 -07:00
JosJuice
e0afcb3b94
Merge pull request #10540 from nyanpasu64/fix-gcadapter-atomics
...
Remove atomic usage and fix mutex locking in GCAdapter code
2022-04-23 22:04:10 +02:00
Shawn Hoffman
12cd81bdb3
GCAdapter: don't call libusb_detach_kernel_driver on apple
2022-04-22 09:56:47 -07:00
Shawn Hoffman
5cd3cf9072
GCAdapter: fix retval check of libusb_detach_kernel_driver
2022-04-22 09:56:47 -07:00
Shawn Hoffman
978c90845b
GCAdapter: move libusb context teardown last
2022-04-22 09:56:47 -07:00
Shawn Hoffman
1c9dfb7bb6
GCAdapter: some macro cleanup
2022-04-22 09:56:47 -07:00
Shawn Hoffman
f52d94832e
GCAdapter: set read/write thread names
2022-04-22 07:12:09 -07:00
Admiral H. Curtiss
5fda8ee8ec
Core/WGInput: Dynamically load winrt function addresses.
2022-04-08 03:26:09 +02:00
Jordan Woyak
566dfc1cf4
ControllerInterface: Update sort priorities.
2022-04-03 19:03:44 -05:00
Jordan Woyak
076a262b9e
InputCommon: Add Windows.Gaming.Input to ControllerInterface.
2022-04-03 19:03:35 -05:00
nyanpasu64
b5a7ae52b5
Fix locking the wrong mutex in GCAdapter_Android.cpp ResetRumble()
...
I am not confident there are no race conditions between s_write_mutex,
s_controller_write_payload_size, and s_controller_write_payload. But
this code should be safer than before.
2022-03-27 22:39:26 -07:00
nyanpasu64
7616027684
Remove unnecessary atomic usage in GCAdapter_Android.cpp
...
s_controller_write_payload_size needs to remain an atomic because Read()
loads and stores without holding a mutex, Output() stores while holding
s_write_mutex, and ResetRumble() stores while holding s_read_mutex! I'm
pretty sure this code is wrong, specifically ResetRumble().
2022-03-27 22:39:26 -07:00
nyanpasu64
871b01a5d9
Remove unnecessary atomic usage in GCAdapter.cpp
...
You can safely read or write non-atomic integers on multiple threads,
as long as every thread reading or writing it holds the same mutex
while doing so (here, s_mutex).
Removing the atomic accesses makes the code faster, but the actual
performance difference is probably negligible.
2022-03-27 22:27:57 -07:00
Jordan Woyak
b589d720bf
MappingCommon: Fix detection of hotkey and conjunction expressions.
2022-03-16 22:25:04 -05:00
Léo Lam
e10967e918
Merge pull request #10502 from Pokechu22/defer-gcadapter
...
GCAdapter: Defer initialization until MainWindow::InitControllers
2022-03-15 16:00:28 +01:00
Pokechu22
37806472e1
GCAdapter: Defer initialization until MainWindow::InitControllers
...
If libusb fails to initialize, an assertion fails, but if that happens before the main window is created, then Dolphin just dies. Now, the panic alert is properly shown and the user can ignore it.
2022-03-10 10:35:45 -08:00
JosJuice
1bc057614e
Move parts of MappingCommon out of DolphinQt
...
Some of the functions in MappingCommon would be useful to use on
mobile in the future.
2022-03-06 14:30:49 +01:00
Pokechu22
6e5f4125e3
Use Common::ToLower and Common::ToUpper
2022-01-16 17:00:12 -08:00
Mai M
1cea399e9c
Merge pull request #10345 from jordan-woyak/modifier-range
...
InputCommon: Re-enable "Modifier" "Range" settings.
2022-01-13 08:32:15 -05:00
Pokechu22
ca9bf3174f
Use HRWrap in remaining locations
...
Note that D3DCommon can't use DX11HRWrap or DX12HRWrap since it's shared between them.
2022-01-09 12:44:55 -08:00
Pokechu22
558de04cfc
Common/Assert: Actually use the ASSERT_MSG's log type parameter
...
Since it was unused, nonexistent values were used in a few places. I've replaced them.
2022-01-09 12:44:14 -08:00