Re: Issues with keyboard accelerators



2009/3/30 Jorge González <aloriel gmail com>:
> Hi all,
>
> I'm having some issues with keyboard accelerators. Recently some users
> opened bugs concerning the usage of keyboard accelerators with letters
> containing accents (ie.e _í, _á, etc); apparently they do not work,
> however I'm quite sure I tried them long ago and they did work. How
> are other teams that use accents (and such) dealing with this problem?
> Are you avoiding using keyboard accelerators with these letters?
> Should I report the bug to gtk?

It is indeed a bug. For our case, we (Greek team) try to avoid those
characters when setting  accelerators for the reasons below.

The source of the problem relates to your keyboard layout, and the
fact that it may require dead keys in order to print characters such
as áéäẽ, etc.
Due to the dead key sequence, it is currently not possible to do things like
Alt + <dead_acute> + <a>, the sequence is canceled as soon as
Alt+dead_acute is pressed.

If however you could get á in your keyboard layout by pressing a
single key (that is, no need for dead key), then the accelerator would
simply work.

Is it a GTK+ bug or a Xorg bug?

GTK+ could be modified so that when it sees "_árbol", it would
actually register it as if it work "_arbol", so pressing Alt+a would
simply work.
The downside is that it would not be able to distinguish between áäãâà, etc.
Would that be a realistic problem however?

Would we want users to have to press Alt+<dead_acute>+a in order to
get to the accelerator? With some layouts, you get <dead_acute> when
you press AltGr+<somekey>, so the full keyboard sequence is
Alt+(AltGr+<somekey>+<a>).

I think I have seen a report about this but I cannot find it at gtk+,
component: input-methods. It might actually be a report at
freedesktop.org, so you might want to have a look there. The sequence
Alt+<dead_key>+<char> might actually fail due to the X server cutting
the sequence once the deadkey is pressed.

Hope this helps,
Simos


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]