keybindings: Add MetaKeybindingAction for overview-key

Currently gnome-shell hardcodes <super> as overlay key when it has
a keyboard grab. In order to fix this, add a corresponding keybinding
action.

https://bugzilla.gnome.org/show_bug.cgi?id=665547
This commit is contained in:
Florian Müllner 2012-08-10 22:08:03 +02:00
parent 802c1ac427
commit 6c3985220e
2 changed files with 10 additions and 0 deletions

View File

@ -665,6 +665,15 @@ meta_display_get_keybinding_action (MetaDisplay *display,
MetaKeyBinding *binding; MetaKeyBinding *binding;
KeySym keysym; KeySym keysym;
/* This is much more vague than the MetaDisplay::overlay-key signal,
* which is only emitted if the overlay-key is the only key pressed;
* as this method is primarily intended for plugins to allow processing
* of mutter keybindings while holding a grab, the overlay-key-only-pressed
* tracking is left to the plugin here.
*/
if (keycode == display->overlay_key_combo.keycode)
return META_KEYBINDING_ACTION_OVERLAY_KEY;
keysym = XKeycodeToKeysym (display->xdisplay, keycode, 0); keysym = XKeycodeToKeysym (display->xdisplay, keycode, 0);
mask = mask & 0xff & ~display->ignored_modifier_mask; mask = mask & 0xff & ~display->ignored_modifier_mask;
binding = display_get_keybinding (display, keysym, keycode, mask); binding = display_get_keybinding (display, keysym, keycode, mask);

View File

@ -221,6 +221,7 @@ typedef enum _MetaKeyBindingAction
META_KEYBINDING_ACTION_MOVE_TO_SIDE_E, META_KEYBINDING_ACTION_MOVE_TO_SIDE_E,
META_KEYBINDING_ACTION_MOVE_TO_SIDE_W, META_KEYBINDING_ACTION_MOVE_TO_SIDE_W,
META_KEYBINDING_ACTION_MOVE_TO_CENTER, META_KEYBINDING_ACTION_MOVE_TO_CENTER,
META_KEYBINDING_ACTION_OVERLAY_KEY,
META_KEYBINDING_ACTION_LAST META_KEYBINDING_ACTION_LAST
} MetaKeyBindingAction; } MetaKeyBindingAction;