Henrik Rydgård
265fe1b8b5
Additional DInput code fixes
2026-05-05 09:18:15 +02:00
Henrik Rydgård
8b58cce009
DirectInput: Zero-initialize some variables.
2026-05-05 01:51:22 +02:00
Henrik Rydgård
bc62602935
Add checkboxes to enable/disable the three input backends.
...
Can probably serve as a workaround for #21494
2026-05-01 21:28:25 +02:00
Henrik Rydgård
82069c3503
Windows input optimizations
...
Fixes a bug where the thread wouldn't sleep when it should in some
configurations.
Also increases the time between polls for new controllers.
2026-03-09 11:02:04 +01:00
Henrik Rydgård
1f43b1cf23
Split the Hid code up in a few files to make it more practical to work on
2026-02-03 00:30:19 +01:00
Henrik Rydgård
d6ebfed432
Fix some bugs and warnings from a pass of static analysis
2026-01-29 17:41:54 +01:00
Henrik Rydgård
9c582e4d45
Release all buttons and axes on DInput device disconnection
2026-01-25 16:26:16 +01:00
Henrik Rydgård
7d4cfdaf91
KeyMap: Add NotifyPadDisconnected, minor cleanup
2026-01-25 15:36:15 +01:00
Henrik Rydgård
062bc0dcd4
Merge pull request #21078 from hrydgard/ui-fixes
...
More UI fixes, code cleanup
2025-12-19 23:27:57 +01:00
Henrik Rydgård
18a67b82d2
Do the same with KeyInputFlags. Fix minor UI misalignments
2025-12-19 13:41:58 +01:00
oltolm
ef49aac0e1
use ComPtr in DinputDevice
2025-11-14 21:24:09 +01:00
Henrik Rydgård
6b0e9b0989
Implement initial native DualShock/DualSense support
2025-07-03 09:41:03 +02:00
Henrik Rydgård
66785a724b
Collect DInput devices in a meta device
2025-06-28 13:57:04 +02:00
Henrik Rydgård
b2bd844a01
Correctly implement exclusions of DInput devices that are also XInput
2025-05-16 22:39:42 +02:00
oltolm
5c1412f84d
use ComPtr for misc. things
2025-01-17 18:06:24 +01:00
Henrik Rydgård
566d9f67f6
SDL input filtering
2023-12-08 16:17:38 +01:00
Henrik Rydgård
c8d7226a5f
DInput: Seems sometimes we never check for pads on startup? Fix that.
2023-09-27 12:07:21 +02:00
Henrik Rydgård
80a99a67d9
Control: Change internal interfaces to batch-process input axis updates
...
These naturally come in bunches on many platforms like Android, so lay
some groundwork to also handle them in bunches to minimize locking in
the future.
Linux buildfix
2023-08-31 11:55:53 +02:00
Henrik Rydgård
2675d6ea43
Input event and device enums ( #17514 )
...
* Switch deviceID from int to enum InputDeviceID, globally
* Switch axisId to enum InputAxis
* Change int keycodes to InputKeyCode where it makes sense.
* SDL input buildfix
* SDL keycode buildfix
* Switch on enum warning fixes
* Qt keycode buildfix
* iOS keycode buildfix
* UWP keycode buildfix
* More iOS buildfix
* More iOS buildfix
* Update DinputDevice.cpp
2023-05-26 18:40:13 +02:00
Henrik Rydgård
0e1c42ce70
Plumb multimappings all the way through.
2023-04-01 13:50:57 +02:00
Unknown W. Brackets
49f6c461ad
Reporting: Fix some header includes.
...
Particularly in Common, avoid including Core/Reporting.h.
2022-12-27 14:58:20 -08:00
Unknown W. Brackets
536c050943
Core: Track names of connected pad devices.
...
Rather than just that it's a pad. This tries to get the identifier if
possible.
2022-07-04 19:14:04 -07:00
Yifan Gu
633a6f612b
Refactor and unify analog input settings
2021-07-05 12:38:46 +02:00
Unknown W. Brackets
e1e5a8b49b
UI: Ignore duplicate axis events.
...
We already ignore these on Windows, so this makes other platforms follow
the same logic.
2021-05-23 13:21:45 -07:00
Unknown W. Brackets
eca3a405b6
UI: Flip Y analog direction based on config.
2021-04-04 08:39:49 -07:00
Unknown W. Brackets
c9428975fe
Windows: Normalize left and right analog stick.
2021-04-04 08:16:26 -07:00
Unknown W. Brackets
2c165c9b6d
Windows: Fix improper case or missing includes.
...
As per mingw errors/warnings.
2021-02-14 10:30:10 -08:00
Unknown W. Brackets
ce8bbfaf54
Windows: Fix some type conversion warnings.
2021-01-01 08:37:32 -08:00
Henrik Rydgård
f01ba6dc84
Move NativeApp.h to Common/System, split into NativeApp.h and System.h
...
Buildfix
2020-10-04 11:42:16 +02:00
Henrik Rydgård
342ed97291
Move input utilities from native to Common/Input.
2020-10-01 09:42:32 +02:00
Unknown W. Brackets
d30d75ab38
Windows: Check for devices on Windows events only.
...
A user reported stuttering after the periodic checks, and devices failing
until unplug/replug. Presumably, this is caused by poor drivers reacting
badly to periodic DirectInput queries, so less queries should help.
2018-11-01 21:42:12 -07:00
Unknown W. Brackets
52e2e0763a
Windows: Detect DirectInput devices after launch.
2018-10-08 21:21:37 -07:00
aliaspider
f94e9b1e74
set _WIN32_WINNT to 0x0601 in stdafx.h
2018-03-23 22:54:12 +01:00
Unknown W. Brackets
9e390510df
Remove legacy InputState.
2017-03-14 22:07:07 -07:00
Henrik Rydgard
28d8ed5881
Win32: Fix a bunch of little window resizing issues
2015-05-15 18:04:05 +02:00
Josh Palmer
929866edd3
XInput/DInput: Rename settings, fix sensitivity
...
* Change deadzone inverter naming convention to 'analog mapper'
* Remove hokey mathematics from sensitivity calculations
2015-02-05 06:30:29 +00:00
Josh Palmer
4c6410cd0d
DInput/XInput: Further fixes & improvements
...
* Remove redundant second analog settings for XInput
* Replace DInput circle->square mapping with improved XInput version
2015-02-05 05:48:29 +00:00
Josh Palmer
6856709b1d
DInput/XInput: Deadzone fixes & Sensitivity
...
* DInput Deadzone & Deadzone Inverter now function correctly
* Added analog Sensitivity options to DInput and XInput
2015-02-05 05:30:39 +00:00
Josh Palmer
918b96500c
DInput/XInput: Configurable deadzone + inverter
...
* Add configurable shared deadzone for all DInput axes
* Add configurable separate deadzones for left & right XInput sticks
* Add configurable deadzone inverter for DInput X/Y axes
* Add configurable deadzone inverter for XInput sticks
2015-01-17 21:26:08 +00:00
Unknown W. Brackets
913914a4c1
Fix some type conversion warnings.
2014-06-15 10:01:54 -07:00
Henrik Rydgård
91cb320e6f
Merge pull request #6212 from thedax/win32-buildfix
...
Win32: fix three warnings.
2014-06-02 23:42:58 +02:00
The Dax
70e1abac08
Win32: Use CALLBACK (__stdcall) for DinputDevice::DevicesCallback. Fixes 32-bit compilation.
2014-06-02 08:28:35 -04:00
The Dax
58411136ee
Remove the const int, and fix another warning.
2014-06-01 18:32:14 -04:00
The Dax
9672701743
Win32 buildfix and warning fix.
...
I don't know how many pads are supposed to be supported, but I went with a reasonable number until the proper amount is committed.
2014-06-01 18:25:35 -04:00
Peter Tissen
5e34dbf3fc
limit Dinput devices to the max supported in input_state and update the native submodule to get the MAX_NUM_PADS constant
2014-06-01 12:37:32 +02:00
Peter Tissen
46eb74e98a
undo visual studio auto-indenting
2014-06-01 12:37:31 +02:00
Peter Tissen
1024eb7b63
initial commit for multiple DInput devices.
...
allow multiple dinput devices but still block all dinput devices if an xinput device is present.
This still has some issues with devices not being able to be dynamically added or removed but
even many commercial games react to hot-plug DInput events. Also, the axis handling is not really
ideal yet but it works for now.
2014-06-01 12:37:30 +02:00
Sacha
8b4280b297
Rename KEYCODE to NKCODE (native key code) to stop name collision. Implement Blackberry keymapping.
2013-08-05 03:31:40 +10:00
Unknown W. Brackets
b46ab5f5a4
Always defined WIN32_LEAN_AND_MEAN.
...
Might as well, less mess everywhere else.
2013-07-28 21:04:20 -07:00
Unknown W. Brackets
d9bfcce0de
Switch to buttons instead of A/B/X/Y for dinput.
...
This way people don't say "but my X button shows up as L1."
2013-07-07 17:05:03 -07:00