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

Issue 655731 link

Starred by 2 users

Issue metadata

Status: Fixed
Merged: issue 497735
Owner:
Closed: Nov 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

Feature Request : Handle KEY_MEDIA correctly for play/pause control

Project Member Reported by bleung@chromium.org, Oct 13 2016

Issue description

Chrome Version       : 53.0.2785.144
OS Version: 8530.93.0
URLs (if applicable) :
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
     Safari 5:
  Firefox 4.x:
     IE 7/8/9:

Use "Chell" Chromebook, or HP Chromebook 13 G1, which has 4-button headset support in hardware and kernel.

What steps will reproduce the problem?
1. Attach the "Nominal" headset from the Android Wired Headset reference kit : https://source.android.com/devices/accessories/headset/specification.html
2. Start playing a video on YouTube, Netflix, or audio from Google Play Music.
3. Press the "A" button on the headset.

What is the expected result?
Button acts as a play/pause button.

What happens instead of that?
Nothing.

Please provide any additional information below. Attach a screenshot if
possible.

UserAgentString: Mozilla/5.0 (X11; CrOS x86_64 8530.93.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.144 Safari/537.36


Chrome OS's kernel sends the KEY_MEDIA input event as required by the Android Wired Audio Headset Specification, however nothing seems to handle this right now logically. It should act as a play/pause button when video or audio is playing.
 

Comment 1 by bleung@chromium.org, Oct 13 2016

Cc: bleung@google.com
Mergedinto: 497735
Status: Duplicate (was: Unconfirmed)
This should be taken care of by the media session api: https://wicg.github.io/mediasession/

Comment 3 by warx@chromium.org, Sep 29 2017

Owner: warx@chromium.org
Status: Assigned (was: Duplicate)
3.5mm headset is still broken because KEY_MEDIA input event is not handled on Chrome.

Comment 4 by bleung@chromium.org, Sep 29 2017

Warx:

Bear in mind that USB audio devices with integrated headset buttons will become more prevalent in the ecosystem too, and those will not present KEY_MEDIA.

The ones that I've seen mark that key as KEY_PLAYPAUSE.

Comment 5 by warx@chromium.org, Sep 29 2017

I verified usb headset was working properly now on m62 after issue 763483. KEY_PLAYPAUSE is plumbed into Chrome.

Comment 6 by bleung@chromium.org, Sep 29 2017

Warx: Awesome, that's good to hear.

By the way, the other way to fix this is to change the mapping the kernels in Chrome OS do to map the headset middle button to KEY_MEDIA to instead map to KEY_PLAYPAUSE.

KEY_MEDIA was chosen semi-arbitrarily; it was picked because that's what Android's headset spec said the middle button should be, so we did that too.

Nothing ever consumed it, so nothing would break if we were to make kernel changes to remap it to KEY_PLAYPAUSE.

Let me know if you think that's a better approach than teaching Chrome to handle KEY_MEDIA.

Comment 7 by warx@chromium.org, Sep 29 2017

If it could be mapped to KEY_PLAYPAUSE in Chrome OS, that would be better I think!

I agree KEY_MEDIA is a very confusing term for play/pause if we do it on Chrome...

Do you know who can take care of it on kernels mapping? I am not an expert on Chrome OS code base.

Comment 8 by bleung@chromium.org, Sep 29 2017

Cc: dtor@chromium.org
Components: OS>Kernel>Audio
Myself, Dgreid@, and dtor@ should be able to help in the kernel, if we are all on board with the approach.

Guys: It looks like upstream linux kernel has KEY_MEDIA in a few of the places we added the android headset button supprot. Would you think there would be any objection if we submitted a change to change that to KEY_PLAYPAUSE?

Or should we remap using udev to avoid changing the kernel?

Comment 9 by bleung@chromium.org, Sep 29 2017

Cc: achant@google.com
Ok. I chatted with Dylan and Dmitry. We'll change the drivers' code sent from KEY_MEDIA to KEY_PLAYPAUSE.

Comment 10 by warx@chromium.org, Oct 9 2017

Any update here? Is chrome side change still needed?
Cc: -dtor@chromium.org warx@chromium.org
Labels: -Pri-3 M-63 Pri-2
Owner: bleung@chromium.org
Hi warx@

We've decided to make the change in our kernels and upstream wherever we added KEY_MEDIA for the android headset buttons.

As long as KEY_PLAYPAUSE is handled (which I think it is), we should be good

I'll take ownership of this. Thanks!

Benson

Comment 12 by warx@chromium.org, Oct 9 2017

OK thanks!
Cc: muyuanli@chromium.org xiaoh...@chromium.org
Project Member

Comment 14 by bugdroid1@chromium.org, Nov 21 2017

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/c98bc2ede4a97d8574ec4e7214bc637bd5362c6f

commit c98bc2ede4a97d8574ec4e7214bc637bd5362c6f
Author: Benson Leung <bleung@chromium.org>
Date: Tue Nov 21 02:13:41 2017

CHROMIUM: ASoc: Intel: change BTN_0 mapping to KEY_PLAYPAUSE

KEY_MEDIA is not handled in Chrome OS, but KEY_PLAYPAUSE is well handled
now for external USB headsets and on newer Chromebook keyboards.

For consistency, switch button 0 handling to KEY_PLAYPAUSE as well.

Signed-off-by: Benson Leung <bleung@chromium.org>

BUG= chromium:655731 
TEST=Plug in Android Headset Spec 3.5mm 4-button headset into Electro, play a
YouTube video, and press button 0. Check that the button 0 causes play/pause.

Change-Id: I4fd3f22497630d5f6797da150c9694baedac82d5
Reviewed-on: https://chromium-review.googlesource.com/777812
Commit-Ready: Benson Leung <bleung@google.com>
Tested-by: Benson Leung <bleung@google.com>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/c98bc2ede4a97d8574ec4e7214bc637bd5362c6f/sound/soc/intel/boards/bxt_da7219_max98357a.c

Status: Started (was: Assigned)
Landed in maintainer's tree. Will pick this back to Chrome OS kernels.
Project Member

Comment 16 by bugdroid1@chromium.org, Nov 28 2017

Labels: merge-merged-chromeos-4.14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a267332363beeaad0d7deae72a7a02e42077da88

commit a267332363beeaad0d7deae72a7a02e42077da88
Author: Benson Leung <bleung@chromium.org>
Date: Tue Nov 28 23:44:06 2017

FROMGIT: ASoC: ts3a227e: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit af0f6c5820845b66c76296f281da5cf916d7e094
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/ts3a227e)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: Ied824e6f37ad3214813056f6877decb635ca1099
Reviewed-on: https://chromium-review.googlesource.com/791523
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/a267332363beeaad0d7deae72a7a02e42077da88/sound/soc/codecs/ts3a227e.c

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f70556984415be7c55582c7fb081c70bd2b7dac4

