diff options
-rw-r--r-- | libcaribou/xadapter.vala | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libcaribou/xadapter.vala b/libcaribou/xadapter.vala index d22e2d4..4d5c7c1 100644 --- a/libcaribou/xadapter.vala +++ b/libcaribou/xadapter.vala @@ -184,12 +184,15 @@ namespace Caribou { if (!kmap.get_entries_for_keyval (keyval, out kmk)) return false; - Gdk.KeymapKey best_match = kmk[0]; + Gdk.KeymapKey? best_match = null; foreach (KeymapKey km in kmk) - if (km.group == this.group) + if (km.group == this.group && km.level <= 1) best_match = km; + if (best_match == null) + return false; + keycode = (uchar) best_match.keycode; modmask = (best_match.level == 1) ? Gdk.ModifierType.SHIFT_MASK : 0; |