<Super>space shortcut not working on natty

Bug #768824 reported by Eric Hartmann
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
kupfer
New
Undecided
Unassigned

Bug Description

I'm using Kupfer with natty (gnome 2.32 desktop, not the unity one).
I'm unable to use the <Super>space shortcut.
I've tried the python sample program in the keybinder library and it does not work also.
I have no other keybinding that should be conflicted (checked in compiz settings & gnome keyboard shortcuts).

Something strange is that Super+Shift+Space is working for the shortcut <Super>space. So it may be in the keybinder library.

Revision history for this message
X (u78qir8a9-deactivatedaccount) wrote :

Unity uses a lot of Super bindings. Can you be sure that it is not taken by Unity?

Revision history for this message
X (u78qir8a9-deactivatedaccount) wrote :

All indications point towards 'Super+space' being grabbed by unity. In that case it can't be used.

libkeybinder will grab related keybindings like Shift+Super+space, and in this case the bug in libkeybinder is mostly that it should fail on this keybinding completely, instead of binding it partially.

For kupfer: wontfix: unity uses this shortcut, use something without Super?

See also Kupfer FAQ: https://live.gnome.org/Kupfer/FAQ#Can_I_use_Super.2B-Space_in_Unity.3F

Changed in kupfer:
assignee: nobody → Ulrik Sverdrup (ulrik-sverdrup)
status: New → Won't Fix
Revision history for this message
Eric Hartmann (hartmann-eric) wrote :

Sorry for the long delay.
I'm not using Unity as a desktop, I'm just using Gnome 2.32 without unity.
Other applications like synapse are able to bind the <Super>+Space shortcut without trouble.
Of course, I can use another key.
Thanks for having looked at this bug.

Revision history for this message
X (u78qir8a9-deactivatedaccount) wrote :

You need to make sure Super+Space is not taken by another application, something that is not running when kupfer is starting. I'm pretty sure it has to be something like that.

Revision history for this message
Eric Hartmann (hartmann-eric) wrote :

I've checked on compiz, killed every applications.
Without Kupfer, nothing seems to be launched with Super + Space, but is there any good method to be sure that there is not another application catching the key ?

Revision history for this message
Rob Kiggen (rob-kiggen) wrote :

As of today Kupfer doesn't respond to Super + Space anymore, instead it gets activated when I enter Super + Shift + Space.
I suspect it has something todo with the updates I ran today, because until today Kupfer worked just fine when I entered Super + Space. Only Kupfer has the Super + Space keybinding, if I bind other programs to Super + Space they respond correctly.

I'm running Linux Mint XFCE (XFCE version 4.8). I've included a file with the performed updates, perhaps this can give you a clue as where the problem occurs.

Kind regards,

Rob Kiggen

Changed in kupfer:
status: Won't Fix → New
Revision history for this message
X (u78qir8a9-deactivatedaccount) wrote :

Thanks for providing this information.

Does kupfer produce any output when this happens? Anything similar to "WARNING **: Binding '<Control>space' failed!" ?

It can be that there is a bug in libkeybinder or something that libkeybinder uses. I'll need someone affected to compile libkeybinder manually using "make CFLAGS=-DDEBUG=1" to produce a library with debug output. Someone with time can attempt to find me on jabber or in #kupfer irc channel on freenode. http://kaizer.se/wiki/contact/

Revision history for this message
X (u78qir8a9-deactivatedaccount) wrote :

Also, are you using multiple keyboard layouts, which layout is the default layout and which are you using? This is quite complicated, but libkeybinder will try to use the default (first) layout only.

Revision history for this message
Rob Kiggen (rob-kiggen) wrote :

Hi Ulrik,

that is it!

Usually I only use my laptops keyboard (US Qwerty keyboard), but today I worked 8 hours at a clients site and used an external keyboard which had the Belgian keyboard layout. I also performed the aforementioned updates after which I assumed Kupfer stopped responding.

But just now I decided to remove the obsolete Belgian keyboard layout and Kupfer started to respond again to Super + space.

What I don't understand is that it didn't affect other programs if I bound them to Super + space, only Kupfer displayed this strange behavior.

Revision history for this message
X (u78qir8a9-deactivatedaccount) wrote :

Well libkeybinder tries to be smart about this so there can certainly be problems with special cases. Thanks a lot again for the information, I'll try to reproduce it using something similar.

Revision history for this message
Rob Kiggen (rob-kiggen) wrote :

Steps to reproduce the problem (in my case):

1. Start with default US International (with dead keys) Keyboard Layout;
2. Add Keyboard layout Belgium (Iso standard);
3. Reboot

As long as I didn't reboot Kupfer responded just fine, but from the minute I rebooted, Kupfer only responded to Shift + Super + Space. Upon removal of the 2nd keyboard layout Kupfer worked just fine (even without rebooting).

Revision history for this message
Eric Hartmann (hartmann-eric) wrote :

Hi,

Here is the debug log.

With only french keyboard layout :

/usr/share/kupfer/kupfer/ui/browser.py:636: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  requisition.width, requisition.height = self.__child.size_request ()

** (kupfer.py:13314): CRITICAL **: cr_parser_new_from_buf: assertion `a_buf && a_len' failed

** (kupfer.py:13314): CRITICAL **: cr_parser_set_sac_handler: assertion `a_this' failed

(kupfer.py:13314): librsvg-WARNING **: Error setting CSS SAC handler

** (kupfer.py:13314): CRITICAL **: cr_parser_destroy: assertion `a_this && PRIVATE (a_this)' failed
Grabbing keyval: 32, vmodifiers: 0x4000000, name: <Super>space
grab/ungrab keycode: 65, lev: 0, grp: 0, modifiers: 0x4000043 (consumed: 0x3)
grab/ungrab keycode: 65, lev: 1, grp: 0, modifiers: 0x4000041 (consumed: 0x1)
grab/ungrab keycode: 65, lev: 2, grp: 0, modifiers: 0x40000c0 (consumed: 0x80)
grab/ungrab keycode: 65, lev: 4, grp: 0, modifiers: 0x4000044 (consumed: 0x4)
[kupfer.ui.browser] WindowController: Trying to register <Super>space to spawn kupfer.. success
[kupfer.core.sources] PeriodicRescanner: Starting new campaign, interval 3 s
 Got KeyPress keycode: 65, modifiers: 0x51
Translated keyval: 32, vmodifiers: 0xc000000, name: <Hyper><Super>space
Calling handler for '<Super>space'...
Got KeyRelease!

I've added US International keyboard as first layout (but not the selected one, I'm still using french keyboard layout) :

** (kupfer.py:14707): CRITICAL **: cr_parser_destroy: assertion `a_this && PRIVATE (a_this)' failed
Grabbing keyval: 32, vmodifiers: 0x4000000, name: <Super>space
grab/ungrab keycode: 65, lev: 0, grp: 0, modifiers: 0x4000040 (consumed: 0x0)
[kupfer.ui.browser] WindowController: Trying to register <Super>space to spawn kupfer.. success
Got KeyPress keycode: 65, modifiers: 0x50
Translated keyval: 32, vmodifiers: 0xc000000, name: <Hyper><Super>space
Calling handler for '<Super>space'...

It's working with this workaround.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.