Bug 42931

Summary: Wrong keyboard layout switching order when using more than two layouts
Product: xkeyboard-config Reporter: Eugene <ken20001>
Component: GeneralAssignee: xkb
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: high CC: ken20001
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Screenshot of keyboard layouts list when it changed after Ctrl+Alt+K is pressed.

Description Eugene 2011-11-14 13:35:44 UTC
Created attachment 53559 [details]
Screenshot of keyboard layouts list when it changed after Ctrl+Alt+K is pressed.

I'm using three keyboard layouts in Kubuntu 11.10 that installed in following order:
1) English (US);
2) Russian;
3) Ukrainian

I found that several keyboard combinations to switch layouts has issues that makes working with system, especially with texts, very uncomfortable. The main issue is that switching procedure differs from manner in which keyboard layout installed but there are some other issues too. Next I'm describing in detail all the combinations and found issues.

Alt + Caps Lock – with Right Alt + Caps Lock it stops switching on last layout – UA.


Alt + Ctrl — 1) with Left Alt + Left Ctrl is wrong switching order (US-UA-RU); 2)  with Right Alt + Right Ctrl is right switching order but it stops switching on last layout - UA


Alt + Shift — 1) with Left Alt+ Left Shift is wrong switching order (US-UA-RU); 2) with Right Alt + Right Shift is right switching order but it stops switching on last layout – UA.


Alt + Space – with Right Alt + Space it stops switching on last layout – UA.


Caps Lock (to first layout), Shift+Caps Lock (to last layout) – Shift+Caps Lock switching to RU but must to UA as UA is the last layout.


Ctrl + Shift – with Left Ctrl+ Left Shift and with Right Ctrl + Left Shift is wrong switching order (US-UA-RU)


Left Ctrl (to first layout), Right Ctrl (to last layout) – Right Ctrl switching to RU, but must to UA, as UA is the last layout.


Both Alt`s – not works if first Left Alt and then Right Alt pressed (if first pressed Right Alt and then Left Alt - it works)


Both Ctrl`s – not works if first Left Ctrl and then Right Ctrl pressed (if first pressed Right Ctrl and then Left Ctrl - it works)


Both Shift's – wrong order if first right Shift pressed and than left Shift (US-UA-RU) (if first left Shift pressed and than right – right order)


Right Alt – it stops switching on last layout – UA.


Ctrl+Alt+K. This combination is not working at all. When I press it the list of layouts, that we can see clicking by right mouse button on layout indicator, changes the view like in picture in attachment (layout.png).

All this issues makes the work in system, especially with texts, very uncomfortable and should be fixed.

Тhanks in advance.
Comment 1 Sergey V. Udaltsov 2011-11-17 11:40:23 UTC
This is the issue with Ubuntu and KDE rather than xkeyboard-config
Comment 2 Eugene 2011-11-23 16:11:16 UTC
(In reply to comment #1)
> This is the issue with Ubuntu and KDE rather than xkeyboard-config

Actually, we have three problems:
1) Alt+Ctrl+K

2) Keyboard layout switching order differs with order in which keyboard layouts are installed.If there is more than two keyboard layouts installed (for example US, RU, UK) then right keyboard shortcut for change layout (for example Ctrl+Shift) switches layouts in sequential order (US -> RU -> UK), when left keyboard shortcut (same: Ctrl+Shift) - it switches layouts in back order (UK -> RU -> US). And it looks like there is no way to change this very uncomfortable behaviour of xkeyboard-config.

And looks like there is no way to change this very uncomfortable behaviour.

3) If try to use some right buttons of keyboard layout switch shortcuts instead of left, the switching stops at last layout (in my case - in UA).

First problem is in KXKB and seems it was already fixed.

The second, as says developer of KXKB Andriy Rysin here: https://bugs.kde.org/show_bug.cgi?id=286958#c4, concerns to xkeyboard-config, although you say the opposite. Let's somehow to understand where the problem really is, cause it makes the work with text very very uncomfortable.

The third problem requires the same determination as second.
Comment 3 Sergey V. Udaltsov 2011-11-26 10:52:53 UTC
> Actually, we have three problems:
> 1) Alt+Ctrl+K
This is definitely DE's issue.
 
