Call for help: Testing headset buttons
-
Device: Xiaomi Mi A2
Wired USB earphones with three buttons: Mi Dual Driver Earphones (Type-C) (https://www.amazon.de/XIAOMI-KopfhΓΆrer-WeiΓ-Audio-Stecker/dp/B07MLRXJBC)Available devices: /dev/input/event0: qpnp_pon /dev/input/event1: NVTCapacitiveTouchScreen /dev/input/event2: uinput-goodix /dev/input/event3: hall-switch-input /dev/input/event4: gpio-keys /dev/input/event5: sdm660-snd-card Headset Jack /dev/input/event6: sdm660-snd-card Button Jack /dev/input/event7: uinput-fpc Select the device event number [0-7]: 6 Input driver version is 1.0.1 Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0 Input device name: "sdm660-snd-card Button Jack" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 114 (KEY_VOLUMEDOWN) Event code 115 (KEY_VOLUMEUP) Event code 226 (KEY_MEDIA) Event code 260 (BTN_4) Event code 261 (BTN_5) Event code 582 (KEY_VOICECOMMAND) Properties: Property type 6 (?) Testing ... (interrupt to exit) Event: time 1620770065.854970, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1 Event: time 1620770065.854970, -------------- SYN_REPORT ------------ Event: time 1620770065.855140, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0 Event: time 1620770065.855140, -------------- SYN_REPORT ------------ Event: time 1620770067.377695, type 1 (EV_KEY), code 226 (KEY_MEDIA), value 1 Event: time 1620770067.377695, -------------- SYN_REPORT ------------ Event: time 1620770067.377772, type 1 (EV_KEY), code 226 (KEY_MEDIA), value 0 Event: time 1620770067.377772, -------------- SYN_REPORT ------------ Event: time 1620770068.851389, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1 Event: time 1620770068.851389, -------------- SYN_REPORT ------------ Event: time 1620770068.851508, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0 Event: time 1620770068.851508, -------------- SYN_REPORT ------------
-
@c4pp4 Ah, cool, so USB headset audio is already supported? That would be nice to add to the button support as well.
-
@povoq Well headset audio should work for music with any headset (wired, BT) but call audio seems to be broken for BT.
-
@flohack Well, I was surprised as "wired" as in headphone jack is completly different from USB headsets.
-
@povoq Ohh I see. That would be new, that USB devices work
-
Oh, I didn't understand I could test wired ones
I have ones of those white, hard ones with 3 buttons, vol+, vol- and white button:Select the device event number [0-5]: 4 Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0 Input device name: "ACCDET" [...] Properties: Testing ... (interrupt to exit) Event: time 1620815706.095935, type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 1 Event: time 1620815706.095935, type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 0
Only white central button works, not the volume ones
-
Nexus 5, RC Channel (2021-W18), wired headset w/
play/pause
,volume +
,volume -
buttons:phablet@ubuntu-phablet:~$ sudo evtest No device specified, trying to scan all of /dev/input/event* Available devices: /dev/input/event0: qpnp_pon /dev/input/event1: touch_dev /dev/input/event2: gpio-keys /dev/input/event3: hs_detect /dev/input/event4: msm8974-taiko-mtp-snd-card Button Jack /dev/input/event5: msm8974-taiko-mtp-snd-card Headset Jack Select the device event number [0-5]: 3 Input driver version is 1.0.1 Input device ID: bus 0x0 vendor 0x1 product 0x1 version 0x1 Input device name: "hs_detect" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 114 (KEY_VOLUMEDOWN) Event code 115 (KEY_VOLUMEUP) Event code 226 (KEY_MEDIA) Event type 5 (EV_SW) Event code 2 (SW_HEADPHONE_INSERT) state 1 Event code 4 (SW_MICROPHONE_INSERT) state 1 Properties: Testing ... (interrupt to exit) Event: time 439671.235176, type 1 (EV_KEY), code 226 (KEY_MEDIA), value 1 Event: time 439671.235866, -------------- SYN_REPORT ------------ Event: time 439671.400194, type 1 (EV_KEY), code 226 (KEY_MEDIA), value 0 Event: time 439671.400336, -------------- SYN_REPORT ------------
So the
volume +
andvolume -
buttons are not detected, but theplay / pause
button is detected (correctly) asKEY_MEDIA
. However, pressing it 1 time gives 2 events, both thevalue 1
and thevalue 0
entries above are from a single key press. -
@kugiigi this means the device you are inspecting isn't associated with your headset (or it isn't detecting any button presses). Try again with another device selected. If it is a bluetooth device and you have selected the correct device (by mac address for bluetooth) then I think that means unfortunately button detection isn't working for that device. Can you try other bluetooth devices and / or other wired headsets?
UPDATE: I tried with 2 bluetooth devices and got no detected events either.....
-
@rik Yeah the 2 events are okay, you could have different functions for a long and a short press, so thats why it needs to send press and release.
-
Nexus 5, RC Channel (2021-W18), 2 bluetooth headsets (Mpow M30 earbuds, Anker Sound Core Mini speaker): no events detected when pressing play/pause, volume buttons but sound does work to both devices
-