Commit 70bba2bb authored by Georges Basile Stavracas Neto's avatar Georges Basile Stavracas Neto
Browse files

keyboard: avoid stray Meta modified

While using the Keyboard shortcut editor dialog under
Wayland, the user receives a <Meta> key even when this
key isn't present in the physical keyboard nor in the
keymap.

This is probably the result of Wayland inheriting from
X's xkb.

To work around that, simply filter out this modifier.

https://bugzilla.gnome.org/show_bug.cgi?id=769063
parent a0a15588
......@@ -24,6 +24,11 @@
#include "cc-keyboard-shortcut-editor.h"
#include "keyboard-shortcuts.h"
/*
* Workaround to stop receiving a stray Meta modifier.
*/
#define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)
struct _CcKeyboardShortcutEditor
{
GtkDialog parent;
......@@ -450,7 +455,7 @@ cc_keyboard_shortcut_editor_key_press_event (GtkWidget *widget,
if (!editing)
return GTK_WIDGET_CLASS (cc_keyboard_shortcut_editor_parent_class)->key_press_event (widget, event);
real_mask = event->state & gtk_accelerator_get_default_mod_mask ();
real_mask = event->state & gtk_accelerator_get_default_mod_mask () & ALL_ACCELS_MASK;
/* A single Escape press cancels the editing */
if (!event->is_modifier && real_mask == 0 && event->keyval == GDK_KEY_Escape)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment