Bug 1249335 - Inconsistent rules for shortcuts between different applications when switching keymaps
Summary: Inconsistent rules for shortcuts between different applications when switchin...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-shell
Version: 29
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Owen Taylor
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1626903
TreeView+ depends on / blocked
 
Reported: 2015-08-01 18:00 UTC by N.Brack
Modified: 2019-05-07 03:39 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1626903 (view as bug list)
Environment:
Last Closed: 2016-07-19 19:54:27 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
GNOME Gitlab GNOME/gtk/issues/1825 None None None 2019-05-07 03:30:24 UTC

Description N.Brack 2015-08-01 18:00:33 UTC
I have this bug since a few fedora version.  In some applications, the shortcuts obeys the localized ibus keymap, but other keeps the default keymap when pressing CTRL.  Typical example includes gimp (follows keymap) and inkscape (ignore keymap).  I'm personally using both the us and dvorak keymap, and this behaviour is pernicious as the key locations are very dissimilar.

Using "setxkbmap" is hard erasure of the keymap, and after that _all_ applications follows the keymap when using the shortcuts.  But then ibus doesn't really work anymore, and it's inconvenient.

Thus a solution could either be that:
*ibus is resilient to "setxkbmap"
*All software are presented with the same keymap, which can be configured to be the current map.


Software versions:
GNOME Shell 3.16.3
IBus 1.5.10
Xorg 1.17.2

Comment 1 fujiwara 2015-08-03 02:34:48 UTC
Could you explain your problem with the reproducing steps with detail?

I tried gimp Text Tool and Ctrl+A works fine.

Comment 2 fujiwara 2015-08-05 05:52:27 UTC
Any updates?

Comment 3 N.Brack 2015-08-05 07:03:42 UTC
I'm not on my linux computer often lately, so I didn't upadet the issue yet.  But it might get long before I get the time, so I did reproduce the exact same bug on a fedora VM on Virtual Box.

By the way, qwerty and dvorak happens to have the key at the same place, so CTRL+A won't help to detect the bug.

Steps to reproduce
------------------
1. Install a new fedora distribution.  Select US/Dvorak whenever possible.
2. On you fresh fedora, install Gimp and Inkscape
3. On the gnome settings "Regions&Languages", add a new keyboard : "English(US)"
4. Make sure you have the dvorak keyboard selected in gnome.
5. Launch Gimp and Inkscape
6. In gimp press the dvorak CTRL+N.  It correspond on CTRL+L on you keyboard if it's print with the qwerty layout.  As expected, a new document is (asked to be) created.
7. Do the same step in inkscape, pressing the dvorak CTRL+N.  Again, as expected a new document is created.
8. Switch you layout to qwerty using the ibus icon on top right.
9. In gimp, press the qwerty CTRL+N.  So I'm speakingt of the keys actually labelled CTRL and N on a qwerty keyboard.  As expected, a new document is created.
10.  Repeat the same step in inkscape.  The scrollbars of the current document appears/disappears, as if we pressed CTRL+B.  If the layout was set to dvorak, we would actually press CTRL+B by pressing CTRL and the key labelled N on a keyboard printed with a qwerty keymap.
Note. We already see a chang. of behavior here.  Gimp treats CTRL+Key as the current keymap while Inkscape keeps treating them as the original Dvorak keymap.
11. In gimp, press the qwerty CTRL+L, (which correspond to the CTRL+N in dvorak).  As expected, the "layers" dialog is selected.
12. Press the same keys in inkscape.  Now, a new document is created as if we did press CTRL+N in dvorak.
12. open a terminal and enter `setxkbmap us`.
13. Repeat step 9.  Gimp should behaves the same
14. Repeat setp 10.  Now inkscape creates a new document, which is the exact same behavior as gimp.
15. Repeat step 11.  Gimp should behaves the same.
16. Repeat step 12. Inscape should notify you have to select a path.  If you create one and select it, and then doing this step, the path is simplified as if we pressed CTRL+L.  The behavior is the same as in gimp.
17. Switch you layout to dvorak using the ibus icon on top right.
18. Type in a terminal.  Your input is still qwerty.  Ibus is basically not working anymore.

Comment 4 fujiwara 2015-08-07 02:37:14 UTC
I can reproduce this bug with comment #3.

This problem happens in GNOME only because ibus-ui-gtk3 runs setxkbmap.
gnome-shell -> meta_backend_x11_lock_layout_group() -> XkbLockGroup() seems not to work.

