meta_display_get_keybinding_action: remove keysym parameter
meta_display_process_key_event() always looks up events based on the "default" keysym for the keycode, so we should do the same here. This fixes, eg, the lookup of Shift-Alt-Tab (which would otherwise be unrecognized because the keysym would be XK_ISO_Left_Tab rather than XK_Tab). https://bugzilla.gnome.org/show_bug.cgi?id=632155
This commit is contained in:
parent
8cbaee47a0
commit
03578b69f3
@ -502,21 +502,21 @@ display_get_keybinding (MetaDisplay *display,
|
|||||||
/**
|
/**
|
||||||
* meta_display_get_keybinding_action:
|
* meta_display_get_keybinding_action:
|
||||||
* @display: A #MetaDisplay
|
* @display: A #MetaDisplay
|
||||||
* @keysym: Key symbol
|
|
||||||
* @keycode: Raw keycode
|
* @keycode: Raw keycode
|
||||||
* @mask: Event mask
|
* @mask: Event mask
|
||||||
*
|
*
|
||||||
* Returns: The action that should be taken for the given key, or %META_KEYBINDING_ACTION_NONE.
|
* Returns: The action that should be taken for the given key, or
|
||||||
*
|
* %META_KEYBINDING_ACTION_NONE.
|
||||||
*/
|
*/
|
||||||
MetaKeyBindingAction
|
MetaKeyBindingAction
|
||||||
meta_display_get_keybinding_action (MetaDisplay *display,
|
meta_display_get_keybinding_action (MetaDisplay *display,
|
||||||
unsigned int keysym,
|
|
||||||
unsigned int keycode,
|
unsigned int keycode,
|
||||||
unsigned long mask)
|
unsigned long mask)
|
||||||
{
|
{
|
||||||
MetaKeyBinding *binding;
|
MetaKeyBinding *binding;
|
||||||
|
KeySym keysym;
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
@ -2778,7 +2778,6 @@ process_workspace_switch_grab (MetaDisplay *display,
|
|||||||
MetaKeyBindingAction action;
|
MetaKeyBindingAction action;
|
||||||
|
|
||||||
action = meta_display_get_keybinding_action (display,
|
action = meta_display_get_keybinding_action (display,
|
||||||
keysym,
|
|
||||||
event->xkey.keycode,
|
event->xkey.keycode,
|
||||||
display->grab_mask);
|
display->grab_mask);
|
||||||
|
|
||||||
|
@ -125,7 +125,6 @@ void meta_display_end_grab_op (MetaDisplay *display,
|
|||||||
MetaGrabOp meta_display_get_grab_op (MetaDisplay *display);
|
MetaGrabOp meta_display_get_grab_op (MetaDisplay *display);
|
||||||
|
|
||||||
MetaKeyBindingAction meta_display_get_keybinding_action (MetaDisplay *display,
|
MetaKeyBindingAction meta_display_get_keybinding_action (MetaDisplay *display,
|
||||||
unsigned int keysym,
|
|
||||||
unsigned int keycode,
|
unsigned int keycode,
|
||||||
unsigned long mask);
|
unsigned long mask);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user