A note on keyboard accelerators in non-Latin scripts

Chusslove Illich caslav.ilic at gmx.net
Sat Jun 14 23:04:06 BST 2008

The recent topic on autogenerating accelerators prompted me to write a
little something directly on this topic (mentioned the issue briefly in
another thread, about two years ago...) I don't really expect a favorable
resolution, but at least to make a clear statement, for my conscience
sake :)

The bottom line is: non-Latin keyboard accelerators (Cyrillic, Greek,
Hebrew, Arabic, perhaps some other) are pretty much useless in KDE.

A native user of non-Latin script has to spend greater part, if not most of
the time, having a Latin (usually en_US) keyboard layout selected:
communicating in English, typing in addresses, file names, shell stuff
(anything "the computer" should understand), etc. Thus, if such user is
working in non-Latin localized KDE, most of the time keyboard accelerators
are not usable. Even if such user is using non-localized KDE, when typing in
native language accelerators are again out of reach. Hence the bottom line
above. (And probably the reason why noone bother to complain about missing
auto-assigned accelerators...)

There's a simple and demonstrated solution to this, if not with a caveat.
For a long time, GTK is doing the following: it doesn't blindly accept the
character, but rotates characters with the same keysum in all set keyboard
layouts, until one matches an accelerator. Since the Latin and non-Latin
layouts are disjunct by characters admissible as accelerators (letters), it
works flawlessly. It also works, by virtue of not being applicable, for a
native Latin user who uses a single Latin layout.

However, the rotate-by-keysum leads to a disaster when a user uses two Latin
layouts. Since accelerator sets are no longer disjunct by layout, the
behavior is unpredictable. Think e.g. of A/Q in AZERTY and QWERTY. Woes on
this in Gnome: http://bugzilla.gnome.org/show_bug.cgi?id=162726

So there it is. Single layout users are happy no matter what; many non-Latin
KDE users are screwed right now, whereas the rotate-by-keysum would screw a
number of multiple Latin layout users. If anyone has an idea how to have the
cake and eat it (which obviously has to be acceptable for Qt), please...

Chusslove Illich (Часлав Илић)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080615/6d1f2b17/attachment.sig>

More information about the kde-core-devel mailing list