commit f70556984415be7c55582c7fb081c70bd2b7dac4
Author: Benson Leung <bleung@chromium.org>
Date: Tue Nov 28 23:44:07 2017

FROMGIT: ASoC: rk3399_gru_sound: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit af1b1cefd735c919d3185ce06b549c2b121067ba
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/rcar)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I9b0db6b449c580e43507748807cb9444bcdcce87
Reviewed-on: https://chromium-review.googlesource.com/791524
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/f70556984415be7c55582c7fb081c70bd2b7dac4/sound/soc/rockchip/rk3399_gru_sound.c

Project Member

Comment 18 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b92b610d0d68da9b78f304febba4d63329d421c1

commit b92b610d0d68da9b78f304febba4d63329d421c1
Author: Benson Leung <bleung@chromium.org>
Date: Tue Nov 28 23:44:08 2017

FROMGIT: ASoC: qcom: apq8016-sbc: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 5f6d1df8ced6bb52453149f96d9b7005058641b6
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/qcom)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: Ie7b7ca9df696267b30549d813252942d670ad793
Reviewed-on: https://chromium-review.googlesource.com/791525
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/b92b610d0d68da9b78f304febba4d63329d421c1/sound/soc/qcom/apq8016_sbc.c

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b05c1574d5053d14a2fc724c40b3608a1504d9ae

