(needs x11 protocol update) Impossible to configure more the 4 keyboard layouts

Bug #56912 reported by Aigars Mahinovs
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
x11proto-core (Ubuntu)
Invalid
Wishlist
Unassigned

Bug Description

In Dapper, in Gnome it is impossible to configure more then 4 keyboard layouts. This is a huge problem for anyone involved in multinational business or in translation business. And it is also a major feature regression in relation to Windows.
In Ubuntu as an international distribution it must be possible to configure and use unlimited number of input languages.

Changed in gnome-applets:
importance: Untriaged → Medium
Revision history for this message
Aigars Mahinovs (aigarius) wrote :

Note that this bug has been dismissed by upstream as NOTABUG for several years, since Gnome 2.6 IIRC. The keyboard layout selector was rewritten at that point - the old selector supported unlimited number of layouts, while the new one only supported at most 4 layouts.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks for your bug. Do you have any pointer to the upstream discussion? That's not likely something that we want to divert from upstream for. Is there really users who want to use over 4 differents layouts for their keyboard?

Changed in gnome-applets:
assignee: nobody → desktop-bugs
importance: Medium → Wishlist
status: Unconfirmed → Needs Info
Revision history for this message
Aigars Mahinovs (aigarius) wrote :

http://community.livejournal.com/xkbconfig/304.html has the latest instance of the discussion.
The thing is that the keyboard layout configuration was rewriten and features were lost in the name of some tiny bit of efficiency. FWIW the keyboard layout switching in early versions of Gnome 2 and now in KDE have no significant speed difference to the current Gnome variant, but allow more then 4 languages.
Now it has come to a point where users that need more then 4 languages (or even just think that they might need more then 4 languages sometime in the future) are forced not to use Linux (or to use KDE if they are sufficiently advanced).
The 4 language limit is a design choice that restricts the number of configurable layouts to a fixed arbitrary limit. Some users do need more then that or know/feel that they will need that in the future, for example, people working at multinational companies or international charities, as well as translators that know more then a few languages. I know 5 lanuages and am trying to learn a 6th. With the world going multicultural such diversity will only increase, while Gnome will be stuck at 4.

Revision history for this message
Daniel Stone (daniels) wrote :

It's not a matter of laziness or efficiency or whatever. The X core protocol only allows for four keyboard groups, full stop. You can't have more than four layouts without magically changing your keymap when you switch to a layout n >= 4, which is incredibly difficult.

Changed in control-center:
status: Needs Info → Unconfirmed
Revision history for this message
Daniel Stone (daniels) wrote :

(wrong component.)

Revision history for this message
Aigars Mahinovs (aigarius) wrote :

I still have not found a good enough reasoning behind having keyboard layouts being equal with keyboard groups. Switching over the whole keyboard configuration when the input langage changes seems to be the most flexible approach to the situation. Some languages could have only one keyboard group, while others could use up to 4 groups if they desire so. The only problem that needs to be solved for that is a way to link user space keyboard switcher application to the X server (as an X protocol extension, probably) so that this keyboard switcher can elect to receive keyboard combinations to switch languages. A more efficient way of switching the keyboard settings of an X server could be implemented in the same extension. For example, the keyboard switcher could either feed X sever with a precompiled keyboard layout or ask it to switch to a previosely used layout from the X servers cache.

There are multiple input method frameworks out there (SCIM for example) that have to extend X keyboard layouts way beyond the protocol to make thier languages work as the users expect.

It would be very nice if developers of these frameworks could come together and forge an official replacement of xkb with a new X extension, api and ui parts that would implement all needed features for all languages and would not have any arbitrary limits.

Revision history for this message
Daniel Stone (daniels) wrote :

It would be nice if I had a pony too, but it's not going to happen.

Sergey, who you were talking with in that LiveJournal entry, is the maintainer of the GNOME XKB tools, as well as the upstream maintainer of the XKB layouts. He and I (in my guise of upstream XKB, and general input, code maintainer) interact quite a lot.

Input methods need to support arbitrarily complex compositions of glyphs, and often need user feedback to do so, which completely rules out the server doing it.

So what we're down to is having the server be able to kick an external client on group switch, and have the client be able to react accordingly. Yes, that's feasible as part of a protocol extension, but it's quite far down the TODO list. There are exactly two people who hack on input in X, code-wise, and the other one generally doesn't venture too far outside the evdev driver.

Pre-compiled layouts are a bad idea that are being removed from XKB 2.0 (the code needs a serious rework to fix far more fundamental problems than the one you've discussed). Implementing a layout cache is possible (if costly).

I'll think about it, but don't expect anything soon. I need to finish the input hotplug work, then finish most of the XKB rework, then add this, then it needs to get added to an Xorg stable release, at which point the GNOME applet can start using it. You'll need to wait for the next stable release for this to be included. This ... is not a short timespan.

Timo Aaltonen (tjaalton)
Changed in x11proto-core:
status: Unconfirmed → Confirmed
Changed in x11proto-core:
assignee: desktop-bugs → nobody
Bryce Harrington (bryce)
Changed in x11proto-core:
status: Confirmed → Triaged
Revision history for this message
josephbren (josephbren) wrote :

What is the status of this? I would like to have more than four keyboard layouts---it is one of the few things that make me nostalgic for Windows! I have my system set up for English, Greek, French and Spanish keyboards. I mostly use English and Greek, but on occasion I use the Spanish and French, but once-in-awhile, I might want to type up a quote from say, German. Since I'm up against my limit, I have to go to the character map and find my umlauted vowels and sharp S. Since this is a pain, is there anything I can do to help so that make more layouts available to users?

Revision history for this message
Wanderlust (wanderlust) wrote :

The same question :)

Mathew Hodson (mhodson)
Changed in x11proto-core (Ubuntu):
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.