Public bug reported:

[Impact]
In GNOME Shell, switching between latin and non-latin keyboard layouts using 
the XKB group options (e.g. ctrl+alt, alt+shift, etc.) doesn't work. This is a 
big usability problem for users that often need to switch layouts quickly, as 
using a typical shortcut with a non-modifier key is not appropriate for this 
function. See https://bugs.launchpad.net/gnome-settings-daemon/+bug/1218322 for 
impact.

This occurs because gnome-settings-daemon updates the XKB layouts when
ISO_Next_Group is pressed, but then XKB immediately locks to the next
group afterwards. The proposed fix is to have gnome-settings-daemon
watch for XkbStateNotify changes on the lock mask, and lock the correct
group when XKB changes it.


[Test case]
In GNOME Shell:
1. gnome-control-center > Keyboard > Shortcuts > Typing > Modifiers-only switch 
to next source. Choose a key combination like Ctrl+Shift.
2. gnome-control-center > Region & Language > Input Sources > + > Add a 
non-latin keyboard layout. I tested with English (US), Russian, and Arabic.
3. Tap the key combination. The indicator will switch between the two keyboard 
layouts, but typing will still be in the latin (English for me) layout.

The gnome-settings-daemon package from
https://launchpad.net/~attente/+archive/java-non-latin-shortcuts
includes the proposed fix for testing purposes. The merge proposal is
here: https://code.launchpad.net/~attente/gnome-settings-
daemon/1218322/+merge/219055.


[Regression potential]
gnome-settings-daemon is already handling most of the keyboard layout 
configuration at the user level and updating XKB to keep consistent with the 
user's settings. So doing the proposed fix should only make it more consistent. 
But it might prevent XKB's layout switching from working in contexts where 
gnome-settings-daemon wouldn't expect to run or work, like for example in a VT, 
or in a full-screen application that has an active grab on the keyboard.

** Affects: gnome-settings-daemon (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: grp input keyboard latin layouts non-latin non-modifier sources 
switching verification-needed xkb

** Tags added: verification-needed

** Branch linked: lp:~attente/gnome-settings-daemon/1218322

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1318673

Title:
  Modifier-only input switching with non-latin keyboard layouts has no
  effect under GNOME Shell

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1318673/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to