New issue
Advanced search Search tips

Issue 655037 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

XBox One controller not mapped correctly on Mac **STILL**

Reported by fin...@gmail.com, Oct 12 2016

Issue description

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

Steps to reproduce the problem:
1. Reinstall the last version of https://github.com/360Controller/360Controller  
2. Connect an XBox One  controller with USB to the Mac
3. test it in  http://html5gamepad.com/

What is the expected behavior?
XBox One  controller should be mapped as same as STANDARD GAMEPAD. 

What went wrong?
1) the RightStick is mapped to AXIS 3 & AXIS 4 , it should be AXIS 2 & AXIS 3.

2) the LT button   is mapped to AXIS 2,  value is from -1.0 to 1.0 .
 it should be B6, value should be from 0.0 to 1.0 .

3) the RT button   is mapped to AXIS 5,  value is from -1.0 to 1.0 .
it should be B7, value should be from 0.0 to 1.0 .

4) except A B X Y and LeftStick,  other buttons also aren't as same as STANDARD GAMEPAD.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 54.0.2840.50  Channel: beta
OS Version: OS X 10.12.0
Flash Version: Shockwave Flash 23.0 r0

I test the XBox One controller  in other applications (Steam games) , it  works correctly.
 
屏幕快照 2016-10-12 下午2.58.48.png
197 KB View Download

Comment 1 by fin...@gmail.com, Oct 12 2016

I've read https://chromium.googlesource.com/chromium/src/+/6f9bf0317b8f29113d4d7c4f5742397c68c3e410/device/gamepad/gamepad_standard_mappings_mac.mm 

I found that the different controllers were mapped to different mapping  intentionally.  What's the reason ?

I think the web developer shouldn't care which brand user connected .

The better way  maybe let different controllers are mapped as same as Standard Gamepad as possible as we can.


Comment 2 by fin...@gmail.com, Oct 12 2016

And I found it's hard to detect what kind controller user connected.
For example , When I connected my PS4 Dualshock4 with USB , the chrome tell me it's a standard gamepad.

Comment 3 by fin...@gmail.com, Oct 12 2016

Say a little bit more about Trigger Button:

the correct value of Trigger button should be  from 0.0  to  1.0.
But in chrome for mac ,  when the html page is loaded, the  default value is 0.0.
But after I press the Trigger Button first,  the default value become -1.0 .
The range of Trigger button value become from -1 to 1.

I'm a Chinese guy , my english is very poor . So I don't know whether I make myself clear.  

Sorry for my bad english.

Comment 4 Deleted

Comment 5 by fin...@gmail.com, Oct 12 2016

In Chrome 53.0.2785.143 for windows , the XBox One controller is mapped as same as Standard gamepad.

I hope on macOS , it could do that too.

Same controllers in Chrome 53.0.2785.143 for windows:


for-windows.jpg
77.9 KB View Download
Owner: bajones@chromium.org
Status: Assigned (was: Unconfirmed)
[mac triage] Assigning this to bajones since he has done work for the XBox One controller. Feel free to re-assign or untriage this. Thanks!
What version of the controller are you using, specifically? As in what variant of the XBO was it packed in with? If you didn't buy it with an XBox, what color is it? Sounds silly, but it matters. Also. how are you connecting the controller to your Mac?

The first run of XBO controllers used a proprietary wireless protocol, so could only work with a Mac when connected via MicroUSB. I've made sure that mapping is correct. Newer controllers (like those packed in with the XBox One S) have begun to utilize bluetooth and so can show up as a normal HID controller. I don't have that one mapped just yet because I don't have one of the controllers (Heading to Amazon after clicking the submit button here..)

For the record: Chrome on Mac was one of the first pieces of software to support the XBox One controller at all, and did so before Microsoft released their own support on Windows. It was mapped correctly from day one, and I can't really help it if MS switches wireless protocols behind my back. As such the "**STILL**" in the bug title makes me sad. :(

Comment 8 by fin...@gmail.com, Oct 18 2016

What version of the controller are you using ?
XBox One controller for XBox One , sale with XBox One console machine.


How are you connecting the controller to your Mac?
Normal USB 2.0 line. Not wireless.






Comment 9 by fin...@gmail.com, Oct 18 2016

Hi @bajones , Did have you update the firmware of  Xbox One controllers ?

My Xbox One controllers firmware version is 2.3.2381.0 .
the  2.3.2381.0 is the last version in our country ( China ).

Comment 10 by fin...@gmail.com, Oct 19 2016

I test it in Chrome 54.0.2840.59 (Official Build) (64-bit)  on macOS 10.9.5.

It also has this problem.



chrome-53-mac-10.9.jpg
54.2 KB View Download
Project Member

Comment 11 by bugdroid1@chromium.org, Oct 27 2016

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

commit 25521a0137c99d98cf1cd10243070d8c767d6b06
Author: aicommander <aicommander@gmail.com>
Date: Thu Oct 27 23:28:06 2016

Add entries for some Xbox One gamepads supported by 360Controller

The 360Controller driver exposes Xbox 360-compatible mappings for
Xbox One gamepads. This adds mapping entries for several of the
most common first-party Xbox One gamepads.

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

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

[modify] https://crrev.com/25521a0137c99d98cf1cd10243070d8c767d6b06/device/gamepad/gamepad_standard_mappings_mac.mm

Comment 12 by fin...@gmail.com, Oct 31 2016

What version of chrome will apply this patch ? 
Status: Fixed (was: Assigned)
This appears fixed but needs verification.

The fix adds support for four variants of the Xbox One controller on Chrome for Mac:

(0x045e, 0x02d1) Xbox One Wired
(0x045e, 0x02dd) Xbox One Wired (2015 firmware)
(0x045e, 0x02e3) Xbox One Elite Wired
(0x045e, 0x02ea) Xbox One S (USB)

Sign in to add a comment