> RU -> US). And it looks like there is no way to change this very uncomfortable
> behaviour of xkeyboard-config.
Well, there is a way - but this is done intentionally, as far I can tell looking at the code.

    key <LCTL>  {       [       Control_L,      ISO_Prev_Group ]        };
    key <RCTL>  {       [       Control_R,      ISO_Next_Group ]        };


> 3) If try to use some right buttons of keyboard layout switch shortcuts instead
> of left, the switching stops at last layout (in my case - in UA).
Same as #2
Comment 4 Eugene 2011-11-26 12:17:16 UTC
(In reply to comment #3)
 
> Well, there is a way - but this is done intentionally, as far I can tell
> looking at the code.
> 
>     key <LCTL>  {       [       Control_L,      ISO_Prev_Group ]        };
>     key <RCTL>  {       [       Control_R,      ISO_Next_Group ]        };
 
I'm sorry, but I can't understand why it is done intentionally. It is very very uncomfortable. One order in installed three layouts and by other order they switches. Why and how can it be normal???
 
> > 3) If try to use some right buttons of keyboard layout switch shortcuts instead of left, the switching stops at last layout (in my case - in UA).
> Same as #2

Yes, the same as #2: how can it be normal? For example let's try Alt+Shift combination. If we use Left Alt + Left Shift it switches: US - UА - RU. But keyboard layouts installed in different order: 1) US; 2) RU; 3) UA. So Left Alt + Left Shift must to switch US - RU - UA but not US - UA - RU !

The ogher thing. Now let's try Right Alt + Right Shift, it switches as US - RU -UA - it is right order! But when it switched to UA, then it just does not work - not switches to US from UA. Obviously it is a BUG. How can it be normal when layouts swithes to last layout and stops to switch further ???
Comment 5 Sergey V. Udaltsov 2011-11-26 14:35:32 UTC
I totally understand your irritation. But that is the way things worked for years (before xorg split from xfree86 and I started maintaining xk-c). I guess you understand that changing that behavior for very popular switchers would irritate a lot of users that used to the existing behavior.

Regarding not switching from UA to US - it is quite trivial. In the Ukrainian layout (group 3), RAlt is used for access to level 3. So at that point it is not a part of the group switcher any more.

    key <RALT> {
        type[group1]= "TWO_LEVEL",
        type[group2]= "TWO_LEVEL",
        type[group3]= "ONE_LEVEL",
        symbols[Group1]= [           Alt_R,  ISO_Next_Group ],
        symbols[Group2]= [           Alt_R,  ISO_Next_Group ],
        symbols[Group3]= [ ISO_Level3_Shift ]
    };
Comment 6 Eugene 2011-11-26 15:23:55 UTC
(In reply to comment #5)
> I totally understand your irritation. But that is the way things worked for
> years (before xorg split from xfree86 and I started maintaining xk-c). I guess
> you understand that changing that behavior for very popular switchers would
> irritate a lot of users that used to the existing behavior.
> 
> Regarding not switching from UA to US - it is quite trivial. In the Ukrainian
> layout (group 3), RAlt is used for access to level 3. So at that point it is
> not a part of the group switcher any more.
> 
>     key <RALT> {
>         type[group1]= "TWO_LEVEL",
>         type[group2]= "TWO_LEVEL",
>         type[group3]= "ONE_LEVEL",
>         symbols[Group1]= [           Alt_R,  ISO_Next_Group ],
>         symbols[Group2]= [           Alt_R,  ISO_Next_Group ],
>         symbols[Group3]= [ ISO_Level3_Shift ]
>     };

Ok with RAlt. It's not principal for me. And if left and right Alt are different, then may be it's right. But. In case of wrong order when switching. Why if the things worked in some strange way for years, they should be perceived as correct? Maybe just no one wanted to write the report because of low importance for them? And I don't understand why one keyboard shortcut must switch in different order than other keyboard shortcut? Why, for example the Win key switches EN-RU-UA and LAlt+LShift switches EN-UA-RU ? How can it be right, how can it be comfortably as user can only be used to one behavior. And each time user change the keyboard shortcut, he has to get used to new behavior. This is not normal.
But anyway. If it must be as it is, can you please do it configurable? Some kind of "Switching by installed order" or any that will make possible to switch layouts in order they installed (If installed in order 1) EN; 2) RU; 3)UA; than or possible shortcuta swithes in EN - RU - UA way. Can you ?
Comment 7 Sergey V. Udaltsov 2011-11-26 16:09:24 UTC
> Ok with RAlt. It's not principal for me. And if left and right Alt are
> different, then may be it's right. But. In case of wrong order when switching.
> Why if the things worked in some strange way for years, they should be
> perceived as correct?
There is nothing "correct" about existing way. Or the way you want. The existing way is just what people are used to. Really, IIRC you are first who complained.

