[caribou] libcaribou: Ignore level 3 keysyms when looking up keycode



commit 348c91015fac1b086abe8a950987835943172e60
Author: Daiki Ueno <ueno unixuser org>
Date:   Mon Apr 16 18:05:22 2012 +0900

    libcaribou: Ignore level 3 keysyms when looking up keycode
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673579

 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;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]