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