Re: [PATCH v2 0/3] new driver for Valve Steam Controller
From: Pierre-Loup A. Griffais
Date: Tue Feb 20 2018 - 17:36:14 EST
Hi Rodrigo,
Thanks for working on that! I have a few questions and remarks.
For the reverse-engineering part, there's a lot of existing reference in
existing (user-space) drivers for the controllers like sc-controller,
but feel free to reach out if you have any questions. It's overall
pretty simple and there's nothing secret about how it functions; there
are some quirks, however. Nothing secret about it, but also no
documentation, so might as well be... Have you tried deflecting the
analog stick while touching the left trackpad? You'll most likely need
special handling there. How are you planning to expose
enabling/disabling auxiliary data like gyro over wireless?
Will this driver being loaded affect functionality of existing
applications that talk to it through HID directly, like Steam or
sc-controller? Will they be able to keep getting the same HID data they
do today? If so, the extent of the work needed to support it in Steam
might just be to ignore the controller device it's exposing, since Steam
will expose that itself through its own means.
Thanks,
- Pierre-Loup
On 02/20/2018 11:33 AM, Rodrigo Rivas Costa wrote:
This patchset implements a driver for Valve Steam Controller, based on a
reverse analysis by myself.
Notable changes from patchset v1:
* Remove references to USB. Now the interesting interfaces are selected by
looking for the ones with feature reports.
* Feature reports buffers are allocated with hid_alloc_report_buf().
* Feature report length is checked, to avoid overflows in case of
corrupt/malicius USB devices.
* Resolution added to the ABS axes.
* A lot of minor cleanups.
Rodrigo Rivas Costa (3):
HID: add driver for Valve Steam Controller
HID: steam: add serial number information.
HID: steam: add battery device.
drivers/hid/Kconfig | 8 +
drivers/hid/Makefile | 1 +
drivers/hid/hid-ids.h | 4 +
drivers/hid/hid-quirks.c | 4 +
drivers/hid/hid-steam.c | 703 +++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 720 insertions(+)
create mode 100644 drivers/hid/hid-steam.c