Bug 357127 - Shortcuts bound to F keys ignore state of ISO_Level3_Shift
Summary: Shortcuts bound to F keys ignore state of ISO_Level3_Shift
Status: CONFIRMED
Alias: None
Product: frameworks-kglobalaccel
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Martin Flöser
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-24 18:45 UTC by Diggory Hardy
Modified: 2021-11-30 16:02 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diggory Hardy 2015-12-24 18:45:36 UTC
I have my keyboard set up with an extra layer; right-Alt is ISO_Level3_Shift, which gives many keys an extra layer (e.g. Alt+F9 is 7); this is because my ErgoDox does not have all the normal keys. [See https://github.com/dhardy/keyboard].

Both global and application-local shortcuts assigned to F-keys ignore the state of the level-3 shift key; that is if I bind a shortcut like "lower window" to F2, then this triggers whenever F2 **or Alt+F2** is pressed, and the application never receives the usual result of Alt+F2. Similarly with application shortcuts; e.g. Kate binds F11 to "show line numbers", and as a result Alt+F11 toggles line numbers and does not enter '9' into the text editor.

Additionally, if I map a shortcut to something like Alt+F9, then in the shortcut box the character resulting from this keyboard mapping appears (7), and the shortcut does not work.

Reproducible: Always

Steps to Reproduce:
1. Configure XKB with a level-3 shift key and configure level 3 of some F-keys (or install my layout config to /usr/share/X11/xkb/symbols/cyborg16 then `setxkbmap cyborg16 colemak4`)
2. Open any application with a shortcut bound to an F-key (e.g. Konsole: F11 → fullscreen)
3. Press Alt+F11 (etc.) and observe that the shortcut is triggered, not the mapped action of Alt+F11



I am running Kate 15.08.3 with KDE Frameworks 5.17.0 (Fedora 23).
Comment 1 Thomas Lübking 2015-12-24 22:33:09 UTC
On a brief test, it seems that the wrong sequence is recorded.

Eg. AltGr+F1 is P here (seriously no idea why) but when I try to assign AltGr+F1 so some shortcut (global, local, whatever) it instead warns me that F1 is a common shortcut in many applications - where it should have read "P"

Not sure about your particular setup - when recording a shortcut, does it say "Alt+F9" or "7" when using the 3rd level shifter? (AltGr is not considered Alt modifier by the input, ie. eg. doesn't trigger a text update in the recording button)
Comment 2 Diggory Hardy 2015-12-31 14:15:53 UTC
No, it seems to get the right key. If I hit AltGr+F9 it shows '7'; if I hit AltGr+F1 it shows '←' (both correct BTW, not that I use the arrows much). If I hit just F1 it warns me that that's already in use.
Comment 3 Justin Zobel 2021-03-09 05:53:57 UTC
Thank you for the bug report.

As this report hasn't seen any changes in 5 years or more, we ask if you can please confirm that the issue still persists.

If this bug is no longer persisting or relevant please change the status to resolved.
Comment 4 john.fano 2021-11-30 16:02:41 UTC
(In reply to Justin Zobel from comment #3)
> Thank you for the bug report.
> 
> As this report hasn't seen any changes in 5 years or more, we ask if you can
> please confirm that the issue still persists.
> 
> If this bug is no longer persisting or relevant please change the status to
> resolved.

I can confirm this still exists in Plasma 5.23.3 on Arch.  I use .Xmodmap to make the right ALT key ISO_Level3_Shift.  I can use it anywhere but with KDE Shortcuts.  It's press is simply ignored.  I also have Caps Lock mapped to Mode_switch and it just produces garbage characters when I try and assign it in Shortcuts.  I even tried using the Advanced tab instead of Xmodmap to assign the Caps Lock and right ALT keys to levels 3 and 5, respectively, but Shortcuts just ignores them.  Other programs such as Emacs, vim, etc...honor the key press for keybindings regardless if they are set via Xmodmap or the Advanced tab for the keyboard.