From 1d0c616ac233a3a185a067329061c82dfc4494ab Mon Sep 17 00:00:00 2001 From: skryvel <120495777+skryvel@users.noreply.github.com> Date: Mon, 26 Aug 2024 09:40:22 -0300 Subject: [PATCH] feat: add support for Logitech G PRO PS HIDPP mode --- data/udev/99-logitech-wheel-perms.rules | 3 +++ oversteer/device.py | 2 +- oversteer/device_manager.py | 3 ++- oversteer/wheel_ids.py | 3 ++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/data/udev/99-logitech-wheel-perms.rules b/data/udev/99-logitech-wheel-perms.rules index 6137512..80eb31a 100644 --- a/data/udev/99-logitech-wheel-perms.rules +++ b/data/udev/99-logitech-wheel-perms.rules @@ -13,6 +13,9 @@ DRIVER=="logitech" GOTO="logitech-driver" DRIVER!="logitech-hidpp-device" GOTO="end" # Logitech G PRO Racing Wheel for Xbox One and PC +ATTRS{idProduct}=="c268", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range leds/*/brightness; chmod 777 leds/ leds/*'" + +# Logitech G PRO Racing Wheel for PlayStation and PC ATTRS{idProduct}=="c272", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range leds/*/brightness; chmod 777 leds/ leds/*'" # Logitech G923 Racing Wheel for Xbox One and PC diff --git a/oversteer/device.py b/oversteer/device.py index 560bf6a..a68c4d8 100644 --- a/oversteer/device.py +++ b/oversteer/device.py @@ -435,7 +435,7 @@ def normalize_event(self, event): event.code = ecodes.ABS_Y elif self.vendor_id == wid.VENDOR_FANATEC and event.code in [ecodes.ABS_Y, ecodes.ABS_Z, ecodes.ABS_RZ]: event.value = int(event.value + 32768 / 257) - elif self.usb_id == wid.LG_GPRO: + elif self.usb_id in [wid.LG_GPRO_PS, wid.LG_GPRO_XBOX]: if event.code in [ecodes.ABS_RX, ecodes.ABS_RY, ecodes.ABS_RZ]: event.value = int(255 - event.value / 257) if event.code == ecodes.ABS_RX: diff --git a/oversteer/device_manager.py b/oversteer/device_manager.py index 020a119..a3d424b 100644 --- a/oversteer/device_manager.py +++ b/oversteer/device_manager.py @@ -26,7 +26,8 @@ def __init__(self): wid.LG_G920: 900, wid.LG_G923P: 900, wid.LG_G923X: 900, - wid.LG_GPRO: 1080, + wid.LG_GPRO_PS: 1080, + wid.LG_GPRO_XBOX: 1080, wid.LG_MOMO2: 270, wid.LG_MOMO: 270, wid.LG_SFW: 270, diff --git a/oversteer/wheel_ids.py b/oversteer/wheel_ids.py index 6721b96..0ab3500 100644 --- a/oversteer/wheel_ids.py +++ b/oversteer/wheel_ids.py @@ -20,7 +20,8 @@ LG_G920 = '046d:c262' LG_G923P = '046d:c266' LG_G923X = '046d:c26e' -LG_GPRO = '046d:c272' +LG_GPRO_PS = '046d:c268' +LG_GPRO_XBOX = '046d:c272' LG_MOMO = '046d:c295' LG_MOMO2 = '046d:ca03' LG_SFW = '046d:c29c'