Announcement

Collapse
No announcement yet.

New Car & Flight Controller HID Drivers Ready To Race With Linux 6.1

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • New Car & Flight Controller HID Drivers Ready To Race With Linux 6.1

    Phoronix: New Car & Flight Controller HID Drivers Ready To Race With Linux 6.1

    Two new HID drivers are set to premiere with the upcoming Linux 6.1 merge window for car and flight simulators...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Something about the headline reminds me of this: https://roborace.com/

    I plan to watch a couple races in the first few seasons. Might there'll be a few hilarious snafus, initially, but I fear it'll ultimately be even less interesting to watch than Formula E, which hasn't managed to hold my interest.

    I think robo rally racing would be a better spectacle.

    Comment


    • #3
      Hm, I thought a HID and input driver was the same thing, but based on this article it sounds like that is not the case. Could someone knowledge enlighten me about the difference? Is it just two different subsystems?

      Comment


      • #4
        Originally posted by Vorpal View Post
        Hm, I thought a HID and input driver was the same thing, but based on this article it sounds like that is not the case. Could someone knowledge enlighten me about the difference? Is it just two different subsystems?
        This article may be interesting for you - https://en.m.wikipedia.org/wiki/Human_interface_device

        Comment


        • #5
          Originally posted by gosh000 View Post

          This article may be interesting for you - https://en.m.wikipedia.org/wiki/Human_interface_device
          It helped somewhat, it did not explain how things work in the kernel specifically. However, after reading the code this is how I understand it:
          • All HID devices are input devices. The reverse is not true. There are lots of input devices (e.g. the system power button, the lid switch of a laptop, weird Fn keys on your laptop, lots of laptop things in general) that are not HID devices.
          • HID devices follow (to some extent, the real world is messy) the HID standard, whereby the devices tell the OS what sort of features they have (how many buttons, analog axes, etc) and what they represent (standard keyboard keys, various well known media keys, mouse buttons, ...). This is the HID descriptor.
          • Originally HID was for USB, but it has since been expanded to Bluetooth, SPI and various other transports
          • As I alluded to above, in practise HID is messy, and there are lots of vendor extensions. Either to support things outside the original spec or just because they want to be special snowflakes. Probably a bit of both. This is probably the main reason why we can't use have a single unified HID driver (after all, we should be able to dynamically build up the proper information from the HID descriptor and not need any device specific drivers.

          Comment


          • #6
            Originally posted by Vorpal View Post
            Hm, I thought a HID and input driver was the same thing, but based on this article it sounds like that is not the case. Could someone knowledge enlighten me about the difference? Is it just two different subsystems?
            The PXRC hardware comes in two variants, one is HID compatible (Well... kind of. I needed to fix up the report descriptor..) and the other one rather use a vendor-specific USB class.

            The two subsystems are very tight. Many HID-devices are directly creating an input device (as both VRC2 and PXRC are doing) based on the report descriptor.

            This report descriptor is a static description of how the data should be interpreted. It contains information about how to interpret each bit and byte and how those are mapped to specific input events (joystick axis, buttons, and so on).

            Comment

            Working...
            X