701edb335a
Various warning fixes
2021-02-06 19:19:55 +10:00
3a7d9f1725
CommonHostInterface: Add controller nav helpers
2021-01-31 17:10:27 +10:00
d860c14267
CommonHostInterface: Update rumble every frame regardless of change
...
Fixes SDL rumble cutting off early when a game sends the same motor
strength values every frame over a long duration.
2021-01-07 18:30:43 -08:00
3ffbbe82e8
SDLControllerInterface: Use SDL_GameControllerRumble where supported
...
Allows vibration on DualShock 4 without using DS4Windows.
2020-12-31 19:41:51 +10:00
b73fd7a4e8
SDLControllerInterface: Ship game controller db with builds
2020-11-28 00:14:44 +10:00
086f251370
Tidy up SDL controller methods interface
2020-11-15 16:12:39 +01:00
2880b71b48
Support for SDL Joysticks
...
This enables use of non-controller peripherals,
such as DirectInput steering wheels or flight sticks
2020-11-15 16:12:39 +01:00
d87ab23fec
ControllerInterface: Move axis scaling into AnalogController class
2020-11-11 23:55:23 -08:00
67d0bbedb1
ControllerInterface: Don't use a minimum strength of 0.01
2020-09-17 19:56:11 +10:00
057bf986c4
Allow mapping half axes to buttons
...
This allows to bind pressure sensitive NeGcon buttons to keyboard,
mouse and controller buttons
2020-08-29 14:19:28 +02:00
3c46f7b44c
ControllerInterface: Add XInput controller backend
2020-08-22 16:50:19 +10:00
1e10bef09e
SDLControllerInterface: Add support for optional game controller database
...
If an optional "gamecontrollerdb.txt" file exists in the user directory,
then SDL game controller mappings will be loaded from it.
There is an officially endorsed community sourced database in
https://github.com/gabomdq/SDL_GameControllerDB
2020-08-21 23:51:07 +01:00
76cb52407b
SDLControllerInterface: Init joystick API as well
2020-07-06 02:47:33 +10:00
0a0a2024fd
SDLControllerInterface: Prefer cbutton.which for button events
...
Functionally the same as caxis.which due to SDL_Event union, but prefer
using SDL_ControllerButtonEvent members for button events.
2020-07-02 17:45:44 -07:00
293c2f50cd
ControllerInterface: Make axis-to-button deadzone customizable
2020-06-23 08:15:17 -07:00
6b7c068f83
ControllerInterface: Implement axis scaling for axis-to-axis mappings
...
This feature allows us to work around analog stick range issues at the
intercardinal directions in certain titles (e.g. Rockman DASH 2) caused
by modern controllers having a tighter logical range of reporting than
PS1 analog controllers.
2020-06-23 08:14:37 -07:00
d9ebb975b2
CommonHostInterface: Reimplement controller rumble support
...
Even better than before, supports separate motor control.
2020-04-14 16:34:42 +10:00
e843fcd9f0
SDLControllerInterface: Fix broken input when player IDs clash
2020-04-11 19:36:53 +10:00
cae2e09957
SDLControllerInterface: Pass player ID to hooks not joystick ID
...
Should fix controllers which show up as non-zero players.
2020-04-05 01:28:08 +10:00
361bedc2c3
SDLControllerInterface: Hackfix for non-player-id supporting controllers
2020-03-22 21:31:54 +10:00
46f921fb95
SDLControllerInterface: Fix crash on shutdown
2020-03-22 12:54:25 +10:00
8190efa5dc
SDLControllerInterface: Fix compilation on Ubuntu LTS
2020-03-22 12:28:10 +10:00
29a09a3685
Introduce ControllerInterface class, port SDL interface over
...
This breaks controller support in the SDL frontend until it's ported
over to the common interface.
2020-03-22 00:49:46 +10:00
b7dfe06f74
Qt: Support axes in input binding widgets
2020-02-18 00:06:11 +09:00
0f7365117b
SDLControllerInterface: Add missing include
2020-02-16 00:39:06 +09:00
06f4d72631
FrontendCommon: Use SDL_InitSubSystem() for lazy initialization
2020-02-16 00:15:05 +09:00
59cf799491
Qt: Implement controller interface/binding
2020-02-16 00:14:53 +09:00