Bug 401806 - presence of german/neo2 keyboard layout causes kglobalaccel5 to consume several local shortcuts while german/qwertz layout is active
Summary: presence of german/neo2 keyboard layout causes kglobalaccel5 to consume sever...
Status: REPORTED
Alias: None
Product: frameworks-kglobalaccel
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.100.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-05 23:38 UTC by Till Schäfer
Modified: 2023-08-23 16:34 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Till Schäfer 2018-12-05 23:38:25 UTC
SUMMARY
When I add a German/Neo2 keyboard layout while having german/qwertz or us layout enabled, some application local shortcuts (so far I have noticed ctrl+y and alt+x) are consumed by kglobalaccel. E.g., if I map alt+x to new tab in yakuake, that shortcut does not work as long as the neo2 layout is present in added to the keyboard layout list. xev shows an FocusOut event, that consumes the key press "x". If the neo2 layout is removed everything works as expected. Using a fresh ~/.config/kglobalshortcutsrc does NOT resolve the problem. 

The bug is reproducible on two different machines. 

STEPS TO REPRODUCE
1. Add German/Neo2 keyboard layout (here German/qwertz and us layout are configured as well). Do NOT activate the Neo 2 layout. Keep using the qwertz or us layout. 
2. start xev
3. press ctrl+y or alt+x

OBSERVED RESULT

KeyPress event, serial 108, synthetic NO, window 0x6a00001,
    root 0x1d6, subw 0x0, time 18270476, (1138,217), root:(2929,610),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 108, synthetic NO, window 0x6a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 108, synthetic NO, window 0x6a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 108, synthetic NO, window 0x0,
    keys:  4294967254 0   0   0   0   0   32  0   1   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 108, synthetic NO, window 0x6a00001,
    root 0x1d6, subw 0x0, time 18270566, (1138,217), root:(2929,610),
    state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 108, synthetic NO, window 0x6a00001,
    root 0x1d6, subw 0x0, time 18270612, (1138,217), root:(2929,610),
    state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
    XLookupString gives 1 bytes: (78) "x"
    XFilterEvent returns: False



EXPECTED RESULT

KeyPress event, serial 40, synthetic NO, window 0x6a00001,
    root 0x1d6, subw 0x0, time 17900868, (678,345), root:(2469,738),
    state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x6a00001,
    root 0x1d6, subw 0x0, time 17900944, (678,345), root:(2469,738),
    state 0x18, keycode 53 (keysym 0x78, x), same_screen YES,
    XLookupString gives 1 bytes: (78) "x"
    XmbLookupString gives 1 bytes: (78) "x"
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x6a00001,
    root 0x1d6, subw 0x0, time 17900976, (678,345), root:(2469,738),
    state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x6a00001,
    root 0x1d6, subw 0x0, time 17901024, (678,345), root:(2469,738),
    state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
    XLookupString gives 1 bytes: (78) "x"
    XFilterEvent returns: False

SOFTWARE/OS VERSIONS
OS: Gentoo Linux
KDE Plasma Version: 5.14.4
KDE Frameworks Version: 5.52.0
Qt Version: 5.11.2 (built against 5.11.2)
Comment 1 adamfaulkner1+kde 2019-11-20 18:33:25 UTC
This causes problems with most keyboard layouts and makes KDE almost unusable for me. Is there any hope of getting this looked at? If not, I'll need to switch to another desktop environment.

I took a brief look at kglobalaccel5 but I wasn't able to track any kind of obvious bugs down.
Comment 2 Henning 2020-02-08 15:42:55 UTC
This is also a problem on OpenSuse Tumbleweed Frameworks 5.66
Comment 3 o.hase3 2021-10-27 03:55:56 UTC
This bug might be a duplicate of 365890.
Please try out the patch I posted over there.
Comment 4 Till Schäfer 2021-10-27 10:21:46 UTC
The patch fix-x11-keygrabs from Bug 365890 did not resolve my issue. alt+x still does not work in yakuake as sson I add the neo layout to the list of configured keyboard layouts.

Thus, I do not say these bugs are unrelated, but at least the patch is incomplete.
Comment 5 jkhsjdhjs 2022-11-28 13:49:09 UTC
I noticed this issue when pasting multiple lines into weechat, an ncurses-based IRC client for the terminal.
If ran via Konsole, I can paste multiple lines, but weechat asks for confirmation before sending the lines out. I can either confirm with ctrl-Y or abort with ctrl-N.
Ever since adding neo2 to the list of available layouts ctrl-Y doesn't work for me anymore, thus preventing me from multiline-pasting.
Indeed, removing neo2 from the list of available layouts fixes this issue! Thanks for this bug report, I never would've thought of that.

System Info:
Operating System: Arch Linux
KDE Plasma Version: 5.26.3
KDE Frameworks Version: 5.100.0
Qt Version: 5.15.7
Kernel Version: 6.0.9-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 2700X Eight-Core Processor
Memory: 31,3 GiB of RAM
Graphics Processor: AMD Radeon RX 6700 XT
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: X570 AORUS ELITE
System Version: -CF