GNOME Bugzilla – Bug 124172
+ Key does not work
Last modified: 2004-12-22 21:47:04 UTC
Using German Keyboard: the plus key only works on the numpad, not on the main keyboard.
Hi Helge. Are you able to build gcalctool, either from CVS HEAD or from the latest tarball under: http://ftp.gnome.org/pub/GNOME/sources/gcalctool/4.3/ If so, could you do so please, but first adding one line of debug code near the beginning of the kframe_key_press_cb() routine in gtk.c (about line 1342 for the version in CVS HEAD). I'd like you to add: fprintf(stderr, "keyval is %d\n", event->keyval); just after: int retval = FALSE; so that the beginning of the routine looks like: static gboolean kframe_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) { GtkWidget *focus; int retval = FALSE; fprintf(stderr, "keyval is %d\n", event->keyval); if (event->keyval == GDK_space) { If you then compile gcalctool and run this new version and hit the + key from the main keyboard, what keyval does it display? Thanks.
no, I dont have developement packages installed. But maybe the keycode derived from xev is enough? KeyRelease event, serial 25, synthetic NO, window 0x3400001, root 0x40, subw 0x0, time 46571948, (117,137), root:(121,179), state 0x80, keycode 35 (keysym 0x2b, plus), same_screen YES, XLookupString gives 1 bytes: "+"
Yes, that's great (I keep forgetting the good old X11 apps). So the equivalent entry in gdkkeysyms.h is GDK_plus. If you look at: http://cvs.gnome.org/bonsai/cvsblame.cgi?file=gcalctool%2Fgcalctool/ca lctool.c&rev=&root=/cvs/gnome at about 421, you'll see that GDK_plus is there but that the Shift key needs to be pressed to get this to work. I'm guessing that on a German keyboard, the plus key is on the bottom row (i.e. doesn't need to have to be pressed in conjunction with the Shift key). Is that correct?
>I'm guessing that on a German keyboard, the plus key is > on the bottom row No, in the first row. See http://www.buessert.de/TRS-80/GermanTRS80/PC_GermanKeyboard_Make_large.gif >(i.e. doesn't need to have to be >pressed in conjunction with the Shift key). Is that correct? Yes, + is a direkt key. Shift+"+" is * ,which is working.
Sorry, when I wrote "bottom row", I meant on the lower level of the two symbols defined on a single key. Thanks for supplying the .gif; that confirms it (as well as your last sentence). This is a simple fix. I'll check it into CVS HEAD when I get to work tomorrow.
Changes checked into CVS HEAD. Fixed in v4.3.15 of gcalctool. Helge, if you haven't got developer packages installed, I'm not sure you are going to get a chance to verify this until Mandrake pick it up. If at that time, it still doesn't work for you, please just reopen the bug.