ASoC: qcom: apq8016-sbc: Map BTN_0 to KEY_PLAYPAUSE
authorBenson Leung <bleung@chromium.org>
Wed, 22 Nov 2017 20:56:43 +0000 (12:56 -0800)
committerMark Brown <broonie@kernel.org>
Mon, 27 Nov 2017 13:05:03 +0000 (13:05 +0000)
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>
sound/soc/qcom/apq8016_sbc.c

index d49adc822a110ed2a9b61f1916570ed70065a3fd..03851fedd1e228257354426425a0287c8f2eaa79 100644 (file)
@@ -92,7 +92,7 @@ static int apq8016_sbc_dai_init(struct snd_soc_pcm_runtime *rtd)
 
                jack = pdata->jack.jack;
 
-               snd_jack_set_key(jack, SND_JACK_BTN_0, KEY_MEDIA);
+               snd_jack_set_key(jack, SND_JACK_BTN_0, KEY_PLAYPAUSE);
                snd_jack_set_key(jack, SND_JACK_BTN_1, KEY_VOICECOMMAND);
                snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP);
                snd_jack_set_key(jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN);