Comment 8 for bug 1397142

Revision history for this message
Yura (ykuchinskiy) wrote : Re: Sony SRS-BTM8 play/pause key not fully effective in Rhythmbox or Banshee

I think I have the same problem with Sony SBH20, Ubuntu 15.04, kernel 4.0.4

Device is paired and bluetooth buttons detectable in "System Setings" -> "Keyboard" -> "Shortcuts" -> "Sound and Media"

* Previous Track detected as "Audio previous" and working as expected in all apps
* Next track detectable as "Audio next" and working as expected in all apps

* Play (or play/pause) detectable as "Audio play", but does not stop resume playback in all apps

Working apps:
1. Totem Movie Player
2. Spotify, but only if you click twice

Not working apps:
1. Pithos (pandora app for linux)
2. Chrome or FireFox (this is maybe app specific problem)
3. Rhythmbox

I would like to add that all apps (except chrome and firefox) are working with the keyboard pause/resume media key.
Question: who knows the flow of key events, please suggest how to debug this problem?

Here is output from "xev" for bluetooth pause/resume key

KeyPress event, serial 47, synthetic NO, window 0x5000001,
    root 0xaf, subw 0x0, time 73921661, (212,2196), root:(1500,2856),
    state 0x0, keycode 209 (keysym 0x1008ff31, XF86AudioPause), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x5000001,
    root 0xaf, subw 0x0, time 73921858, (212,2196), root:(1500,2856),
    state 0x0, keycode 209 (keysym 0x1008ff31, XF86AudioPause), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 48, synthetic NO, window 0x5000001,
    root 0xaf, subw 0x0, time 73928594, (212,2196), root:(1500,2856),
    state 0x0, keycode 208 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XKeysymToKeycode returns keycode: 172
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x5000001,
    root 0xaf, subw 0x0, time 73928618, (212,2196), root:(1500,2856),
    state 0x0, keycode 208 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XKeysymToKeycode returns keycode: 172
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 48, synthetic NO, window 0x5000001,
    root 0xaf, subw 0x0, time 73965210, (212,2196), root:(1500,2856),
    state 0x0, keycode 209 (keysym 0x1008ff31, XF86AudioPause), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x5000001,
    root 0xaf, subw 0x0, time 73965728, (212,2196), root:(1500,2856),
    state 0x0, keycode 209 (keysym 0x1008ff31, XF86AudioPause), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 48, synthetic NO, window 0x5000001,
    root 0xaf, subw 0x0, time 73971740, (212,2196), root:(1500,2856),
    state 0x0, keycode 208 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XKeysymToKeycode returns keycode: 172
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 48, synthetic NO, window 0x5000001,
    root 0xaf, subw 0x0, time 73971763, (212,2196), root:(1500,2856),
    state 0x0, keycode 208 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XKeysymToKeycode returns keycode: 172
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Here is output from "xev" for keyboard pause/resume key:

FocusOut event, serial 37, synthetic NO, window 0x5a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 37, synthetic NO, window 0x5a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
           0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0

KeyRelease event, serial 37, synthetic NO, window 0x5a00001,
    root 0xaf, subw 0x0, time 75455595, (570,1286), root:(1912,2523),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

FocusOut event, serial 37, synthetic NO, window 0x5a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 37, synthetic NO, window 0x5a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
           0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0

KeyRelease event, serial 37, synthetic NO, window 0x5a00001,
    root 0xaf, subw 0x0, time 75474244, (570,1286), root:(1912,2523),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

FocusOut event, serial 37, synthetic NO, window 0x5a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 37, synthetic NO, window 0x5a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
           0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0

KeyRelease event, serial 37, synthetic NO, window 0x5a00001,
    root 0xaf, subw 0x0, time 75495964, (570,1286), root:(1912,2523),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

FocusOut event, serial 37, synthetic NO, window 0x5a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 37, synthetic NO, window 0x5a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
           0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0

KeyRelease event, serial 37, synthetic NO, window 0x5a00001,
    root 0xaf, subw 0x0, time 75497224, (570,1286), root:(1912,2523),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False