On Thu, May 31, 2018 at 10:44 AM, Cameron Gutman <aicommander@xxxxxxxxx> wrote: > On 05/31/2018 10:10 AM, Dmitry Torokhov wrote: >> Hi Ethan, >> >> - stable@ to BCC >> >> On Thu, May 31, 2018 at 5:12 AM, Ethan Lee <flibitijibibo@xxxxxxxxx> wrote: >>> Aaand right as I send these I see git-send-email auto-CC'd stable directly >>> again. Sorry! >>> >>> -Ethan >>> >>> >>> On 05/31/2018 08:10 AM, flibitijibibo@xxxxxxxxx wrote: >>>> >>>> From: Ethan Lee <flibitijibibo@xxxxxxxxx> >>>> >>>> GPD Win 2 Website: http://www.gpd.hk/gpdwin2.asp >>>> >>>> Tested on a unit from the first production run sent to Indiegogo backers >> >> So I understand that adding this new VID/PID pair to the xpad driver >> makes controller recognize the device, >> but the button/axis mapping is not what it should be. Does it mean >> that the mapping is different from other xpad controllers, or the >> mapping that we are using is messed up for all/most of them? > > If I'm understanding correctly, the mapping is "correct" in that it > matches what other xpad devices use, but xpad's mapping in general > is a bit weird, like using BTN_TRIGGER_HAPPY instead of BTN_DPAD. > > I think that is actually a minor issue now after we started reporting > d-pads as buttons and axes on Xbox 360 wireless gamepads. The only > devices that would still need to use BTN_TRIGGER_HAPPY are dancepads, > and applications supporting those are likely very flexible with their > mappings already. > >> >> It looks like the mapping we use is quite a mess, I wonder if we could >> not bite the bullet and unify it so it follows >> Documentation/input/gamepad.rst... I would make users update their >> existing configs, but the new installations would be more sensible. >> Just a thought... Or you could tell me that nobody pays attention to >> what kernel sends and everyone remaps anyway... > > Did you see anything else wrong with the mapping besides the dpad? DPAD with BTN_TRIGGER_HAPPY is the main issue. > >> >>>> >>>> Signed-off-by: Ethan Lee <flibitijibibo@xxxxxxxxx> >>>> Cc: stable@xxxxxxxxxxxxxxx >>>> --- >>>> drivers/input/joystick/xpad.c | 2 ++ >>>> 1 file changed, 2 insertions(+) >>>> >>>> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c >>>> index 06e9650b3b30..a89b81b35932 100644 >>>> --- a/drivers/input/joystick/xpad.c >>>> +++ b/drivers/input/joystick/xpad.c >>>> @@ -123,6 +123,7 @@ static const struct xpad_device { >>>> u8 mapping; >>>> u8 xtype; >>>> } xpad_device[] = { >>>> + { 0x0079, 0x18d4, "GPD Win 2 Controller", 0, XTYPE_XBOX360 }, >>>> { 0x044f, 0x0f00, "Thrustmaster Wheel", 0, XTYPE_XBOX }, >>>> { 0x044f, 0x0f03, "Thrustmaster Wheel", 0, XTYPE_XBOX }, >>>> { 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX >>>> }, >>>> @@ -409,6 +410,7 @@ static const signed short xpad_abs_triggers[] = { >>>> static const struct usb_device_id xpad_table[] = { >>>> { USB_INTERFACE_INFO('X', 'B', 0) }, /* X-Box USB-IF not >>>> approved class */ >>>> + XPAD_XBOX360_VENDOR(0x0079), /* GPD Win 2 Controller */ >>>> XPAD_XBOX360_VENDOR(0x044f), /* Thrustmaster X-Box 360 >>>> controllers */ >>>> XPAD_XBOX360_VENDOR(0x045e), /* Microsoft X-Box 360 >>>> controllers */ >>>> XPAD_XBOXONE_VENDOR(0x045e), /* Microsoft X-Box One >>>> controllers */ >>> >> > -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html