> Maybe just no one wanted to write the report because of
> low importance for them? 
Quite possible

> And I don't understand why one keyboard shortcut must
> switch in different order than other keyboard shortcut? Why, for example the
> Win key switches EN-RU-UA and LAlt+LShift switches EN-UA-RU ?
You know, there is grp:win_menu_switch. Check it, you'll be surprised.

> But anyway. If it must be as it is, can you please do it configurable? 
Only by introducing completely new grp:* xkb option. And, for a moment, you are the only user of it - so I am not sure I would be happy to commit it.

What you can do is organize some public discussion (on any English or Russian-speaking forum, so that I could understand) about that matter. Voting perhaps. That might convince me.
Comment 8 Eugene 2011-11-26 17:26:34 UTC
> There is nothing "correct" about existing way. Or the way you want.
Yes, there is just sequential order and back order, but different situations where this orders can be used for keyboard layout switching.

> The existing way is just what people are used to.
Peoples "may" want to use sequential order not only with Win key but also with left Alt+Shift or Ctrl+Shift. Am I correct?

> Quite possible
> And, for a moment, you are the only user of it - so I am not sure I would be happy to commit it.
It's take a lot of time for me to understand what happening and how keyboard layout switch work in Linux. You know, this stuff (X Server, X Keyboard Config, KXKB in KDE SC) is complicated for typical user. I absolutely sure nobody who suffer from this bug not try to file bug report about this problem because it's complicated to understand where is the problem. 
You maybe not see this point because you are developer and you know Linux inside, but try to think from point of view just typical user. They maybe complain about this bug. Maybe just use Win key workaround. Maybe ask on forums. But not file bug report. Because they even doesn't know about this bug tracker and XKC existence. It's just a fact.

So please stop thinking it's only my problem. It's just not true.

> You know, there is grp:win_menu_switch. Check it, you'll be surprised.
I configure XKC in KXKB. You mean use Win key for switch keyboard layout? Yes, I already know about it (check in my previous message: "Why, for example the Win key switches EN-RU-UA")

