ASoC: ts3a227e: Map BTN_0 to KEY_PLAYPAUSE
authorBenson Leung <bleung@chromium.org>
Wed, 22 Nov 2017 20:56:41 +0000 (12:56 -0800)
committerMark Brown <broonie@kernel.org>
Mon, 27 Nov 2017 13:01:38 +0000 (13:01 +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/codecs/ts3a227e.c

index 738e04b09116d0669d9a8d4aae3a82e276805d3e..1271e7e1fc78c9b461fe28aa5dcac31b7bd259a7 100644 (file)
@@ -241,7 +241,7 @@ int ts3a227e_enable_jack_detect(struct snd_soc_component *component,
 {
        struct ts3a227e *ts3a227e = snd_soc_component_get_drvdata(component);
 
-       snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_MEDIA);
+       snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE);
        snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND);
        snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP);
        snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN);