UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Call for help: Testing headset buttons

    Scheduled Pinned Locked Moved OS
    28 Posts 9 Posters 4.8k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • poVoqP Offline
        poVoq @flohack
        last edited by

        Ah, I guess. Sometimes it seems to get confused though switching away from bluetooth devices etc.

        Fairphone 5 (waiting for port)

        1 Reply Last reply Reply Quote 0
        • Mario.CHM Offline
          Mario.CH
          last edited by

          Device Sony Xperia X (F5121)
          When plugging in the original Inears headset <MHA750>, the volume control changes from speaker to earphone, then drops right back to speaker after about 1.5 seconds.

          I tried the evtest anyway with the following 2 results, not sure if they are helpful. Because nothing really happened during the test run, not until I opened the <write to file> file to see what happened.

          Available devices:
          /dev/input/event0:	qpnp_pon
          /dev/input/event1:	bu520x1nvx
          /dev/input/event2:	somc_chg_unplug_key
          /dev/input/event3:	gpio-keys
          /dev/input/event4:	clearpad
          /dev/input/event5:	msm8976-tasha-snd-card Headset Jack
          /dev/input/event6:	msm8976-tasha-snd-card Button Jack
          Select the device event number  [0-6]: 6
          Input driver version is 1.0.1
          Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
          Input device name: "msm8976-tasha-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)
          
          second test
          <dito>
          Select the device event number  [0-6]: 5
          Input driver version is 1.0.1
          Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
          Input device name: "msm8976-tasha-snd-card Headset Jack"
          Supported events:
            Event type 0 (EV_SYN)
            Event type 5 (EV_SW)
              Event code 2 (SW_HEADPHONE_INSERT) state 0
              Event code 4 (SW_MICROPHONE_INSERT) state 0
              Event code 6 (SW_LINEOUT_INSERT) state 0
              Event code 7 (SW_JACK_PHYSICAL_INSERT) state 0
              Event code 15 (?) state 0
              Event code 16 (?) state 0
              Event code 17 (?) state 0
              Event code 18 (?) state 0
          Properties:
          Testing ... (interrupt to exit)
          
          Event: time 1619464909.762451, type 5 (EV_SW), code 2 (SW_HEADPHONE_INSERT), value 1
          Event: time 1619464909.762451, type 5 (EV_SW), code 4 (SW_MICROPHONE_INSERT), value 1
          Event: time 1619464909.762451, type 5 (EV_SW), code 7 (SW_JACK_PHYSICAL_INSERT), value 1
          Event: time 1619464909.762451, type 5 (EV_SW), code 17 (?), value 1
          Event: time 1619464909.762451, -------------- SYN_REPORT ------------
          Event: time 1619464910.860134, type 5 (EV_SW), code 2 (SW_HEADPHONE_INSERT), value 0
          Event: time 1619464910.860134, type 5 (EV_SW), code 4 (SW_MICROPHONE_INSERT), value 0
          Event: time 1619464910.860134, type 5 (EV_SW), code 7 (SW_JACK_PHYSICAL_INSERT), value 0
          Event: time 1619464910.860134, type 5 (EV_SW), code 17 (?), value 0
          Event: time 1619464910.860134, -------------- SYN_REPORT ------------
          Event: time 1619464946.781515, type 5 (EV_SW), code 2 (SW_HEADPHONE_INSERT), value 1
          Event: time 1619464946.781515, type 5 (EV_SW), code 4 (SW_MICROPHONE_INSERT), value 1
          Event: time 1619464946.781515, type 5 (EV_SW), code 7 (SW_JACK_PHYSICAL_INSERT), value 1
          Event: time 1619464946.781515, type 5 (EV_SW), code 17 (?), value 1
          Event: time 1619464946.781515, -------------- SYN_REPORT ------------
          Event: time 1619464952.772939, type 5 (EV_SW), code 2 (SW_HEADPHONE_INSERT), value 0
          Event: time 1619464952.772939, type 5 (EV_SW), code 4 (SW_MICROPHONE_INSERT), value 0
          Event: time 1619464952.772939, type 5 (EV_SW), code 7 (SW_JACK_PHYSICAL_INSERT), value 0
          Event: time 1619464952.772939, type 5 (EV_SW), code 17 (?), value 0
          
          

          Is this helpful ?

          πŸ“± Oneplus Nord N100 UT20.40 (OTA5); then Xperia X (since 2020) at last UT 20.04(OTA5), now out of service due to defective camera
          🐎 When you realize you are riding a dead horse, get off!
          My languages skill: πŸ‡¨πŸ‡­πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ, and only orally: πŸ‡¬πŸ‡§ πŸ‡ΉπŸ‡­

          flohackF 1 Reply Last reply Reply Quote 1
          • flohackF Offline
            flohack @Mario.CH
            last edited by

            @mario-ch Well partially, but normally the evdev for inserting and removing headsets is different from the button control. So with the button device nothing happened? I guess that would be the right one...

            My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

            Mario.CHM 1 Reply Last reply Reply Quote 0
            • Mario.CHM Offline
              Mario.CH @flohack
              last edited by

              @flohack So, I now played a song as a comparison and plugged in the Inears headset.
              The Jack has switched from speaker to earphone and I could hear the music, but the volume buttons did not work.
              In addition, the Evtest with <6>; with the same result as above (first test), namely nothing.

              πŸ“± Oneplus Nord N100 UT20.40 (OTA5); then Xperia X (since 2020) at last UT 20.04(OTA5), now out of service due to defective camera
              🐎 When you realize you are riding a dead horse, get off!
              My languages skill: πŸ‡¨πŸ‡­πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ, and only orally: πŸ‡¬πŸ‡§ πŸ‡ΉπŸ‡­

              1 Reply Last reply Reply Quote 0
              • ? Offline
                A Former User
                last edited by

                I'm a bit late, but here's my version of events:

                Devices:
                Cosmo Communicator
                PinePhone Rev1.2b

                Headsets:
                3 different sets of wired headsets, one with 3 buttons, one with 2 buttons, one with 1 button

                On the Cosmo, selecting:
                '/dev/input/event0: ACCDET'

                For all buttons on all headsets I get:
                type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 0
                -------------- SYN_REPORT ------------
                type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 1
                -------------- SYN_REPORT ------------

                There were 'Event code 114 (KEY_VOLUMEDOWN)' and 'Event code 115 (KEY_VOLUMEUP)' amongst other things listed in the 'Supported events' list, but I didn't see them on any button press.

                On the PinePhone, after entering 'evtest' I got no 'Available devices', after entering 'sudo evtest' I got some choices, but none gave any response.

                1 Reply Last reply Reply Quote 0
                • c4pp4C Offline
                  c4pp4
                  last edited by

                  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 ------------
                  
                  poVoqP 1 Reply Last reply Reply Quote 0
                  • poVoqP Offline
                    poVoq @c4pp4
                    last edited by

                    @c4pp4 Ah, cool, so USB headset audio is already supported? That would be nice to add to the button support as well.

                    Fairphone 5 (waiting for port)

                    flohackF 1 Reply Last reply Reply Quote 0
                    • flohackF Offline
                      flohack @poVoq
                      last edited by

                      @povoq Well headset audio should work for music with any headset (wired, BT) but call audio seems to be broken for BT.

                      My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

                      poVoqP 1 Reply Last reply Reply Quote 0
                      • poVoqP Offline
                        poVoq @flohack
                        last edited by

                        @flohack Well, I was surprised as "wired" as in headphone jack is completly different from USB headsets.

                        Fairphone 5 (waiting for port)

                        flohackF 1 Reply Last reply Reply Quote 0
                        • flohackF Offline
                          flohack @poVoq
                          last edited by

                          @povoq Ohh I see. That would be new, that USB devices work πŸ˜‰

                          My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

                          CiberSheepC 1 Reply Last reply Reply Quote 0
                          • CiberSheepC Offline
                            CiberSheep @flohack
                            last edited by

                            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

                            Another planet, another time, another universe!

                            1 Reply Last reply Reply Quote 0
                            • rikR Offline
                              rik
                              last edited by rik

                              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 + and volume - buttons are not detected, but the play / pause button is detected (correctly) as KEY_MEDIA. However, pressing it 1 time gives 2 events, both the value 1 and the value 0 entries above are from a single key press.

                              flohackF 1 Reply Last reply Reply Quote 0
                              • rikR Offline
                                rik @kugiigi
                                last edited by rik

                                @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.....

                                1 Reply Last reply Reply Quote 0
                                • flohackF Offline
                                  flohack @rik
                                  last edited by

                                  @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.

                                  My languages: πŸ‡¦πŸ‡Ή πŸ‡©πŸ‡ͺ πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ

                                  1 Reply Last reply Reply Quote 1
                                  • rikR Offline
                                    rik
                                    last edited by rik

                                    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 πŸ™‚

                                    1 Reply Last reply Reply Quote 0
                                    • Z zubozrout referenced this topic on
                                    • First post
                                      Last post