Added quirks for VRS wheelbase
This commit is contained in:
@@ -23,6 +23,12 @@ static const struct hid_device_id pidff_wheel_devices[] = {
|
|||||||
.driver_data = PIDFF_QUIRK_FIX_WHEEL_DIRECTION | PIDFF_QUIRK_FIX_PERIODIC_ENVELOPE },
|
.driver_data = PIDFF_QUIRK_FIX_WHEEL_DIRECTION | PIDFF_QUIRK_FIX_PERIODIC_ENVELOPE },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_MOZA, USB_DEVICE_ID_MOZA_R16_R21),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MOZA, USB_DEVICE_ID_MOZA_R16_R21),
|
||||||
.driver_data = PIDFF_QUIRK_FIX_WHEEL_DIRECTION | PIDFF_QUIRK_FIX_PERIODIC_ENVELOPE },
|
.driver_data = PIDFF_QUIRK_FIX_WHEEL_DIRECTION | PIDFF_QUIRK_FIX_PERIODIC_ENVELOPE },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MOZA, USB_DEVICE_ID_MOZA_R16_R21),
|
||||||
|
.driver_data = PIDFF_QUIRK_FIX_WHEEL_DIRECTION | PIDFF_QUIRK_FIX_PERIODIC_ENVELOPE },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_VRS, USB_DEVICE_ID_VRS_DFP),
|
||||||
|
.driver_data = PIDFF_QUIRK_NO_DELAY_EFFECT
|
||||||
|
| PIDFF_QUIRK_NO_STRICT_PID_CONTROL
|
||||||
|
| PIDFF_QUIRK_NO_PID_PARAM_BLOCK_OFFSET },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(hid, pidff_wheel_devices);
|
MODULE_DEVICE_TABLE(hid, pidff_wheel_devices);
|
||||||
|
|||||||
12
hid-pidff.h
12
hid-pidff.h
@@ -19,6 +19,18 @@
|
|||||||
*/
|
*/
|
||||||
#define PIDFF_QUIRK_NO_DELAY_EFFECT BIT(2)
|
#define PIDFF_QUIRK_NO_DELAY_EFFECT BIT(2)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ignore PARAM_BLOCK_OFFSET (Axis number).
|
||||||
|
* Most of the wheelbases have only one Axis
|
||||||
|
*/
|
||||||
|
#define PIDFF_QUIRK_NO_PID_PARAM_BLOCK_OFFSET BIT(3)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Some wheelbases don't have some PID_CONTROL fields.
|
||||||
|
* PID standard does not define fields that MUST exist, but
|
||||||
|
* that driver was strict about them. This quirk disables it.
|
||||||
|
*/
|
||||||
|
#define PIDFF_QUIRK_NO_STRICT_PID_CONTROL BIT(4)
|
||||||
|
|
||||||
int hid_pidff_init(struct hid_device *hid);
|
int hid_pidff_init(struct hid_device *hid);
|
||||||
int hid_pidff_init_with_quirks(struct hid_device *hid, const struct hid_device_id *id);
|
int hid_pidff_init_with_quirks(struct hid_device *hid, const struct hid_device_id *id);
|
||||||
|
|||||||
Reference in New Issue
Block a user