I'm trying to add support for Xbox One Controllers to OpenBSD.
It looks as though I can fairly easily get the device to attach as a uhid
device, but I believe the device requires some special initialization data
sent to it before it will actually begin functioning.
That being said, I'm pretty sure that the answer is not to continue adding
special cases within uhidev.c - it feels weird already that there is Xbox
360 controller code inside there to me, to be honest.
My question is this: If I create a new driver that attaches after uhidev,
will software expecting a standard HID gamepad work, or will they not work
because they haven't been taught about my new, special driver?
If a new driver isn't the answer, and it must remain a uhidev device - is
there a standard approach to something like this? Should I just break out
the Xbox Controller code into a new file and call out to it from the
uhidev.{match,attach,detach,etc..}?
Should Gamepads be exposed via wsmux like keyboards and mice instead?
Thanks,