commit b05c1574d5053d14a2fc724c40b3608a1504d9ae
Author: Benson Leung <bleung@chromium.org>
Date: Tue Nov 28 23:44:10 2017

FROMGIT: ASoC: Intel: kbl_rt5663_rt5514_max98927: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 8ee649283b1e542aedba007f6c828d6767c48e0d
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/intel)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I68d9292fad3b35063654deca2dfcfe56d2fd9b90
Reviewed-on: https://chromium-review.googlesource.com/791526
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/b05c1574d5053d14a2fc724c40b3608a1504d9ae/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/574368b533b42cb41b21ce34cde723ec106f8435

commit 574368b533b42cb41b21ce34cde723ec106f8435
Author: Naveen M <naveen.m@intel.com>
Date: Tue Nov 28 23:44:11 2017

UPSTREAM: ASoC: Intel: Headset button support in kabylake machine driver

Patch adds headset button support for kabylake machine driver
(kbl_rt5663_max98927).

Signed-off-by: Naveen M <naveen.m@intel.com>
Acked-By: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit ae09a4783b9caf9307f303ef039f8297ce0371fe)
Signed-off-by: Benson Leung <bleung@chromium.org>

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I1b1b4f0f8ad8002398a3b9900acde31ef52e3475
Reviewed-on: https://chromium-review.googlesource.com/791527
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>

[modify] https://crrev.com/574368b533b42cb41b21ce34cde723ec106f8435/sound/soc/intel/boards/kbl_rt5663_max98927.c

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/aa9ad403c6c8b247104780875af8606092bbc6a4

commit aa9ad403c6c8b247104780875af8606092bbc6a4
Author: Benson Leung <bleung@chromium.org>
Date: Tue Nov 28 23:44:12 2017

FROMGIT: ASoC: Intel: kbl_rt5663_max98927: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 38a5882e4292d135cebabad0b56c9420dfdd80a5
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/intel)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I69f8880d2b6b10a67348a017f368147bdfb8e6a9
Reviewed-on: https://chromium-review.googlesource.com/791528
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/aa9ad403c6c8b247104780875af8606092bbc6a4/sound/soc/intel/boards/kbl_rt5663_max98927.c

Labels: -M-63
In progress. Not needed for M-63.
Project Member

Comment 23 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a79c434c4a1c47f488aaa61eea871ffe116dfd43

commit a79c434c4a1c47f488aaa61eea871ffe116dfd43
Author: Benson Leung <bleung@chromium.org>
Date: Fri Dec 01 04:30:04 2017

FROMGIT: ASoC: rk3399_gru_sound: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit af1b1cefd735c919d3185ce06b549c2b121067ba
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/rcar)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I9b0db6b449c580e43507748807cb9444bcdcce87
Reviewed-on: https://chromium-review.googlesource.com/791318
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/a79c434c4a1c47f488aaa61eea871ffe116dfd43/sound/soc/rockchip/rk3399_gru_sound.c

Project Member

Comment 24 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0398f631da264e5cbaaece00c3c915fdaf7a5bd5

commit 0398f631da264e5cbaaece00c3c915fdaf7a5bd5
Author: Benson Leung <bleung@chromium.org>
Date: Fri Dec 01 04:30:05 2017

FROMGIT: ASoC: ts3a227e: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit af0f6c5820845b66c76296f281da5cf916d7e094
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/ts3a227e)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: Ied824e6f37ad3214813056f6877decb635ca1099
Reviewed-on: https://chromium-review.googlesource.com/791319
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/0398f631da264e5cbaaece00c3c915fdaf7a5bd5/sound/soc/codecs/ts3a227e.c

Project Member

Comment 25 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bef63271a07a73e40b59e72bb5c8b3339e305dbf

commit bef63271a07a73e40b59e72bb5c8b3339e305dbf
Author: Benson Leung <bleung@chromium.org>
Date: Fri Dec 01 04:30:06 2017