> What you can do is organize some public discussion
May I ask: how many peoples who use three keyboard layout on Linux you know? 
(Did you remember Harald Sitter case? I mean your point of view doesn't look like point of view a man who know peoples who use three keyboard layouts on Linux. Just like Harald who think before your comments on Launchpad "you do not need to switch your keyboard layout to write in english" because... you know why he think that. So your point of view looks the same.)

> Only by introducing completely new grp:* xkb option.
You know, I even think current behavior should be the optional. Because typical users doesn't expect it. Typical user expect  sequential keyboard layout switch order, but you are right - user may want to use current behavior. But it should be optional.
Comment 9 Sergey V. Udaltsov 2011-11-29 16:10:56 UTC
> Peoples "may" want to use sequential order not only with Win key but also with
> left Alt+Shift or Ctrl+Shift. Am I correct?
Perhaps. I do not know. Noone contributed that option so far.

> You maybe not see this point because you are developer and you know Linux
> inside, but try to think from point of view just typical user. They maybe
> complain about this bug. Maybe just use Win key workaround. Maybe ask on
> forums. But not file bug report. Because they even doesn't know about this bug
> tracker and XKC existence. It's just a fact.
Well, if you google multiple complains on forums/maillist/distro bugzillas - that would be quite strong argument.

> So please stop thinking it's only my problem. It's just not true.
I am not saying it is only your problem. I am saying that the problem is not significant enough (considering the frequency of complains) to break the existing behavior (that have priority because it is there already). I hope you understand that I need some serious reasons to break the way things worked for years (and there is no "right" way - it is a matter of taste). I am not saying that your request does not make sense - I am just asking for some evidence. Convince me. Not by your words, but showing that there are other people who are unhappy with the current situation.

> I configure XKC in KXKB. You mean use Win key for switch keyboard layout? Yes,
> I already know about it (check in my previous message: "Why, for example the
> Win key switches EN-RU-UA")
Yes, exactly that. Because the person who contributed it wanted it that way - to be sure that he gets the layout he wants, not just "next layout". I do not have issues with that.

> why he think that. So your point of view looks the same.)
Quite possible. But that's the best idea I can come up with. Otherwise I'd have to trust every request for changes, which I am not going to do for obvious reasons. If you have better idea - please tell me, I would be quite interested.
 
> order, but you are right - user may want to use current behavior. But it should
> be optional.
If you find people interested in new xkb option - we can continue this discussion.
Comment 10 Eugene 2011-12-03 11:28:48 UTC
> Well, if you google multiple complains on forums/maillist/distro bugzillas - that would be quite strong argument.
I can google it only in Ukrainian (there is no point to google it in Eglish or Russian). You know, it's not enough and I probably doesn't find anything.
> I am saying that the problem is not significant enough (considering the frequency of complains)
Frequency of complains? How many users use three keyboard layout in whole world? How many of them use Linux and KDE? (Later I show why DE is matter.) How many of three keyboard layouts Linux and KDE users can understand where is the problem? Not many. I think "frequency" word is not right word in this case.
> Yes, exactly that. Because the person who contributed it wanted it that way - to be sure that he gets the layout he wants, not just "next layout". 
Probably he use just two keyboard layouts. Then he not see difference between keyboard layouts switch order. Then he get layout he wants anyway. That most likely what happened with Ctrl+Alt and Shift+Alt part of code in xkb.
> I do not have issues with that.
Keyboard indicator in KDE can switch keyboard layouts (sequential order) by click. In result keyboard shortcut and keyboard layout indicator follow different orders. So if you use Gnome (or Unity) keyboard layout order is doesn't matter for you. So then congratulations - you not have issues with that!
> If you find people interested in new xkb option - we can continue this discussion.
You mean developers?
> (that have priority because it is there already). I hope you understand that I need some serious reasons to break the way things worked for years (and there is no "right" way - it is a matter of taste). I am not saying that your request does not make sense - I am just asking for some evidence.
I see your point but try to understand mine point too. I habit to use Shift+Alt. There is nice feature in KDE that allow to switch keyboard layout just by click to keyboard indicator, no one other DE have this cool feature. No other OS except Linux with KDE have this cool feature. But it's very, very uncomfortable (I repeat "very very uncomfortable" in this ticket many times because it REALLY very very uncomfortable) to use it with current xkb behaviour, and there is no any way to adjust current xkb behaviour. It's like some night horrible. 
And now you talk about this pointless (seriously, what the point to switch keyboard layouts in back order?) behaviour "that have priority because it is there already" and "the way things worked for years" (sounds like "use [...] because it is there already and that things workder for years"; put into "..." something like Windows, MS Office, etc.) Now you ask me about some things that almost impossible in such situation. But there is no one reason to switch keyboard layouts in back order in first place, isn't it? 
> But that's the best idea I can come up with. Otherwise I'd have to trust every request for changes, which I am not going to do for obvious reasons. If you have better idea - please tell me, I would be quite interested.
I doesn't have better idea. I even doesn't have enought score to create discussion in Talks (in fact I even doesn't have account on LOR, but if I create one - than I will have not enough score to create discussion in Talks; there is no point to create discussion in General or Desktop because in Talks much more peoples). I just want to report this bug. Isn't that is bug when keyboard shortcut (I want to note - default shortcut in many distributions) and keyboard indicator switch keyboard layouts in different order? In fact this is the bug. But you doesn't want to admit it. Why? Probably because you are XKC mainter and Gnome keyboard layout switch mainter (I doesn't forget anything?) so in result you doesn't know about problems what KDE users have with xkb or xkc. So I talk with you about this problem that KDE users who use three keyboard layouts have with xkb. Please tell me, I still need to find a proof of very simple fact - it's uncomfortable when xkb and keyboard layout indicator switch keyboard layouts in different order?
Comment 11 Sergey V. Udaltsov 2011-12-04 13:45:35 UTC
> I can google it only in Ukrainian (there is no point to google it in Eglish or
> Russian). You know, it's not enough and I probably doesn't find anything.
Why not Russian? And, you know, even if the issue is not important for English-speaking people, sometimes people discuss it in English. Like we are doing it here, right now.

> many of three keyboard layouts Linux and KDE users can understand where is the
> problem? Not many. I think "frequency" word is not right word in this case.
I am most willing to find out some different way of the reality check.

> Probably he use just two keyboard layouts. Then he not see difference between
> keyboard layouts switch order. Then he get layout he wants anyway. That most
> likely what happened with Ctrl+Alt and Shift+Alt part of code in xkb.
Yes, these options look like particularly tied to 2-group configs. Which statistically would be much more frequent than 3-group and 4-group configs (no proof here, just expectations and common sense). That is why I accepted those options that are not usable for 3 and 4 groups.

> > If you find people interested in new xkb option - we can continue this discussion.
> You mean developers?
Not necessarily. Users, expressing their interest - would be a good starting point.

> I see your point but try to understand mine point too. I habit to use
> Shift+Alt. There is nice feature in KDE that allow to switch keyboard layout
> just by click to keyboard indicator, no one other DE have this cool feature. 
???? GNOME 2 had that for years! IIRC GNOME3 (gnome-shell) has it as well.

> almost impossible in such situation. But there is no one reason to switch
> keyboard layouts in back order in first place, isn't it? 
Well, I really do not know. For some reason the option was created that way. Why? God knows (it was long ago). People are used to it.

> very simple fact - it's uncomfortable when xkb and keyboard layout indicator
> switch keyboard layouts in different order?
I totally understand that it is uncomfortable for you. But that cannot be considered as a reason to change anything. What I want is something that would convince me that enough people want that change.

And would you please refrain from starting "KDE vs GNOME" show right here. xkc is the desktop agnostic project (and I have good working relations with KDE kbd maintainer FWIW).
Comment 12 James Cloos 2011-12-05 09:08:33 UTC
>> But there is no one reason to switch keyboard layouts in back order
>> in first place, isn't it?

As someone who loads extra layouts just in case, I find the reverse
order switching to be invaluable.

I use lctrl+rctlr; it may be easier to deal with the reverse order
in such cases than with the shift+alt type of combination.  But I
almost always “go back the way I came” when switching between my
layouts.

I would hate to loose that capability.

I would not, however, object to having to change my config to explicitly
specify that I prefer the non-commutable behaviour, should commutable
become the default.
Comment 13 Eugene 2011-12-11 13:26:05 UTC
> Why not Russian?
Because most of Russian-speaking peoples use two keyboard layouts. It's obvious.

> sometimes people discuss it in English. Like we are doing it here, right now.
We are doing it here right now in English only because it's bugtracker.

> I am most willing to find out some different way of the reality check.
I not sure I understand you right - please rephrase this sentence.

> ???? GNOME 2 had that for years! IIRC GNOME3 (gnome-shell) has it as well.
Has it not enabled by default (at least in Gnome 3). I download Fedora 16 to check situation around keyboard indicator in latest Gnome release before write previous commentary.
Also about "default" http://www.uie.com/brainsparks/2011/09/14/do-users-change-their-settings/ - for most of users "not enabled by default" mean "not exist". So while we talking about this issue I think count only KDE users make sense - because KDE users have this feature enabled by default.

> And would you please refrain from starting "KDE vs GNOME" show right here.
If I wanted something like that then I would not mention Unity. This option indeed is not available for Unity and I didn't notice it in Gnome because it's not enabled by default. Sorry for this my mistake, but that didn't change situation a lot - just compare it with Unity and KDE from point of view user who have three keyboard layouts. Only in one DE this feature enabled by default, in another one available after turning it on in, I don't know where, maybe in gconf (where is it this feature may be turned on?), and not available in most popular DE at all. Then users of only one DE (not two or three) can notice (just "notice", not "understand" or "report") situation around problem with keyboard layout switch order.

> and I have good working relations with KDE kbd maintainer FWIW
I know that and I also want to say thank you for conversation with Harald.

> Well, I really do not know. For some reason the option was created that way. Why? God knows (it was long ago). People are used to it.
You are at least admit there is no one other reason to keep current behavior except because it's there for years. No one, no one. Okay, this is good start.

> I totally understand that it is uncomfortable for you.
How different keyboard layout switch order for keyboard shortcut and keyboard indicator (by click) can be comfortable? I trying to imagine that for two weeks but still without success. There is any logical explanation of this possible phenomenon except "people are used to it"? (I ask about it because, you know, peoples may used to even uncomfortable software - Windows is proof of that.)

> What I want is something that would convince me that enough people want that change.
As I say before I can not create discussion in most popular Linux forum in ex-USSR (create discussion in other forum make no sense). Anything I can about this topic it's a talk here. You ask about some "users, expressing their interest". But where I can find they? Then I can only ask you use developer logic:

> But that cannot be considered as a reason to change anything.
Isn't switch order shouldn't depend on current keyboard shortcut? Isn't that should be separate option by design? 
(And usability logic:) Isn't different order with default shortcut in many distributions itself is a problem? 

> I would not, however, object to having to change my config
Thanks you for opinion, James.
Comment 14 Sergey V. Udaltsov 2011-12-11 16:04:01 UTC
> Because most of Russian-speaking peoples use two keyboard layouts. It's
> obvious.
Well, I was asking because I know some ppl whou use >2 layouts.

> > I am most willing to find out some different way of the reality check.
> I not sure I understand you right - please rephrase this sentence.
Ghm. I would like to be able to check the real demand for any change I make to the code. I realize it is not always possible, but at least some effort should be made.

> > ???? GNOME 2 had that for years! IIRC GNOME3 (gnome-shell) has it as well.
> Has it not enabled by default (at least in Gnome 3). I download Fedora 16 to
> check situation around keyboard indicator in latest Gnome release before write
> previous commentary.
That is really odd. I guess it must be a bug, please file it. At least in fallback mode it works (sorry, gnome-shell is not runnable on my machine)

> in most popular DE at all. Then users of only one DE (not two or three) can
> notice (just "notice", not "understand" or "report") situation around problem
> with keyboard layout switch order.
Ok, if we agree that it must be fixed in GNOME - would that close the subtopic about mainstream DEs (I do not consider Unity as such - let them boil in their own bugtracker)?

> You are at least admit there is no one other reason to keep current behavior
> except because it's there for years. No one, no one. Okay, this is good start.
I thought I admitted it from the very start...

> this topic it's a talk here. You ask about some "users, expressing their
> interest". But where I can find they? Then I can only ask you use developer
> logic:
Unfortunately logic does not have immediately higher priority over status quo. I may support your logic - but that is not enough to break existing things. And you see James admitted there is some good use to it.

> Isn't switch order shouldn't depend on current keyboard shortcut? Isn't that
> should be separate option by design? 
Well, there are so many more serious issues with the XKB design;)
Comment 15 Eugene 2011-12-21 07:46:19 UTC
(In reply to comment #14)

> Ok, if we agree that it must be fixed in GNOME - would that close the subtopic
> about mainstream DEs
Please read commentary 11. DE subtopic is not about fix some DE-related bug, it's about current availability of this feature for target audience. Availability of this feature for target audience (in Gnome Shell - probably doesn't work because of bug, in Unity - not implemented yet, in KDE - enabled and available by default) suggests that not many peoples may notice problems with current situation around keyboard layout switch order in xkb.

