7 Commits

Author SHA1 Message Date
Oleg
67f3a0be6a Some README changes 2024-07-16 18:11:50 +03:00
Makarenko Oleg
860794b6bb Merge pull request #11 from JacKeTUs/cammus
Added Cammus C5
2024-07-16 16:44:59 +03:00
Oleg
2e5efb2243 Merge branch 'main' into cammus 2024-07-16 12:37:52 +03:00
Oleg
02a07521ae Add Cammus C5 to README.md 2024-07-15 04:54:18 +03:00
Oleg
ab76f16c32 Merge branch 'main' into cammus 2024-07-15 04:52:26 +03:00
Oleg
776dccf8f9 Added Cammus wheel to the list with NO_DELAY quirk 2024-07-15 04:48:39 +03:00
Oleg
96088a6c56 Added Cammus C5 wheelbase ID 2024-07-15 04:47:12 +03:00
3 changed files with 23 additions and 9 deletions

View File

@@ -16,7 +16,8 @@ And that's basically it
## What devices are supported? ## What devices are supported?
### Bases: ### Bases:
1. MOZA R3, R5, R9, R12, R16, R21 1. MOZA R3, R5, R9, R12, R16, R21
2. ... 2. Cammus C5
3. ...
## What works? ## What works?
1. FFB (all effects from device descriptor) 1. FFB (all effects from device descriptor)
@@ -29,11 +30,15 @@ And that's basically it
3. Setup through proprietary software. May require [some tweaking](#how-to-set-up-a-base-parameters)) 3. Setup through proprietary software. May require [some tweaking](#how-to-set-up-a-base-parameters))
## How to use this driver? ## How to use this driver?
There's an [AUR packege](https://aur.archlinux.org/packages/universal-ff-dkms-git) for Arch Linux maintained by @Lawstorant You can install it through AUR package, through DKMS or manually.
### AUR package
There's an [AUR package](https://aur.archlinux.org/packages/universal-ff-dkms-git) for Arch Linux maintained by [@Lawstorant](https://github.com/Lawstorant).
Alternatively, you can install it through DKMS or manually.
### DKMS ### DKMS
1. Install `dkms` DKMS will install module into system, and will update it every time you update your kernel. Module will persist after reboots. It's the preferrable way to install it on the most distros.
1. Install `dkms` package from your distro package manager
2. Clone repository to `/usr/src/universal-pidff` 2. Clone repository to `/usr/src/universal-pidff`
3. Install the module: 3. Install the module:
`sudo dkms install /usr/src/universal-pidff` `sudo dkms install /usr/src/universal-pidff`
@@ -43,12 +48,13 @@ Alternatively, you can install it through DKMS or manually.
To remove module: To remove module:
`sudo dkms remove universal-pidff/<version> --all` `sudo dkms remove universal-pidff/<version> --all`
### Manually
1. Install `linux-headers-$(uname -r)` ### Manually
2. Clone repository Best for debugging purposes, where you need frequently change codebase/branches
3. `make` 1. Install `linux-headers-$(uname -r)` and `build-essential` packages from your distro package manager
4. `sudo insmod hid-universal-pidff.ko` 2. Clone repository anywhere you want and `cd` into that directory
3. `make`. Alternatively, you can enable debug logs from the driver with `make debug`
4. Load module into system with `sudo insmod hid-universal-pidff.ko`
To unload module: To unload module:
`sudo rmmod hid_universal_pidff` `sudo rmmod hid_universal_pidff`
@@ -59,6 +65,9 @@ To unload module:
**[Android App](https://play.google.com/store/apps/details?id=com.gudsen.mozapithouse)** **[Android App](https://play.google.com/store/apps/details?id=com.gudsen.mozapithouse)**
### Cammus
**[Android App](https://play.google.com/store/apps/details?id=com.cammus.simulator)**
## Known issues with the driver ## Known issues with the driver
- Buttons above 80 simply don't show up. This is a Linux limitation and we're trying to fix that in the upstream - Buttons above 80 simply don't show up. This is a Linux limitation and we're trying to fix that in the upstream

View File

@@ -9,4 +9,7 @@
#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
#define USB_VENDOR_ID_CAMMUS 0x3416
#define USB_DEVICE_ID_CAMMUS_C5 0x0301
#endif #endif

View File

@@ -23,6 +23,8 @@ 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_CAMMUS, USB_DEVICE_ID_CAMMUS_C5),
.driver_data = PIDFF_QUIRK_NO_DELAY_EFFECT },
{ } { }
}; };
MODULE_DEVICE_TABLE(hid, pidff_wheel_devices); MODULE_DEVICE_TABLE(hid, pidff_wheel_devices);