New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 824871 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

[Mac] Xbox One S Guide and View buttons not mapped over Bluetooth

Project Member Reported by mattreynolds@chromium.org, Mar 22 2018

Issue description

Reported by gustavosantos@:

"My XBOX One controller is almost working completely, except by the View button (the one which should be Select in traditional controllers). Everything else is working perfectly. I'm connecting it wirelessly."

OS: MacOS 10.13.3 (17D102)
Chrome version: 65.0.3325.162 (Official Build) (64-bit)
Gamepad ID: Xbox Wireless Controller (STANDARD GAMEPAD Vendor: 045e Product: 02fd)

I can repro this locally, it seems we have a mapping error on OSX when this gamepad is connected over BT.
 
The View button issue only affects devices with the 2015 firmware update; the View button works correctly on devices with the original firmware.

The Guide button is also not mapped. This affects both revisions.

Probably this is connected to the 2015 firmware update which "fixed" the Bluetooth HID report to work better on Android. This probably means these buttons are being sent as "Back" and "Home" OS keys.
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 21 2018

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

commit 8f51909b403e993203d10c508f422727546488d0
Author: Matt Reynolds <mattreynolds@chromium.org>
Date: Thu Jun 21 23:20:40 2018

Support gamepad buttons with HID Consumer usages

Most gamepads report their button state in a HID output report that
associates HID usages with the state of each button. For most gamepads,
the HID usages associated with buttons come from the Button
usage page.

For some gamepads, particularly those designed to work on Android
devices, the Back and Home buttons are associated with usages outside
the normal set of gamepad usages. For instance, the Xbox One S
gamepad, when connected over Bluetooth, sends a SystemMainMenu usage
for the Home button. The same gamepad, after receiving a firmware
update to improve Android compatibility, reports the Home and Back
buttons as Home and Back usages on the Consumer usage page.

On Linux, we use the joydev input driver to enumerate connected gamepads
and fetch the current gamepad state. However, HID buttons outside the
normal set of gamepad usages are not reported through joydev and must
be read through evdev instead.

This CL allows these extra buttons to be detected and mapped by Chrome.

BUG=824871

Change-Id: Ib873948c6632edb36675f45c948190cb99ce126e
Reviewed-on: https://chromium-review.googlesource.com/1091464
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Matt Reynolds <mattreynolds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569439}
[modify] https://crrev.com/8f51909b403e993203d10c508f422727546488d0/device/gamepad/gamepad_device_linux.cc
[modify] https://crrev.com/8f51909b403e993203d10c508f422727546488d0/device/gamepad/gamepad_device_linux.h
[modify] https://crrev.com/8f51909b403e993203d10c508f422727546488d0/device/gamepad/gamepad_device_mac.h
[modify] https://crrev.com/8f51909b403e993203d10c508f422727546488d0/device/gamepad/gamepad_device_mac.mm
[modify] https://crrev.com/8f51909b403e993203d10c508f422727546488d0/device/gamepad/raw_input_gamepad_device_win.cc
[modify] https://crrev.com/8f51909b403e993203d10c508f422727546488d0/device/gamepad/raw_input_gamepad_device_win.h

Labels: Needs-Feedback
mattreynolds@ -- Could you please help us with the steps to verify the fix provided.
Our team has Xbox Model 1708. Is there any way to verify the issue, as per your comment #1, we need 2015 firmware update.

Thanks!
This isn't quite done yet, the above change added the logic to enumerate these buttons but the mapping functions for the devices still need to be updated.

Sign in to add a comment