Index: work/gtk/in_keyboard/in_keyboard.c =================================================================== --- work/gtk/in_keyboard/in_keyboard.c (revision 12751) +++ work/gtk/in_keyboard/in_keyboard.c (revision 12752) @@ -34,26 +34,27 @@ //static int seq_len = 0; unsigned short int kv = kev->keyval; - if (state & GDK_SHIFT_MASK) { - guint *keyvals; - GdkKeymapKey *keys; - gint n_entries; - unsigned short int ukv; + guint *keyvals; + GdkKeymapKey *keys; + gint n_entries; + unsigned short int ukv; - kv = gdk_keyval_to_lower(kev->keyval); - ukv = gdk_keyval_to_unicode(kv); - if (ukv < 'a' || ukv > 'z') { - if (gdk_keymap_get_entries_for_keycode(gdk_keymap_get_default(), kev->hardware_keycode, &keys, &keyvals, &n_entries)) { - //for (int n = 0; n < n_entries; n++) { - // printf(" %c \t%s \t%d \t%d\n", gdk_keyval_to_unicode(keyvals[n]), gdk_keyval_name(keyvals[n]), keys[n].group, - // keys[n].level); - //} - kv = keyvals[0]; - //kv = keyvals[2 * kev->group]; - g_free(keys); - g_free(keyvals); + kv = gdk_keyval_to_lower(kev->keyval); + ukv = gdk_keyval_to_unicode(kv); + if (ukv < 'a' || ukv > 'z') { + if (gdk_keymap_get_entries_for_keycode(gdk_keymap_get_default(), kev->hardware_keycode, &keys, &keyvals, &n_entries)) { + for (int n = 0; n < n_entries; n++) { + printf(" group=%d \tlevel=%d \t%c \t%s\n", keys[n].group, keys[n].level, gdk_keyval_to_unicode(keyvals[n]), + gdk_keyval_name(keyvals[n])); } + kv = keyvals[0]; + //kv = keyvals[2 * kev->group]; + g_free(keys); + g_free(keyvals); } + } + printf("Found: "); + if (state & GDK_SHIFT_MASK) { printf(""); } if (state & GDK_CONTROL_MASK) { @@ -62,7 +63,7 @@ if (state & GDK_MOD1_MASK) { printf(""); } - printf(" %c \t%s\n", gdk_keyval_to_unicode(kv), gdk_keyval_name(kv)); + printf(" %c \tkeyname = %s\n", gdk_keyval_to_unicode(kv), gdk_keyval_name(kv)); } }