> > Well, I was asking because I know some ppl whou use >2 layouts.
> I realize it is not always possible, but at least some effort should be made.
I just accidentally noticed in news about KDE releases there is at least one more man who think current keyboard layout switching order is "strange": http://kubuntu.ru/node/8488#comment-92734

> That is really odd. I guess it must be a bug, please file it.
This bug is not solved yet so I don't see any sense to report more bugs related to keyboard layouts in Linux until this bug will be resolved. (Bugs on KDE side is resolved in 4.7.4 so now only this bug is stumbling block).

> And you see James admitted there is some good use to it.
Yes, BUT James also noticed:
> I would not, however, object to having to change my config

> I do not consider Unity as such
You know, thanks for reminding me! I filled feature request for Unity developers here: https://bugs.launchpad.net/unity/+bug/907298

> Unfortunately logic does not have immediately higher priority over status quo.
> I may support your logic - but that is not enough to break existing things.
> Well, there are so many more serious issues with the XKB design;)
Since feature request for Unity developers is filled, many more peoples (than just Gnome Shell and KDE audience) may notice problems with keyboard layouts switching order in xkb in near future. So now it's time to fix this problem in XKB design. Don't you think so?
Comment 16 Sergey V. Udaltsov 2011-12-24 13:23:31 UTC
> Since feature request for Unity developers is filled, many more peoples (than
> just Gnome Shell and KDE audience) may notice problems with keyboard layouts
> switching order in xkb in near future. So now it's time to fix this problem in
> XKB design. Don't you think so?
I think this may be a good plan. Let DEs fix their issues first. After that, when people notice the problem in GNOME/Ubuntu (if it is real), they would come here and ask - like KDE people do (thanks for the link). That might convince me to change the behavior.
Comment 17 Sergey V. Udaltsov 2011-12-26 05:07:57 UTC
I decided to fix two bugs with one commit:)
See bug #43922.

