From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Rivas Costa Subject: Re: [PATCH v5 0/4] new driver for Valve Steam Controller Date: Tue, 20 Mar 2018 20:18:47 +0100 Message-ID: <20180320191847.GA23020@casa> References: <20180311195842.5551-1-rodrigorivascosta@gmail.com> <20180312205158.GB21621@casa> <20180315210659.GA16037@casa> <1c75c511-eada-585e-297f-e90feb17ac8c@valvesoftware.com> <20180319200813.GA18746@casa> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: =?iso-8859-1?Q?Cl=E9ment?= VUCHENER Cc: "Pierre-Loup A. Griffais" , Benjamin Tissoires , Jiri Kosina , Cameron Gutman , lkml , linux-input List-Id: linux-input@vger.kernel.org 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 : > > 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