summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/input/input_dinput.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2023-03-29 15:11:07 +1100
committer Vas Crabb <vas@vastheman.com>2023-03-29 15:11:07 +1100
commit664f2107750db3d5740149fed8e4d2db49fce65b (patch)
tree06176611e92d67188d457cabf1f242a73b07eb90 /src/osd/modules/input/input_dinput.cpp
parent1302585d33108600b9d4f2cd8af569de3d9a5d42 (diff)
osd/modules/input/input_dinput.cpp: Adjusted heuristics to work better with newer DualShock/DualSense controllers.
Diffstat (limited to 'src/osd/modules/input/input_dinput.cpp')
-rw-r--r--src/osd/modules/input/input_dinput.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/osd/modules/input/input_dinput.cpp b/src/osd/modules/input/input_dinput.cpp
index 6cbe668c108..eec5904b3ac 100644
--- a/src/osd/modules/input/input_dinput.cpp
+++ b/src/osd/modules/input/input_dinput.cpp
@@ -51,13 +51,13 @@ might expect from the HID mapping.
Gamepads:
-Axis Logitech Xinput Switch
-X Left X Left X Left X
-Y Left Y Left Y Left Y
-Z Right X Triggers
-Rx Right X Right X
-Ry Right Y Right Y
-Rz Right Y
+Axis Logitech DS4 Xinput Switch
+X Left X Left X Left X Left X
+Y Left Y Left Y Left Y Left Y
+Z Right X Right X Triggers
+Rx Left trigger Right X Right X
+Ry Right trigger Right Y Right Y
+Rz Right Y Right Y
Thrustmaster controllers:
@@ -1041,12 +1041,11 @@ void dinput_joystick_device::configure(input_device &device)
{ axisitems[0], axisitems[1] },
{ ITEM_ID_INVALID, ITEM_ID_INVALID } };
input_item_id pedalaxis = ITEM_ID_INVALID;
- if ((ITEM_ID_INVALID != axisitems[3]) && (ITEM_ID_INVALID != axisitems[4]))
+ if ((ITEM_ID_INVALID != axisitems[2]) && (ITEM_ID_INVALID != axisitems[5]))
{
- // assume Rx/Ry are right stick and Z is triggers if present
- stickaxes[1][0] = axisitems[3];
- stickaxes[1][1] = axisitems[4];
- pedalaxis = axisitems[2];
+ // assume Z/Rz are right stick
+ stickaxes[1][0] = axisitems[2];
+ stickaxes[1][1] = axisitems[5];
add_twin_stick_assignments(
assignments,
stickaxes[0][0],
@@ -1062,11 +1061,12 @@ void dinput_joystick_device::configure(input_device &device)
ITEM_ID_INVALID,
ITEM_ID_INVALID);
}
- else if ((ITEM_ID_INVALID != axisitems[2]) && (ITEM_ID_INVALID != axisitems[5]))
+ else if ((ITEM_ID_INVALID != axisitems[3]) && (ITEM_ID_INVALID != axisitems[4]))
{
- // assume Z/Rz are right stick
- stickaxes[1][0] = axisitems[2];
- stickaxes[1][1] = axisitems[5];
+ // assume Rx/Ry are right stick and Z is triggers if present
+ stickaxes[1][0] = axisitems[3];
+ stickaxes[1][1] = axisitems[4];
+ pedalaxis = axisitems[2];
add_twin_stick_assignments(
assignments,
stickaxes[0][0],