Now, alt_shift_toggle is one-directional, only "Next". And there is alt_shift_toggle_bidir for people who need the old behavior.

http://cgit.freedesktop.org/xkeyboard-config/commit/?id=de45ece5ab09ab218998d35db3a9d0cb4686b546
Comment 18 Eugene 2011-12-26 13:34:31 UTC
Thank you for fixing at least this default shortcut! But if we look at current situation it is still very messy:

1. alt_shift_toggle option ("Alt+Shift" in GUI) for sequential order with LAlt+LShift and RAlt+RShift.

2. alt_shift_toggle_bidir option probably for back order with LAlt+LShift and sequential order with RAlt+RShift (Do I understand it right?) and there no will be GUI-option for this (Do I understand it right too?).

3. If the user chooses "Ctrl+Alt" in GUI then LAlt+LCtrl switches keyboard layouts in back order.

4. If the user chooses just Ctrl+Shift in KXKB ("Ctrl+Shift" in GUI) then LCtrl+LShift switches keyboard layouts in back order and RCtrl+RShift switches keyboard layouts in sequential order.

5. If the user chooses "Left Ctrl + Left Shift" then LCtrl+LShift switches keyboard layouts in sequential order.

Just looking at this five items I can say there are few very strange conclusions:

1. For behavior "left shortcut switches layouts in back order, right shortcut switches layouts in sequential order" there is Ctrl+Shift shortcut, that present in GUI, and alt_shift_toggle_bidir option that doesn't will be present in GUI.