FROMGIT: ASoC: Intel: kbl_rt5663_rt5514_max98927: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 8ee649283b1e542aedba007f6c828d6767c48e0d
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/intel)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I68d9292fad3b35063654deca2dfcfe56d2fd9b90
Reviewed-on: https://chromium-review.googlesource.com/791320
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/bef63271a07a73e40b59e72bb5c8b3339e305dbf/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c

Project Member

Comment 26 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6bea9b28ebd1d3bcd857b6e52a8c764339e0d89a

commit 6bea9b28ebd1d3bcd857b6e52a8c764339e0d89a
Author: Benson Leung <bleung@chromium.org>
Date: Fri Dec 01 04:30:07 2017

FROMGIT: ASoC: Intel: kbl_rt5663_max98927: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 38a5882e4292d135cebabad0b56c9420dfdd80a5
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/intel)

BUG= chromium:655731 ,b:63698545
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I69f8880d2b6b10a67348a017f368147bdfb8e6a9
Reviewed-on: https://chromium-review.googlesource.com/801260
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/6bea9b28ebd1d3bcd857b6e52a8c764339e0d89a/sound/soc/intel/boards/kbl_rt5663_max98927.c

Project Member

Comment 27 by bugdroid1@chromium.org, Dec 1 2017

Labels: merge-merged-chromeos-3.18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/eca26eb4d797ae56f07da1faf03b212399df34d5

commit eca26eb4d797ae56f07da1faf03b212399df34d5
Author: Benson Leung <bleung@chromium.org>
Date: Fri Dec 01 22:54:37 2017

FROMGIT: ASoC: ts3a227e: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit af0f6c5820845b66c76296f281da5cf916d7e094
 git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
 topic/ts3a227e)

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: Ied824e6f37ad3214813056f6877decb635ca1099
Reviewed-on: https://chromium-review.googlesource.com/791372
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/eca26eb4d797ae56f07da1faf03b212399df34d5/sound/soc/codecs/ts3a227e.c

Project Member

Comment 28 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/cfe9c92a77ef9cf361dc314affb64a5195e1cdc0

commit cfe9c92a77ef9cf361dc314affb64a5195e1cdc0
Author: Benson Leung <bleung@chromium.org>
Date: Fri Dec 01 22:54:38 2017

CHROMIUM: ASoC: skl_nau88l25_ssm4567: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I286a0b6735e2f587b8c5ed2bbb337324973776ac
Reviewed-on: https://chromium-review.googlesource.com/791373
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/cfe9c92a77ef9cf361dc314affb64a5195e1cdc0/sound/soc/intel/boards/skl_nau88l25_ssm4567.c

Project Member

Comment 29 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ed35ba24855849bb586f48ea78e2fc3a38b34667

commit ed35ba24855849bb586f48ea78e2fc3a38b34667
Author: Benson Leung <bleung@chromium.org>
Date: Fri Dec 01 22:54:40 2017

CHROMIUM: ASoC: skl_nau88l25_max98357a: Map BTN_0 to KEY_PLAYPAUSE

The Android 3.5mm Headset jack specification mentions that BTN_0 should
be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE,
which has much broader userspace support.

For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle
play/pause of videos and audio, but does not handle KEY_MEDIA.

Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the
new USB headset spec requires KEY_PLAYPAUSE for BTN_0.
https://source.android.com/devices/accessories/headset/usb-headset-spec

Signed-off-by: Benson Leung <bleung@chromium.org>

BUG= chromium:655731 
TEST=Plug in Android 3.5mm Nominial Headset. While running Evtest,
selecting the input device associated with the audio interface, press
BTN_0. Confirm that KEY_PLAYPAUSE results.

Change-Id: I95a7064d68028b1fecb599511fcb24b779cd1245
Reviewed-on: https://chromium-review.googlesource.com/791374
Commit-Ready: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/ed35ba24855849bb586f48ea78e2fc3a38b34667/sound/soc/intel/boards/skl_nau88l25_max98357a.c

Status: Fixed (was: Started)

Sign in to add a comment