Skip to content
  • Michael Bauer's avatar
    HID: Fix Logitech Driving Force Pro wheel · dc0a4f0c
    Michael Bauer authored
    
    
    - Add the quirk "NOGET" to make the wheel work at all in native mode.
    - Replace the somehow broken report descriptor with a custom one to have
      separate throttle and brake axes.
    
    As there are significant differences in the descriptor (original descriptor
    "hides" the separate axes in a  24 bit FF00 usagepage, new descripter replaces
    that with two individual 8 bit desktop.y and desktop.rz usages) I provided a
    complete replacement descriptor instead trying to patch the original one.
    Patching the descriptor seems not feasible as the new one is much larger.
    
    Note: To actually test this you have to use the tool "ltwheelconf" to put the
    DFP into it's native mode - See below for more info.
    
    Background:
    Most Logitech wheels are initially reporting themselves with a "fallback"
    deviceID (USB_DEVICE_ID_LOGITECH_WHEEL - 0xc294), in order to make sure they
    are working even without having the proper driver installed.
    
    If the Logitech driver is installed it sends a special command to the wheel
    which sets the wheel to "native mode", enabling enhance features like:
    - Clutch pedal
    - extended wheel rotation range (up to 900 degrees)
    - H-gate shifter
    - separate axis for throttle / brake
    - all buttons
    
    When the wheel is set to native mode it basically disconnects and reconnects
    with a different deviceID (USB_DEVICE_ID_LOGITECH_DFP_WHEEL - 0xc298 in this
    case).
    
    I am working on a userspace tool [1] which does the switching from fallback to
    native mode. During development I found out that the Driving Force Pro wheel
    is not supported in native mode - quierk NOGET is missing and the throttle and
    brake axes are reported in a combined way only.
    
    Signed-off-by: default avatarMichael Bauer <michael@m-bauer.org>
    Signed-off-by: default avatarSimon Wood <simon@mungewell.org>
    
    [1] https://github.com/TripleSpeeder/LTWheelConf
    
    
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    dc0a4f0c