Re: [PATCH v5 0/4] new driver for Valve Steam Controller
From: Rodrigo Rivas Costa
Date: Tue Mar 20 2018 - 15:18:59 EST
On Mon, Mar 19, 2018 at 10:06:09PM +0100, Clément VUCHENER wrote:
> 2018-03-19 21:08 GMT+01:00 Rodrigo Rivas Costa <rodrigorivascosta@xxxxxxxxx>:
> > On Sat, Mar 17, 2018 at 02:54:07PM -0700, Pierre-Loup A. Griffais wrote:
> >
> > Now, what I would really want is a review by Valve of my set-lizard function:
> >
> > static void steam_set_lizard_mode(struct steam_device *steam, bool enabled)
> > {
> > if (enabled) {
> > steam_send_report_byte(steam, 0x8e); //enable mouse
> > steam_send_report_byte(steam, 0x85); //enable esc, enter and cursor keys
> > } else {
> > steam_send_report_byte(steam, 0x81); //disable esc, enter and cursor keys
> > steam_write_register(steam, 0x08, 0x07); //disable mouse (cmd: 0x87)
> > }
> > }
> >
> > While it works, I find its asymmetry quite uncanny. I'm afraid that some
> > of these are there for a side effect, this is not their real purpose.
> > Could you give me a hint about this?
> >
>
> If I remember correctly, you can also enable the mouse with "87 03 08
> 00 00". But that do not explain the asymmetry or why there are two
> ways of doing it. I always found it weird that the "enable" value was
> 0x0000 and the "disable" value 0x0007.
This works fine, thanks. IMO, it is better than command 0x8e.
I also found that register 0x07 controls the cursor keys emulation:
* 87 03 07 07 00: disable
* 87 03 07 03 00: enable (03 or 03
* 87 03 07 00 00: set "joystick mode" (?)
But I cannot find a similar register to disable the enter/esc keys, for
that I still need commands 0x85 and 0x81.
Can you tell me if there is a register to configure the enter/esc
emulation? That would be nice, because I could enable disable the lizard
mode with a single report: (87 09 07 07 00 08 07 00 xx 07 00).
Thanks.
Rodrigo