Re: [PATCH] [v5] Input: Add "Select" button to Microsoft Xbox One controller.
From: Bastien Nocera <hadess@hadess.net>
Date: 2021-05-21 07:59:55
Also in:
lkml
On Thu, 2021-05-13 at 23:10 -0700, Chris Ye wrote:
+Dmitry. On Wed, May 12, 2021 at 11:21 AM Chris Ye [off-list ref] wrote:quoted
Hi Benjamin, It seems I don't have any further comments on patch v5, do you think we can land the patch in the next kernel release? Please advise if there are any further comments. Thank you! Regards, Chris On Wed, May 5, 2021 at 9:57 AM Chris Ye [off-list ref] wrote:quoted
Hi Bastien, Can you please take a look at the patch v5, which hasrestoredquoted
the same tab formatting?
Patch looks fine to me. Reviewed-by: Bastien Nocera <hadess@hadess.net>
quoted
quoted
Thanks! Regards, Chris On Tue, Apr 13, 2021 at 7:12 PM Chris Ye [off-list ref] wrote:quoted
Add "Select" button input capability and input event mapping for Microsoft Xbox One controller. From product site this is alsoreferred asquoted
quoted
"Share" button. Fixed Microsoft Xbox One controller select button not workingunder USBquoted
quoted
connection. Signed-off-by: Chris Ye <redacted> --- drivers/input/joystick/xpad.c | 6 ++++++ 1 file changed, 6 insertions(+)diff --git a/drivers/input/joystick/xpad.cb/drivers/input/joystick/xpad.cquoted
quoted
index 9f0d07dcbf06..cfbf1747b205 100644--- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c@@ -79,6 +79,7 @@#define MAP_DPAD_TO_BUTTONS (1 << 0) #define MAP_TRIGGERS_TO_BUTTONS (1 << 1) #define MAP_STICKS_TO_NULL (1 << 2) +#define MAP_SELECT_BUTTON (1 << 3) #define DANCEPAD_MAP_CONFIG (MAP_DPAD_TO_BUTTONS |\quoted
quoted
MAP_TRIGGERS_TO_BUTTONS |MAP_STICKS_TO_NULL)quoted
quoted
@@ -130,6 +131,7 @@ static const struct xpad_device {{ 0x045e, 0x02e3, "Microsoft X-Box One Elite pad", 0,XTYPE_XBOXONE },quoted
quoted
{ 0x045e, 0x02ea, "Microsoft X-Box One S pad", 0,XTYPE_XBOXONE },quoted
quoted
{ 0x045e, 0x0719, "Xbox 360 Wireless Receiver",MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360W },quoted
quoted
+ { 0x045e, 0x0b12, "Microsoft Xbox One X pad",MAP_SELECT_BUTTON, XTYPE_XBOXONE },quoted
quoted
{ 0x046d, 0xc21d, "Logitech Gamepad F310", 0,XTYPE_XBOX360 },quoted
quoted
{ 0x046d, 0xc21e, "Logitech Gamepad F510", 0,XTYPE_XBOX360 },quoted
quoted
{ 0x046d, 0xc21f, "Logitech Gamepad F710", 0,XTYPE_XBOX360 },quoted
quoted
@@ -862,6 +864,8 @@ static void xpadone_process_packet(structusb_xpad *xpad, u16 cmd, unsigned charquoted
quoted
/* menu/view buttons */ input_report_key(dev, BTN_START, data[4] & 0x04); input_report_key(dev, BTN_SELECT, data[4] & 0x08); + if (xpad->mapping & MAP_SELECT_BUTTON) + input_report_key(dev, KEY_RECORD, data[22] &0x01);quoted
quoted
/* buttons A,B,X,Y */ input_report_key(dev, BTN_A, data[4] & 0x10);@@ -1672,6 +1676,8 @@ static int xpad_init_input(structusb_xpad*xpad)quoted
quoted
xpad->xtype == XTYPE_XBOXONE) { for (i = 0; xpad360_btn[i] >= 0; i++) input_set_capability(input_dev, EV_KEY,xpad360_btn[i]);quoted
quoted
+ if (xpad->mapping & MAP_SELECT_BUTTON) + input_set_capability(input_dev, EV_KEY,KEY_RECORD);quoted
quoted
} else { for (i = 0; xpad_btn[i] >= 0; i++) input_set_capability(input_dev, EV_KEY,xpad_btn[i]);quoted
quoted
-- 2.31.1.295.g9ea45b61b8-goog