← Back to team overview

desktop-packages team mailing list archive

[Bug 1318673] Re: Modifier-only input switching with non-latin keyboard layouts has no effect under GNOME Shell

 

** Tags removed: grp input keyboard latin layouts non-latin non-modifier sources switching xkb
** Tags added: keyboard-layout-switching-hotkeys

** Tags added: gnome3

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-settings-daemon in Ubuntu.
https://bugs.launchpad.net/bugs/1318673

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

Status in gnome-settings-daemon package in Ubuntu:
  Fix Released
Status in gnome-settings-daemon source package in Trusty:
  Fix Released

Bug description:
  [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.

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