Ubuntu – Ctrl shortcuts not working in VLC

shortcut-keysunityvlc

I'm experiencing some keyboard shortcuts not working in VLC after upgrading to 15.10. The problem persists in 16.04

If I just open VLC with no file loaded, almost all shortcuts involving Ctrl do nothing. Ctrl+O should open the "open file" dialog, but nothing happens. The exception is Ctrl+Q which does work to close VLC.

Oddly, if I open a file then CtrlW starts working to close the file, but none of the other Ctrl shortcuts work.

Stranger still, after I've opened a file and then closed it, suddenly all the Ctrl shortcuts start working, but now the menus have changed color and no longer sit within the window title bar.

What could be causing this strange behaviour, and how can I fix it?

VLC before opening and closing a file

VLC after opening and closing a file

Best Answer

This behavior is caused by a notorious appmenu-qt5 bug. The bug report is here. It sets an environment variable for qt applications and this causes many applications menu item to be problematic in Unity. VLC is one of them.

The environment variable is QT_QPA_PLATFORMTHEME and is set in the file /etc/profile.d/appmenu-qt5.sh.

Workaround

To workaround this bug, You can unset this variable and start VLC then. From terminal you can use this command to start VLC without this bug.

env QT_QPA_PLATFORMTHEME='' vlc

As a permanent fix, first copy the vlc.desktop file to ~/.local/share/applicatons/

cp /usr/share/applications/vlc.desktop ~/.local/share/applications/

and then edit the line starting with EXEC to this line below

Exec=env QT_QPA_PLATFORMTHEME='' /usr/bin/vlc --started-from-file %U

Save the file. Now if you start VLC, the shortcut will work from start.

Update

As reported by Jonathan Y, it seems unsetting UBUNTU_MENUPROXY environment variable works too! So, you can use un-setting this variable in .desktop file.

Exec=env UBUNTU_MENUPROXY='' /usr/bin/vlc --started-from-file %U