Fix error in keymap
authorPeng Huang <shawn.p.huang@gmail.com>
Sun, 14 Jun 2009 22:11:08 +0000 (06:11 +0800)
committerPeng Huang <shawn.p.huang@gmail.com>
Sun, 14 Jun 2009 22:11:08 +0000 (06:11 +0800)
bus/inputcontext.c
data/keymaps/modifiers
src/ibuskeymap.c

index cdea4b4..04637c1 100644 (file)
@@ -2034,11 +2034,11 @@ bus_input_context_filter_keyboard_shortcuts (BusInputContext    *context,
     if (keycode != 0) {
         IBusKeymap *keymap = BUS_DEFAULT_KEYMAP;
         if (keymap != NULL) {
-            guint t = ibus_keymap_lookup_keysym (keymap,
+            guint tmp = ibus_keymap_lookup_keysym (keymap,
                                                  keycode,
                                                  modifiers);
-            if (t != IBUS_VoidSymbol)
-                keyval = t;
+            if (tmp != IBUS_VoidSymbol)
+                keyval = tmp;
         }
     }
 
index 531ac8b..a07a252 100644 (file)
@@ -2,8 +2,8 @@ keycode 29 = Control_L
 keycode 42 = Shift_L
 keycode 54 = Shift_R
 keycode 56 = Alt_L
-keycode 157 = Control_R
-keycode 184 = ISO_Level3_Shift
-keycode 219 = Super_L
-keycode 220 = Super_R
-keycode 221 = Menu
+keycode 97 = Control_R
+keycode 100 = Alt_R
+keycode 125 = Super_L
+keycode 126 = Super_R
+keycode 127 = Menu
index 398c497..da1e7e4 100644 (file)
@@ -75,8 +75,15 @@ ibus_keymap_class_init (IBusKeymapClass *klass)
 static void
 ibus_keymap_init (IBusKeymap *keymap)
 {
+    gint i, j;
+
     keymap->name = NULL;
-    memset (keymap->keymap, 0, sizeof (keymap->keymap));
+
+    for (i = 0; i < 256; i++) {
+        for (j = 0; j < 5; j++) {
+            keymap->keymap[i][j] = IBUS_VoidSymbol;
+        }
+    }
 }
 
 static void
@@ -212,11 +219,11 @@ ibus_keymap_fill (KEYMAP keymap)
 {
     gint i;
     for (i = 0; i < 256; i++) {
-        if (keymap[i][1] == 0)
+        if (keymap[i][1] == IBUS_VoidSymbol)
             keymap[i][1] = keymap[i][0];
-        if (keymap[i][2] == 0)
+        if (keymap[i][2] == IBUS_VoidSymbol)
             keymap[i][2] = keymap[i][0];
-        if (keymap[i][3] == 0)
+        if (keymap[i][3] == IBUS_VoidSymbol)
             keymap[i][3] = keymap[i][2];
     }
 }
@@ -279,7 +286,7 @@ ibus_keymap_lookup_keysym (IBusKeymap *keymap,
         gboolean is_upper;
         is_upper = (((state & IBUS_SHIFT_MASK) == IBUS_SHIFT_MASK) ^ ((state & IBUS_LOCK_MASK) == IBUS_LOCK_MASK)) != 0;
 
-        if ((state & IBUS_MOD2_MASK) && (keymap->keymap[keycode][4] != 0)) {
+        if ((state & IBUS_MOD2_MASK) && (keymap->keymap[keycode][4] != IBUS_VoidSymbol)) {
             keysym = keymap->keymap[keycode][4];
         }
         else if (state & IBUS_MOD5_MASK) {