FYI. ibus does not use the xkb group layouts but ibus uses joint layout for non-ascii layout. e.g. "ara,us" , "ru,us" to work Ctrl+C so ibus switches "us" and "ru,us".

Comment 5 Fedora End Of Life 2016-07-19 19:54:27 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 6 Jan Kurik 2016-07-26 04:52:41 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle.
Changing version to '25'.

Comment 7 Fedora End Of Life 2017-11-16 19:12:10 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 8 Fedora End Of Life 2018-02-20 15:24:18 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 28 development cycle.
Changing version to '28'.

Comment 9 Couret Charles-Antoine 2018-09-04 20:54:18 UTC
This bug still here (i18n test day)

Comment 10 Jens Petersen 2019-02-25 10:44:09 UTC
I think better to report this upstream against individual applications.

Comment 11 fujiwara 2019-02-26 05:29:34 UTC
I'm not the owner of this bug but I can report this bug to upstream.
I confirmed comment #4 of my problem still exits but I don't see any problems in comment #3.

N.Brack:
Would you check if comment #3 does not work in Fedora 30 or 29?

Comment 12 N.Brack 2019-02-27 23:36:40 UTC
@fujiwara : I could still reproduce the bug described in comment #3 in Fedora 29 (a rather fresh installation I may add), using the same applications, gimp & inkscape.

Comment 13 fujiwara 2019-03-04 09:24:12 UTC
N.Brack:

I'd like to clarify your test case in comment #3.

I use a qwerty physical keyboard and switches US keymap and US (Drovak) keymap with Super-space shortcut key in GNOME desktop.

My test result is:

#6 Ctrl-l with us-dvorak can launch a open dialog in gimp
#7 Ctrl-l with us-dvorak can launch a new document in inkscape
#9 Ctrl-n with us can launch a open dialog
#10 Ctrl-n with us can launch a new document in inkscake
#11 Ctrl-l with us can select a layers dialog in gimp
#12 Ctrl-l with us shows a message of "Select a path" a the layers dialog in inkscape

I think setxkbmap does not work in GNOME destkop which does not use setxkbmap internally so I evaluated your steps between #1 and #12.

setxkbmap works in non-GNOME desktop since ibus-ui-gtk3 uses setxkbmap internally.

Comment 14 N.Brack 2019-03-05 21:39:20 UTC
Be sure to be explicit by what you mean by CTRL+L with us-dvorak launch a open dialog in gimp.  I expect you mean hitting the physical L key on a keyboard with a querty layout while you're set to dvorak, like explain in the corresponding bullet points.

Anyway be also mindful of step 1 : "Install a new fedora distribution.  Select US/Dvorak whenever possible.".  That is, my "main" layout is us-dvorak, not us-qwerty.  See the output of `setxkbmap -query`

    layout:     us,us
    variant:    dvorak,

If you've set up the main layout to be us-dvorak, i.e. if `setxkbmap -query` outputs (note the comma before or after the variant "dvorak")

    layout:     us,us
    variant:    ,dvorak

Then I would expect the behaviour you've experienced.

I understand we don't use Xorg/setxkbmap anymore, but I've tested both Xorg and Wayand and experienced the issue with both. (But I know the X commands better, so that's the ones I show).

Comment 15 fujiwara 2019-03-07 09:07:53 UTC
N.Brack:

You're right. I didn't set us-dvorak at first.

> 4. Make sure you have the dvorak keyboard selected in gnome.

I didn't think this means the keymap order.

After I follow your steps, I can reproduce your problem now in Fedora 30 and 29.

Comment 16 fujiwara 2019-03-07 09:24:38 UTC
(In reply to N.Brack from comment #14)
> I've tested both Xorg
> and Wayand and experienced the issue with both. (But I know the X commands
> better, so that's the ones I show).

I think this problem can be reproduced in GNOME Wayland only but I cannot reproduce this in GNOME Xorg.

Comment 17 Ben Cotton 2019-05-02 19:48:20 UTC
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 28 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 18 N.Brack 2019-05-03 22:31:48 UTC
I can reproduce #4 on Fedora 29.

Comment 19 fujiwara 2019-05-07 03:39:15 UTC
N.Brack:

I reported the issue to GTK3 upstream since I can reproduce your problem with GtkBindingSet. But Inkscape and Gimp uses GTK2 which is no longer fixed.
So even if GTK3 will be fixed, you may need to report the issue to Inkscape and Gimp upstream to migrate GTK2 to GTK3.
Probably I think this downstream bug can be closed since this would be upstream issues.

Or you could use non-GNOME desktop for GTK2 applications.


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