Re: [PATCH] Input: Add "Share" button to Microsoft Xbox One controller.

From: Cameron Gutman
Date: Sat Feb 27 2021 - 20:35:16 EST


On 2/25/21 12:26 AM, Dmitry Torokhov wrote:
> On Wed, Feb 24, 2021 at 08:44:37PM -0800, Chris Ye wrote:
>> Hi Dmitry,
>> The latest Xbox One X series has this button, I can add a new
>> XTYPE_XBOXONE_X and only apply the change to the new type.
>
> Sounds good to me. Cameron, what do you think?
>

I'm not sure if some wires got crossed, but I see v2 uses MAP_SHARE_BUTTON
rather than a new XTYPE. I'm fine with either.

>> The controller supports bluetooth and the HID usage for this button is
>> consumer 0xB2:
>> 0x05, 0x0C, // Usage Page (Consumer)
>> 0x0A, 0xB2, 0x00, // Usage (Record)
>
> I see, thank you.
>

Regards,
Cameron

>>
>> Thanks!
>> Chris
>>
>> On Wed, Feb 24, 2021 at 8:33 PM Dmitry Torokhov
>> <dmitry.torokhov@xxxxxxxxx> wrote:
>>>
>>> Hi Chris,
>>>
>>> On Thu, Feb 25, 2021 at 04:00:32AM +0000, Chris Ye wrote:
>>>> Add "Share" button input capability and input event mapping for
>>>> Microsoft Xbox One controller.
>>>> Fixed Microsoft Xbox One controller share button not working under USB
>>>> connection.
>>>>
>>>> Signed-off-by: Chris Ye <lzye@xxxxxxxxxx>
>>>> ---
>>>> drivers/input/joystick/xpad.c | 16 ++++++++++++++--
>>>> 1 file changed, 14 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
>>>> index 9f0d07dcbf06..08c3e93ccb2f 100644
>>>> --- a/drivers/input/joystick/xpad.c
>>>> +++ b/drivers/input/joystick/xpad.c
>>>> @@ -368,6 +368,14 @@ static const signed short xpad360_btn[] = { /* buttons for x360 controller */
>>>> -1
>>>> };
>>>>
>>>> +static const signed short xpad_xboxone_btn[] = {
>>>> + /* buttons for xbox one controller */
>>>> + BTN_TL, BTN_TR, /* Button LB/RB */
>>>> + BTN_MODE, /* The big X button */
>>>> + KEY_RECORD, /* The share button */
>>>
>>> If I understand this correctly, not all Xbox One controllers have this
>>> new key. Is it possible to determine if it is present and only set
>>> capability for controllers that actually have it?
>>>
>>> Also, I am unsure if KEY_RECORD is the best keycode for this. It might,
>>> but does your controller supports bluetooth? What HID usage code does it
>>> send for this key?
>>>
>>> Thanks.
>>>
>>> --
>>> Dmitry
>