Media key problem on Arch Linux
#1
I've had a problem reported to me that the volume media keys don't work with Helix on Arch Linux. See:

http://trac.xbmc.org/ticket/15460

for details. There's no problem on Ubuntu with the current Helix code, but I vaguely recall seeing posts on GitHub about removing SDL, and I wonder if this could have affected the media key handling on different flavours of Unix. Can anyone hereabouts try a build of the current Helix code on Arch Linux and let me know if the volume up, volume down and mute keys work? The ticket describes problems with an MCE remote, but the remote is just simulating keypresses from a multimedia keyboard.

It would also be good to confirm that the media keys work on other brands of Unix.
Reply
#2
Stop/Pause/Play Buttons of nyxboard are also not working anymore in ubuntu. Maybe its related (just remembered that i missed those buttons yesterday but didn't think of SDL removal tbh).
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#3
@Memphiz: I can reproduce this (Ubuntu 14.04 trunk build).

It's fixed by removing the shortcuts in Settings, Keyboard, Shortcuts, Sound and Media. I can't remember if this was necessary in previous builds though I have an idea it was. Anyhow, can you try it and see if that fixes the problem?

Has any of the SDL removal stuff actually made its way into the trunk builds?
Reply
#4
yes, on linux SDL has been dropped for everything besides joystick shortly after helix branching.
Reply
#5
@jhsrennie - thx that fixed it for me too Smile
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#6
@wsnipex: where do the keystrokes first hit Kodi now? It used to be in CWinEventsSDL::MessagePump() but if I add some logging lines after the SDL_KEYDOWN case I see nothing in the log. If I can work out where we first see the keystrokes I'll try and find out where they are going astray.

@Memphiz: cool :-) Though it's a workaround and hasn't addressed the underlying problem!
Reply
#7
I'm guessing here, maybe WinEventsX11. FernetMenta knows Smile
Reply
#8
Thanks, it is indeed CWinEventsX11Imp::MessagePump().

With the Ubuntu shortcuts defined Kodi simply doesn't get the event, though oddly if you keep the key held down it does get the autorepeated keypresses. I think we're going to have to admit defeat and concede this one as a feature of Unity.
Reply
#9
Does it work with a reasonable WM?
Reply
#10
Switching to Gnome 3 makes no difference, so I guess it's not Unity to blame.
Reply
#11
Gnome 3 != reasonable Smile
could you try something like LXDE, OpenBox, Fluxbox?
Reply
#12
could you post output of xev when hitting those keys. This is what XBMC should see.
Reply
#13
This is the xev output from pressing BACK then PLAY then BACK then STOP and finally BACK again. I've trimmed out the events that I don't think are relevant. Let me know if you want the full output:

Code:
*** BACK pressed

MappingNotify event, serial 37, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 37, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 207509, (402,-173), root:(467,341),
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    XLookupString gives 1 bytes: (08) ""
    XmbLookupString gives 1 bytes: (08) ""
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 207629, (402,-173), root:(467,341),
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    XLookupString gives 1 bytes: (08) ""
    XFilterEvent returns: False

*** PLAY pressed

MappingNotify event, serial 38, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeymapNotify event, serial 39, synthetic NO, window 0x0,
    keys:  60  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 39, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 209613, (402,-173), root:(467,341),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

*** BACK pressed

MappingNotify event, serial 39, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 39, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 211197, (402,-174), root:(467,340),
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    XLookupString gives 1 bytes: (08) ""
    XmbLookupString gives 1 bytes: (08) ""
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 211301, (402,-173), root:(467,341),
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    XLookupString gives 1 bytes: (08) ""
    XFilterEvent returns: False

*** STOP pressed

MappingNotify event, serial 40, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeymapNotify event, serial 41, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   64  0   0   0   0   0   0   0   0   0   0

KeyRelease event, serial 41, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 212701, (402,-173), root:(467,341),
    state 0x0, keycode 174 (keysym 0x1008ff15, XF86AudioStop), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

*** BACK pressed

MappingNotify event, serial 41, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 41, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 214229, (402,-174), root:(467,340),
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    XLookupString gives 1 bytes: (08) ""
    XmbLookupString gives 1 bytes: (08) ""
    XFilterEvent returns: False

KeyRelease event, serial 42, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 214349, (402,-173), root:(467,341),
    state 0x0, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,
    XLookupString gives 1 bytes: (08) ""
    XFilterEvent returns: False
Reply
#14
In case it's of any interest, this is what happens if I press and hold the PLAY key. The first press doesn't get through but the repeats do:

Code:
MappingNotify event, serial 37, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys:  51  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  

KeymapNotify event, serial 38, 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 38, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 816338, (-187,199), root:(600,251),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 816338, (-187,199), root:(600,251),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeymapNotify event, serial 38, synthetic NO, window 0x0,
    keys:  101 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 38, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 816368, (-187,199), root:(600,251),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 816368, (-187,199), root:(600,251),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeymapNotify event, serial 38, synthetic NO, window 0x0,
    keys:  101 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 38, synthetic NO, window 0x3a00001,
    root 0x265, subw 0x0, time 816399, (-187,199), root:(600,251),
    state 0x0, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False
Reply
#15
This means xev behaves exactly the same way as Kodi, right? Those test were still with Gnome § or Unity?
Reply

Logout Mark Read Team Forum Stats Members Help
Media key problem on Arch Linux0