Re: [PATCH] Input: gamepad - use independent axes for analog D-Pad buttons
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2013-12-30 18:52:01
On Mon, Dec 30, 2013 at 12:20:20PM +0100, Antonio Ospite wrote:
On Sun, 29 Dec 2013 16:52:09 -0800 Dmitry Torokhov [off-list ref] wrote:quoted
Hi Antonio, On Mon, Dec 23, 2013 at 05:17:43PM +0100, Antonio Ospite wrote:quoted
Model this part of the API after the Sony PlayStation 3 Controller which exposes independent analog values for each one of the D-Pad buttons. The PS3 programming API psl1ght also maps the analog D-Pad buttons individually.Hmm, even though the hardware is capable of producing independent analog values does are they really useful? Looking at my PS3 controller I do not think users will be pressing up/down and left/right dpad buttons at the same time.I must agree it's unlikely, while still possible.quoted
I'd rather keep using ABS_HAT0X/Y unless there is really good reason for introducing new events.Having analog D-Pad values reported independently was proposed for these reasons: - it matches _some_ existing hardware closely (that was the main reason TBH, to simplify the drivers); - it happens to follow what it's being done for D-Pad digital buttons, they are also reported independently. However if some other hardware reported D-Pad axis combined already then I agree that using something like ABS_HAT0X/Y is safer, I see decomposing HORIZ/VERT into the separate LEFT/RIGHT and UP/DOWN to be less intuitive (not harder tho). Another doubt: David, in the other email you mentioned we could use ABS_DPAD_HORIZ/VERT, any particular reason to introduce them in place of ABS_HAT0X/Y?
I think xpad driver mapping (while in no way perfect) uses HAT0 for that. Thanks. -- Dmitry