GtkCTree keyboard binding problem
- From: "Rene' Seindal" <rene seindal dk>
- To: gtk-list redhat com
- Subject: GtkCTree keyboard binding problem
- Date: Fri, 17 Sep 1999 22:30:50 +0200
I have a problem with the default bindings in GtkCTree. Pressing +
should expand a branch and - should collapse it, likewise for the
keypad. The keypad works, - likewise, but + has no effect. = should
toggle, but that doesn't work either.
I am using gtk+ 1.2.3, linux 2.2.10, slackware 4.0, XFree86 3.3.5.
I went though the code for GtkCTree, and found this:
binding_set = gtk_binding_set_by_class (klass);
The + has to be shifted! On my keyboard it is not. A shifted + is a
question mark. Likewise for the binding of =, which is shifted on my
keyboard (unshifted it is zero), but shouldn't be according to the
bindings in GtkCTree.
Gtk+ is making some assumptions that don't always hold. You have to
press shift to get a + on an american keyboard, but not on a danish
I think gtk+ should either make mappings that ignores modifiers, if
possible, or these keys should be mapped both shifted and
unshifted. Double mappings shouldn't harm, as the shifted/unshifted key
will normally generate another character, preventing mistakes. On my
keyboard, I cannot make a shifted +, because it generates a shifted
question mark. Likewise, I cannot make an unshifted question mark.
I did some changes to my program to test it, and the following changes
makes the keyboard shortcuts work in the GtkCtree with my keyboard.
binding_set = gtk_binding_set_by_class(GTK_OBJECT(ctree)->klass);
I just don't think this belongs in my application.
René Seindal (email@example.com) http://www.seindal.dk/rene/
] [Thread Prev