From 5495a8c13a0f77166fc40f56c0cb0b1dff90562d Mon Sep 17 00:00:00 2001 From: Hermann Lieder Date: Fri, 4 Sep 2020 01:34:50 +0200 Subject: [PATCH 1/2] fix dpad for dualshock3 --- Linux/LinuxGameController.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Linux/LinuxGameController.cpp b/Linux/LinuxGameController.cpp index a1ea3b162..cfd42bbe2 100644 --- a/Linux/LinuxGameController.cpp +++ b/Linux/LinuxGameController.cpp @@ -164,10 +164,10 @@ bool LinuxGameController::IsButtonPressed(int buttonNumber) case 24: return CheckAxis(ABS_RZ, true); case 25: return CheckAxis(ABS_RZ, false); - case 26: return CheckAxis(ABS_HAT0X, true); - case 27: return CheckAxis(ABS_HAT0X, false); - case 28: return CheckAxis(ABS_HAT0Y, true); - case 29: return CheckAxis(ABS_HAT0Y, false); + case 26: return CheckAxis(ABS_HAT0X, true) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_RIGHT) == 1); + case 27: return CheckAxis(ABS_HAT0X, false) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_LEFT) == 1); + case 28: return CheckAxis(ABS_HAT0Y, true) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_DOWN) == 1); + case 29: return CheckAxis(ABS_HAT0Y, false) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_UP) == 1); case 30: return CheckAxis(ABS_HAT1X, true); case 31: return CheckAxis(ABS_HAT1X, false); case 32: return CheckAxis(ABS_HAT1Y, true); From 21dbc22a8990f68e2806e1a686f7cfa13b1f47e8 Mon Sep 17 00:00:00 2001 From: Hermann Lieder Date: Fri, 4 Sep 2020 01:55:38 +0200 Subject: [PATCH 2/2] Linux: Fixed DualShock3 D-Pad --- Linux/LinuxGameController.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Linux/LinuxGameController.cpp b/Linux/LinuxGameController.cpp index cfd42bbe2..462f8026f 100644 --- a/Linux/LinuxGameController.cpp +++ b/Linux/LinuxGameController.cpp @@ -164,10 +164,10 @@ bool LinuxGameController::IsButtonPressed(int buttonNumber) case 24: return CheckAxis(ABS_RZ, true); case 25: return CheckAxis(ABS_RZ, false); - case 26: return CheckAxis(ABS_HAT0X, true) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_RIGHT) == 1); + case 26: return CheckAxis(ABS_HAT0X, true) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_RIGHT) == 1); case 27: return CheckAxis(ABS_HAT0X, false) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_LEFT) == 1); - case 28: return CheckAxis(ABS_HAT0Y, true) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_DOWN) == 1); - case 29: return CheckAxis(ABS_HAT0Y, false) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_UP) == 1); + case 28: return CheckAxis(ABS_HAT0Y, true) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_DOWN) == 1); + case 29: return CheckAxis(ABS_HAT0Y, false) || (libevdev_get_event_value(_device, EV_KEY, BTN_DPAD_UP) == 1); case 30: return CheckAxis(ABS_HAT1X, true); case 31: return CheckAxis(ABS_HAT1X, false); case 32: return CheckAxis(ABS_HAT1Y, true);