Comment 26 for bug 1357895

Revision history for this message
Santiago (santileortiz) wrote : Re: Keyboard layout switcher shortcuts not working [$50]

Yes, I noticed that my patch didn't solve the issue by itself, I didn't remember but I had used sexkbmap and that helped fix the problem. The problem here is that the gnome-settings-daemon wants to handle all the layout configuration, but right now the way accelerators work require an alphanumeric character, and all of the shortcuts we are currently used to don't have a single alphanumeric character in them, just like you mention "Alt+shift", "both shifts", "supr" etc.

So on one side we can continue with what Gnome is trying to do which will imply (at least in the short term) we should change the shortcuts we are used to for others based on accelerators, and its uncertain how long it would take to get a more advanced UI for creating accelerators which is a lot of work on design and also programming. Also, this would require much more work for a lot of more exotic things that people could do using xkb, like controlling LEDS (not sure if Gnome has an interface for this), radio keys, and so on. The other thing that bothers me with this approach is that to my understanding accelerators currently work with keysyms (the symbol sent by a specific key), which would mean that people with for example Cyrillic keyboards could use a shortcut in one layout, but after they change, the keysym sent by that key would change too so that shortcut won't work anymore, maybe this is exactly why xkb's shortcuts didn't use alphanumeric characters in the first place. To have a more robust accelerator interface, we need to use keycodes and not keysyms, and this requires a lot of changes too.

On the other hand we can just patch gnome-settings-daemon to keep doing what we were doing before, but this will certainly make difficult future merges from upstream, because they are trying to do just the contrary of what we would do. It also will do things that Gnome is unaware of, and for example as I said before the indicator on wingpanel won't get updated.

In any case it's a trade-off and I we need to decide something here. I don't know how Gnome or Ubuntu are solving these kind of problems in their current versions, if someone could check that and see if it has gotten any better (and they already solved most of what I pointed before), then we might just port back changes from more current versions.

In the meantime people can try to use something like 'setxkbmap us,latam' (depending on which 2 layouts you use), and that should make it work, at least for now (maybe have this command called from a .desktop file so it is done at start up), just note that this is not what Gnome is expecting, but it shouldn't cause much trouble.