Bug 1091631 - Binding ctrl+shift, alt+shift, etc for switching keyboard layout makes shortcuts with ctrl+shift, etc not working in any program
Summary: Binding ctrl+shift, alt+shift, etc for switching keyboard layout makes shortc...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gnome-settings-daemon
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Matthias Clasen
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-26 16:36 UTC by Nrbrtx
Modified: 2019-09-11 19:35 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-09-11 19:35:55 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Debian BTS 746220 None None None Never
GNOME Bugzilla 712667 None None None 2019-06-03 14:49:08 UTC
Launchpad 1245473 None None None Never
Novell 875353 None None None 2019-06-03 14:49:08 UTC

Description Nrbrtx 2014-04-26 16:36:05 UTC
Description of problem:
Let's assume for clarity that keyboard layout shortcut is set to <Ctrl+Shift>.
In previous versions of GNOME this key combination did not interfere with other hotkey combinations. But nowadays it is broken.

- Set ctrl+shift as shortcut for switching keyboard layouts
- Try to use ctrl+shift+v, ctrl+shift+c in Terminal -- it doesn't work (actually Terminal window loses focus when ctrl+shift is pressed, and layout is switched)


Version-Release number of selected component (if applicable):
Bug exists in Red Hat ____Enterprise___ Linux Workstation 7.0 (Maipo).
gnome-settings-daemon-3.8.6.1-8.el7.x86_64

How reproducible:
Always

Steps to Reproduce (S); Actual Results (AR); Expected Results (ER)

Test case No. 1:
(S): Open gnome-terminal, type some command, try to copy the command with <Ctrl+Shift+C> and to paste it with <Ctrl+Shift+V>.
(ER): Text is copied and pasted, keyboard layout is not changed.
(AR): Text is not copied and not pasted, but keyboard layout is changed.

Test case No. 2:
(S): Open Firefox web-browser, open new tab, go to some site, close this tab, try to recover tab with <Ctrl+Shift+T>
(ER): Recently closed tab is opened, keyboard layout is unchanged
(AR): Firefox opened new tab, keyboard layout is changed

Test case No. 3:
(S): Open any text editor (gedit libreoffice Writer), type some text with several words, try to select some of that words with <Ctrl+Shift+Left Arrow> or <Ctrl+Shift+Right Arrow>
(ER): Text is selected by words, keyboard layout is not changed
(AR): Text is not selected, keyboard layout is changed

Test case No. 4:
Open Blender (see https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1245473/comments/5 for details)

Test case No. 5:
(S): Try to make a screenshot of desired window region with <Ctrl+Shift+PrintScreen>
(ER): Cursor is changed to cross, desired area is selected by user, screenshot is copied to clipboard, keyboard layout is not changed
(AR): Whole screen screenshot is saved to clipboard, keyboard layout is changed

The aforementioned test-cases works as expected on previous versions of GNOME (for example 3.4.2 in Ubuntu 12.04).

