1 Commits

Author SHA1 Message Date
Oleg
94e6dfac6f Changes in VRS DFP config tool tinkering
Added installation of dotnet48
Switch Wine Windows version to 7
Move Wine prefix to hidden folder
Added VRS pedals into udev rules
2024-10-17 18:13:13 +03:00
4 changed files with 28 additions and 49 deletions

View File

@@ -7,7 +7,7 @@ That driver allows most DirectDrive wheelbases to initialize and work.
Most of the DirectDrive wheelbases are basically DirectInput wheels, but with some caveats, which Windows allows, but pidff doesn't. Most of the DirectDrive wheelbases are basically DirectInput wheels, but with some caveats, which Windows allows, but pidff doesn't.
In that repository - pidff driver with some changes, which allows most of the DirectDrive wheelbases to work. In that repository - pidff driver with some changes, which allows most of the DirectDrive wheelbases to work.
1. Added multiple quirks for better initialization rules for different wheelbases 1. Added multiple quirks for better initialization rules for different wheelbases (MOZA, VRS, Cammus)
2. Fixes for infinite-length effects 2. Fixes for infinite-length effects
3. Fixes for out-of-bounds values (no more spam in kernel logs) 3. Fixes for out-of-bounds values (no more spam in kernel logs)
@@ -18,8 +18,7 @@ And that's basically it
1. MOZA R3, R5, R9, R12, R16, R21 1. MOZA R3, R5, R9, R12, R16, R21
2. Cammus C5, C12 2. Cammus C5, C12
3. VRS DirectForce Pro 3. VRS DirectForce Pro
4. FFBeast Wheel 4. ...
5. ...
## What works? ## What works?
1. FFB (all effects from device descriptor) 1. FFB (all effects from device descriptor)
@@ -110,6 +109,8 @@ Then you need to force VRS software to use hidraw, not SDL, to find devices:
## Known issues with the driver ## Known issues with the driver
### MOZA
- Current limit of usable buttons is 160 (up from the Linux default of 80). Create an issue if you want this increased further. - Current limit of usable buttons is 160 (up from the Linux default of 80). Create an issue if you want this increased further.
## Known issues with the firmware ## Known issues with the firmware

View File

@@ -1,5 +1,5 @@
PACKAGE_NAME="universal-pidff" PACKAGE_NAME="universal-pidff"
PACKAGE_VERSION="0.0.12" PACKAGE_VERSION="0.0.9"
MAKE[0]="make KVERSION=$kernelver" MAKE[0]="make KVERSION=$kernelver"
CLEAN="make clean" CLEAN="make clean"
BUILT_MODULE_NAME[0]="hid-universal-pidff" BUILT_MODULE_NAME[0]="hid-universal-pidff"

View File

@@ -10,6 +10,10 @@
#define USB_DEVICE_ID_MOZA_R12 0x0006 #define USB_DEVICE_ID_MOZA_R12 0x0006
#define USB_DEVICE_ID_MOZA_R16_R21 0x0000 #define USB_DEVICE_ID_MOZA_R16_R21 0x0000
// VRS DrivingForce Pro
#define USB_VENDOR_ID_VRS 0x0483
#define USB_DEVICE_ID_VRS_DFP 0xa355
// Moza Racing FH5 mode // Moza Racing FH5 mode
#define USB_DEVICE_ID_MOZA_R3_FH5 0x0015 #define USB_DEVICE_ID_MOZA_R3_FH5 0x0015
#define USB_DEVICE_ID_MOZA_R5_FH5 0x0014 #define USB_DEVICE_ID_MOZA_R5_FH5 0x0014
@@ -22,17 +26,4 @@
#define USB_DEVICE_ID_CAMMUS_C5 0x0301 #define USB_DEVICE_ID_CAMMUS_C5 0x0301
#define USB_DEVICE_ID_CAMMUS_C12 0x0302 #define USB_DEVICE_ID_CAMMUS_C12 0x0302
// VRS DrivingForce Pro
#define USB_VENDOR_ID_VRS 0x0483
#define USB_DEVICE_ID_VRS_DFP 0xa355
// FFBeast
#define USB_VENDOR_ID_FFBEAST 0x045b
#define USB_DEVICE_ID_FFBEAST_WHEEL 0x59d7
// LITESTAR
#define USB_VENDOR_ID_LITESTAR 0x11ff
#define USB_DEVICE_ID_LITESTAR_WHEEL 0x2141
#endif #endif

View File

@@ -11,7 +11,6 @@
#include <linux/hid.h> #include <linux/hid.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/input-event-codes.h> #include <linux/input-event-codes.h>
#include <linux/version.h>
#include "hid-ids.h" #include "hid-ids.h"
#include "hid-pidff.h" #include "hid-pidff.h"
@@ -46,20 +45,12 @@ static const struct hid_device_id pidff_wheel_devices[] = {
.driver_data = PIDFF_QUIRK_NO_DELAY_EFFECT .driver_data = PIDFF_QUIRK_NO_DELAY_EFFECT
| PIDFF_QUIRK_NO_STRICT_PID_CONTROL | PIDFF_QUIRK_NO_STRICT_PID_CONTROL
| PIDFF_QUIRK_NO_PID_PARAM_BLOCK_OFFSET }, | PIDFF_QUIRK_NO_PID_PARAM_BLOCK_OFFSET },
{ HID_USB_DEVICE(USB_VENDOR_ID_FFBEAST, USB_DEVICE_ID_FFBEAST_WHEEL),
.driver_data = PIDFF_QUIRK_NO_DELAY_EFFECT },
{ HID_USB_DEVICE(USB_VENDOR_ID_LITESTAR, USB_DEVICE_ID_LITESTAR_WHEEL),
.driver_data = PIDFF_QUIRK_FIX_WHEEL_DIRECTION },
{ } { }
}; };
MODULE_DEVICE_TABLE(hid, pidff_wheel_devices); MODULE_DEVICE_TABLE(hid, pidff_wheel_devices);
static static u8 *moza_report_fixup(struct hid_device *hdev, __u8 *rdesc,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,12,0)
const
#endif
u8 *moza_report_fixup(struct hid_device *hdev, __u8 *rdesc,
unsigned int *rsize) unsigned int *rsize)
{ {
// Fix data type on PID Device Control // Fix data type on PID Device Control
@@ -70,11 +61,7 @@ u8 *moza_report_fixup(struct hid_device *hdev, __u8 *rdesc,
} }
static static u8 *universal_pidff_report_fixup(struct hid_device *hdev, __u8 *rdesc,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,12,0)
const
#endif
u8 *universal_pidff_report_fixup(struct hid_device *hdev, __u8 *rdesc,
unsigned int *rsize) unsigned int *rsize)
{ {
if (hdev->vendor == USB_VENDOR_ID_MOZA) { if (hdev->vendor == USB_VENDOR_ID_MOZA) {