Bug 89038 - win_space_toggle broken for english + specific layouts combination
Summary: win_space_toggle broken for english + specific layouts combination
Status: RESOLVED MOVED
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: xkb
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-09 10:15 UTC by Oliver Majersky
Modified: 2018-12-28 00:40 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Oliver Majersky 2015-02-09 10:15:41 UTC
When using a combination of english (us) layout with another layout such as slovak (sk), the shortcut for switching keyboard layout win + space doesn't work as intended. Switching from us -> sk works, however once sk layout is set, win + space will not toggle sk back to us.
I have so far reproduced the issue with us + {sk, cz, pl} layouts.

Steps to reproduce:
1. Set a combination of english layout (us for instance) and another layout (tested sk, cz, pl). Use win_space_toggle for switching layout.

setxkbmap -layout us,sk -option grp:win_space_toggle

2. Attempt to switch back and forth between the two layouts using win + space.

Observed behavior:
Once sk layout is set, the win + space shortcut will not switch back to us.

Expected behavior:
win + space should toggle between the two layouts in both directions.

Workaround 1:
When setting english layout as second (setxkbmap -layout sk,us), the win + space shortcut switches in both directions. If english layout is desired to be as primary, this is obviously less than ideal.

Workaround 2:
Removing the line defining <SPCE> symbol in /usr/share/X11/xkb/symbols/{sk,cz,pl} allows one to use win + space toggle in both directions with english layout being the primary. This obviously breaks any other type of space symbol (such as non-breaking space) if defined.


My initial impression was that perhaps when sk layout is active, the "nobreakspace" character was pressed instead of regular "space" when pressing win + space toggle. This is not the case as xev always reports "space" character when win + space toggle is pressed, regardless of layout. In addition, cz layout doesn't contain nobreakspace in <SPCE> definition, but also shows the same symptoms when attempting to toggle from cz to us.

Output of setxkbmap -print:
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+sk:2+inet(evdev)+group(win_space_toggle)+level3(ralt_switch)+terminate(ctrl_alt_bksp)"        };
        xkb_geometry  { include "pc(pc105)"     };
};
Comment 1 GitLab Migration User 2018-12-28 00:40:43 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/issues/90.


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.