2. For behavior "left shortcut switches layouts in sequental order" there is "Left Ctrl + Left Shift" in GUI and now also "Alt+Shift". This two shortcuts have the same keyboard layouts switching behavior but works different: "Left Ctrl + Left Shift" only for LCtrl+LShift but "Alt+Shift" works both of LAlt+LShift and RAlt+RShift.

3. For behavior "left shortcut switches layouts in back order" there is "Ctrl+Alt" and "Ctrl+Shift" options in GUI and now also alt_shift_toggle_bidir for Alt+Shift that again doesn't present in GUI (it is not logically).

As you see the names of GUI options doesn't connected with behavior at all. There is no way to understand how keyboard layouts will switch just looking at the name of the option and, for example, there is still no way to get sequential keyboard layouts switching order for Ctrl+Alt. That is still the problem.

So maybe it is good idea to divide the selection of kayboard layouts and keyboard layout switching behavior/order? Just, for example, let users choose the keyboard shortcut (example: Ctrl+Alt, Shift+Alt, Ctrl+Shift; both of Left and Right or only Left or Right) and the behavior (only sequential/back order or different order for L/R shortcuts) separately in config and GUI?
Comment 19 Sergey V. Udaltsov 2011-12-26 14:59:51 UTC
> 2. alt_shift_toggle_bidir option probably for back order with LAlt+LShift and
> sequential order with RAlt+RShift (Do I understand it right?) and there no will
> be GUI-option for this (Do I understand it right too?).
Right. So GUI operations would stay consistent.

> 1. For behavior "left shortcut switches layouts in back order, right shortcut
> switches layouts in sequential order" there is Ctrl+Shift shortcut, that
> present in GUI, and alt_shift_toggle_bidir option that doesn't will be present
> in GUI.
Perhaps Ctrl+Shift should be fixed similarly. Same about Ctrl+Alt.

> the keyboard shortcut (example: Ctrl+Alt, Shift+Alt, Ctrl+Shift; both of Left
> and Right or only Left or Right) and the behavior (only sequential/back order
> or different order for L/R shortcuts) separately in config and GUI?
It is impossible within the current XKB config architecture, AFAIK.
Comment 20 Sergey V. Udaltsov 2011-12-27 18:17:22 UTC
> Perhaps Ctrl+Shift should be fixed similarly. Same about Ctrl+Alt.
Both - done. Enjoy. Hope it is consistent enough now.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.