Additional info:
This bug exists at least in Ubuntu (see https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/1245473), the bug is reported to upstream (https://bugzilla.gnome.org/show_bug.cgi?id=712667) with no luck.

Comment 2 Vladimir Benes 2014-04-28 08:04:52 UTC
(In reply to Nrbrtx from comment #0)
> Description of problem:
> Let's assume for clarity that keyboard layout shortcut is set to
> <Ctrl+Shift>.
> In previous versions of GNOME this key combination did not interfere with
> other hotkey combinations. But nowadays it is broken.
> 
> - Set ctrl+shift as shortcut for switching keyboard layouts

I wonder how can one set ctrl+shift to switching layouts. I have a switch mapped to super + space and cannot remap it. In fact this functionality was removed somewhere around GNOME 3.4 or so. Now, you have to use some alpha/numeric key in addition to functional ones (ctrl/alt/shift/super). So setting to ctrl+shift should be forbidden. 

> - Try to use ctrl+shift+v, ctrl+shift+c in Terminal -- it doesn't work
> (actually Terminal window loses focus when ctrl+shift is pressed, and layout
> is switched)
>

Comment 3 Nrbrtx 2014-04-28 09:07:09 UTC
Thank you for reply, Vladimir!

If we talk about Fedora 20, it uses gnome-control-center 3.10.3 (control-center-3.10.3-1.fc20.i686).	
If we talk about RedHat 7, it uses gnome-control-center 3.8.6 (control-center-3.8.6-15.el7.x86_64).

On both systems one can set almost any shortcut for switching layouts from "gnome-control-center keyboard" -> Shortcuts -> Typing -> Modifiers-only switch to next source (here are <Right Shift>, <Left Ctrl>, <Alt+Caps Lock>, <Right Ctrl+Right Shift>, <Ctrl+Shift>, <Caps Lock>, <Right Ctrl>, <Left Shift>, <Shift+Caps Lock>, <Left Ctrl+Left Shift>, <Alt+Shift>, <Left Alt>, <Scroll Lock>, <Alt+Space>, <Left Win>, <Alt+Ctrl>, <Right Win>, <Right Alt>, <Menu>, <Left Alt+Left Shift>).

So there is no problem to set for example <Ctrl+Shift> as layout switcher.

Comment 4 Vladimir Benes 2014-04-28 12:12:01 UTC
this was originally solved here with a bit of state juggling. 
https://bugzilla.redhat.com/show_bug.cgi?id=841878

this functionality was removed from all items but Modifiers-only switch to next source. I think those containing ctrl+shift or alt+shift should be removed or should use win + something instead. Rui, you were poking into that.

Comment 5 Rui Matos 2014-04-28 13:14:48 UTC
This is not a new "bug". XKB layout group switching has always behaved like this. In particular RHEL 5 and 6 also behave like this.

See https://bugs.freedesktop.org/show_bug.cgi?id=865 .

And I said "bug" on purpose because if you "fix" it then you'll have another group of users, who are used to the current behavior, reporting that layout switch is delayed[1] and thus they can't quickly switch layouts while typing fast.

In other words, I don't intend to work on this.

[1] the delay being that the switch would only happen when Shift is released instead of pressed.

Comment 6 Nrbrtx 2014-04-28 20:29:04 UTC
Dear Rui!
>"I don't intend to work on this"
Thank you for reply, but the solution to not fix the bug is not a solution I think.

Could you please find another operating system (enterprise-grade or mature) in which user can not combine keyboard layout switching hotkeys with some other key (part of global shortcut)? 
If you need an example I have it - restoring recently closed tab in Firefox has cross-platform shortcut <Ctrl+Shift+T>, which do not interfere with <Ctrl+Shift> layout-switcher on any platform.
 
It works as expected on MS Windows, it works on Ubuntu 12.04 (with GNOME 3.4.2!), 14.04 (only in Unity session), but it do not work in other modern distros. I think it works as expected in Mac OS X too. 
As you can see on launchpad page - 30 users finds this functionality essential.

Why you think that GNOME/Xorg/whatever is unique to ignore this functionality? :)

Comment 7 RHEL Program Management 2014-05-06 05:47:56 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 8 Nrbrtx 2014-09-01 17:58:45 UTC
Fedora 20 with all installed updates. Bug is still here. Please fix it.

Comment 9 Bastien Nocera 2014-09-08 17:09:57 UTC
(In reply to Nrbrtx from comment #8)
> Fedora 20 with all installed updates. Bug is still here. Please fix it.

If you need RHEL7 support, I suggest you contact your support representative.

Comment 10 Michael Boisvert 2015-05-13 17:53:53 UTC
Tested all 5 reproducers in Gnome 3.14 and all of them have been fixed.

Comment 12 Tomas Pelka 2015-09-17 13:12:25 UTC
I'm still not sure this is fixed as reporter requested.

Shift+Ctrl now works for keyboard layout switching but e.g. in Firefox for example when somebody hit key combo Shift+Ctrl+T to open a new tab the tab appears but keyboard layout change as well.

Actually wondering why e.g. for firefox is not simply Ctrl+T used, it does the same.

Mike could you please check again. Maybe I misunderstood something.

Comment 14 Michael Boisvert 2015-10-06 19:14:04 UTC
(In reply to Tomas Pelka from comment #12)
> I'm still not sure this is fixed as reporter requested.
> 
> Shift+Ctrl now works for keyboard layout switching but e.g. in Firefox for
> example when somebody hit key combo Shift+Ctrl+T to open a new tab the tab
> appears but keyboard layout change as well.
> 
> Actually wondering why e.g. for firefox is not simply Ctrl+T used, it does
> the same.
> 
> Mike could you please check again. Maybe I misunderstood something.

Tomas, I think you're right. I switched this to modified too soon, I still see the keyboard layout switching in Firefox like you mentioned, and in gnome-terminal. Not entirely sure what a good fix would be, but having ctrl+shift as a keyboard layout modifier doesn't make sense when so many applications use ctrl+shift commands as well. Perhaps it shouldn't be an option?

Moving this back to Assigned for now.


Note You need to log in before you can comment on or make changes to this bug.