Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd04363d authored by Elias Vanderstuyft's avatar Elias Vanderstuyft Committed by Jiri Kosina
Browse files

HID: logitech - lg2ff: Add IDs for Formula Vibration Feedback Wheel



Add USB IDs for Logitech Formula Vibration Feedback Wheel (046d:ca04).

The lg2ff force feedback subdriver is used for vibration and
HID_GD_MULTIAXIS is set to avoid deadzone like other Logitech wheels.

Kconfig description etc are also updated accordingly.

Signed-off-by: default avatarElias Vanderstuyft <Elias.vds@gmail.com>
[anssi.hannula@iki.fi: added description and CCs]
Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: default avatarSimon Wood <simon@mungewell.org>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent fd848319
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -369,12 +369,14 @@ config LOGITECH_FF
	  force feedback.

config LOGIRUMBLEPAD2_FF
	bool "Logitech RumblePad/Rumblepad 2 force feedback support"
	bool "Logitech force feedback support (variant 2)"
	depends on HID_LOGITECH
	select INPUT_FF_MEMLESS
	help
	  Say Y here if you want to enable force feedback support for Logitech
	  RumblePad and Rumblepad 2 devices.
	  Say Y here if you want to enable force feedback support for:
	  - Logitech RumblePad
	  - Logitech Rumblepad 2
	  - Logitech Formula Vibration Feedback Wheel

config LOGIG940_FF
	bool "Logitech Flight System G940 force feedback support"
+1 −0
Original line number Diff line number Diff line
@@ -1753,6 +1753,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_FLIGHT_SYSTEM_G940) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_DFP_WHEEL) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_DFGT_WHEEL) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G25_WHEEL) },
+1 −0
Original line number Diff line number Diff line
@@ -571,6 +571,7 @@
#define USB_DEVICE_ID_DINOVO_EDGE	0xc714
#define USB_DEVICE_ID_DINOVO_MINI	0xc71f
#define USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2	0xca03
#define USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL	0xca04

#define USB_VENDOR_ID_LUMIO		0x202e
#define USB_DEVICE_ID_CRYSTALTOUCH	0x0006
+3 −0
Original line number Diff line number Diff line
@@ -492,6 +492,7 @@ static int lg_input_mapped(struct hid_device *hdev, struct hid_input *hi,
		case USB_DEVICE_ID_LOGITECH_G27_WHEEL:
		case USB_DEVICE_ID_LOGITECH_WII_WHEEL:
		case USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2:
		case USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL:
			field->application = HID_GD_MULTIAXIS;
			break;
		default:
@@ -639,6 +640,8 @@ static const struct hid_device_id lg_devices[] = {
		.driver_data = LG_NOGET | LG_FF4 },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2),
		.driver_data = LG_FF4 },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_VIBRATION_WHEEL),
		.driver_data = LG_FF2 },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G25_WHEEL),
		.driver_data = LG_FF4 },
	{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_DFGT_WHEEL),
+1 −1
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ int lg2ff_init(struct hid_device *hid)

	hid_hw_request(hid, report, HID_REQ_SET_REPORT);

	hid_info(hid, "Force feedback for Logitech RumblePad/Rumblepad 2 by Anssi Hannula <anssi.hannula@gmail.com>\n");
	hid_info(hid, "Force feedback for Logitech variant 2 rumble devices by Anssi Hannula <anssi.hannula@gmail.com>\n");

	return 0;
}