New issue
Advanced search Search tips

Issue 644139 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Sep 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Xbox One S controller not mapped correctly on Mac

Reported by aicomman...@gmail.com, Sep 6 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.8 Safari/537.36

Steps to reproduce the problem:
1. Connect an Xbox One S controller in Bluetooth mode to your Mac
2. Go to http://html5gamepad.com and exercise buttons, sticks, and triggers

What is the expected behavior?
Buttons should be mapped correctly, including d-pad mapped as buttons rather than an axis.

What went wrong?
Mapping is incorrect for a variety of buttons and axes.

Did this work before? No 

Chrome version: 54.0.2840.8  Channel: dev
OS Version: OS X 10.11.6
Flash Version: Shockwave Flash 22.0 r0
 
Posted a CL to add the required mapping: https://codereview.chromium.org/2314553002/
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6f9bf0317b8f29113d4d7c4f5742397c68c3e410

commit 6f9bf0317b8f29113d4d7c4f5742397c68c3e410
Author: aicommander <aicommander@gmail.com>
Date: Tue Sep 06 03:43:24 2016

Add a standard gamepad mapping for the new Xbox One S controller in
Bluetooth mode on Mac.

In this mode, the controller acts like a standard HID gamepad device,
requiring only minor mapping fixups for proper functionality.

BUG= 644139 
TEST=http://html5gamepad.com/

Review-Url: https://codereview.chromium.org/2314553002
Cr-Commit-Position: refs/heads/master@{#416580}

[modify] https://crrev.com/6f9bf0317b8f29113d4d7c4f5742397c68c3e410/device/gamepad/gamepad_standard_mappings_mac.mm

Comment 3 by tkent@chromium.org, Sep 6 2016

Components: Blink>GamepadAPI

Comment 4 by ajha@chromium.org, Sep 7 2016

Labels: TE-Hardware-Dependency
The CL was merged so this can be closed now.

Comment 6 by ajha@chromium.org, Sep 17 2016

Status: Fixed (was: Unconfirmed)
Thanks for the update, closing as per C#5.

Comment 7 Deleted

Comment 8 Deleted

I think the mappings may have changed in a firmware update, or device id changed and no longer being mapped, possibly.

current pad is coming up with device id: vendor 045e and product 02fd, not product 02e0
for reference on http://html5gamepad.com/

axis 3 is left trigger, going from -1 to 1
axis 4 is right trigger, going from -1 to 1

right stick y is axis 2
right stick x is axis 5

d-pad is on axis 9

and xbox button + 'select' don't seem to be being picked up by chrome as buttons at all. Seperete joypad testing program shows them mapped as 'consumer usage'
Correct. I landed a CL a few weeks ago to change over the mappings to the new product ID - https://codereview.chromium.org/2494823005/

The Xbox (mapped as home button) and select button (mapped as back button) are changed to be consumer usages. Chrome currently ignores consumer usages completely, while Firefox explicitly includes the home and back consumer usages (while ignoring the others).

I want to submit a CL to adopt Firefox's approach but I'm worried that it might negatively affect existing mappings (many of which are for devices that I don't have available to retest). Hopefully I can find a safe way to do it where it won't renumber existing buttons.


Sign in to add a comment