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 7.4k 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.
      • flohackF Offline
        flohack @poVoq
        last edited by

        @povoq That should be the events that switch the audio sink to the headset. That should already be handled properly otherwise you would not hear anything πŸ˜‰

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

        poVoqP 1 Reply Last reply Reply Quote 0
        • 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 (Not yet installed UT on it though)

          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 UT24.04-1.2 stable; then Xperia X (since 2020) at last UT 24.04-1.2 RC, 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 UT24.04-1.2 stable; then Xperia X (since 2020) at last UT 24.04-1.2 RC, 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 (Not yet installed UT on it though)

                      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 (Not yet installed UT on it though)

                          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

                                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                      With your input, this post could be even better πŸ’—

                                      Register Login
                                      • First post
                                        Last post