pcb

Comment 13 for bug 700742

Revision history for this message
Felix Ruoff (felixruoff) wrote :

I tried it with plus, period, colon and minus for the Lesstif-GUI. All this works.

But further testing today shows problems with some other keynames (e.g. bracketright). As far as I can see, some of the problems are related to my german keyboard layout. I need some time to think about it and to evaluate the problems before I will start to implement something for this. (bracketright/left needs to use the 3. level chosser button)

Here are my actual thoughts (I will send them to the geda-user mailing list, too, to get more input, but I think, here also is the right place for this to have all related things for this bug at one place):

Today, key-modifiers (shift, control, mod1, ...) and keys (like 'a', 'b', ...) are handled seperately. This will give problems with some of the default-accelerators if used on different keyboard-layouts.
One example: On an american keyboard (querty) you have the a button for '='. So, the accelerator 'shift<Key>=' is no problem. With a german keyboard (qwertz) you will get the equal sign by hitting shift+0 (zero). With this keyboard layout it is impossible to use the accelerator 'shift<Key>=' which is applied to "Auto-Optimize" in the default pcb-menu.res. This problem exists for the lesstif and the gtk gui (see also LP:70748 which is related to this problem).

This lets me think, that just using keynames for accelerators are a better choice for the future. The needed strings for the (g)pcb-menu.res file are the same for the gtk and lesstif gui, because both take their keyname table from the X11 environement (see http://tronche.com/gui/x/xlib/input/keyboard-encoding.html#KeySym for Lesstif and http://library.gnome.org/devel/gdk/stable/gdk-Keyboard-Handling.html for the GTK gui). With this, it might be possible to distinguish between small and large/capital? letters and to be (nearly) sure to have all used accelerators on everyones keyboard. Then some (all) of the modifiers would be invalid for accelerators (I think, perhaps they will still be needed for mouse-actions and perhaps some other stuff).

This are just my thoughts of today. Comments are very welcome.