I am trying to understand problems with how steering wheels work on Linux (or not). Does every model of steering wheel require a specific driver? And why? I think that they shouldn't need special drivers because all wheels are very similar as far as I know (send the angle of the wheel and position of pedals and buttons and receive force feedback), so one driver could work with all wheels like one driver works with all USB keyboards or most sound devices. But I see projects making specific models of wheels work on Linux (like hid-fanatecff), which hints to that they need special drivers.
That gives me the idea: How do games communicate with the steering wheels? Do they need special support for specific wheels? Keeping support for all steering wheels seems unmanageable, so I guess that there is a common interface, but I couldn't find one.