https://bugs.kde.org/show_bug.cgi?id=390109

Jan Paul Batrina <jpmbatrin...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jpmbatrin...@gmail.com

--- Comment #4 from Jan Paul Batrina <jpmbatrin...@gmail.com> ---
It is indeed related related to Bug 423305. I also tried replicating the issue,
and it persists even after the patch.

This all revolves around KKeyServer::isShiftAsModifierAllowed
https://invent.kde.org/frameworks/kwindowsystem/-/blob/master/src/kkeyserver.cpp#L96

It only "filters" for some hardcoded keys (including numbers), but I think only
takes into account QWERTY/US layout(s). Fixing this through the same mechanism
will require that number keys be added, but that might introduce bugs for other
keyboard layouts.

The only solutions I can think of are:
    * removing the hardcoded keys and dynamically checking for Shift-able
shortcut depending on the keyboard layout. This will might break if the user
has many keyboard shortcuts
    * Making it so that Qt does not "translate" Shift-able keys (e.g. Shift+1
should be returned as "1" with Qt::ShiftModifier instead of "!" with
Qt::ShiftModifier)

I am not familiar with Qt development, and I understand Qt is a hugely popular
framework widely used outside of KDE, so the latter might be hard to do.

Other workarounds would be to check for scancodes (QKeyEvent::nativeScanCode),
but it might be too messy (multiple keyboard layouts, it might return 0, it
does not work on macOS).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to