Steps to reproduce: 1. Add Greek keyboard 2. Switch to Greek keyboard 3. Open document in Krita 4. Hold Ctrl 5. Hold Z 6. Release Ctrl 7. Release Z 8. Hold space (or use middle mouse button) and try to pan canvas Tablet log (Greek keyboard), when Ctrl is released before Z (**breaks** canvas input): [25392] krita.tabletlog: "[ ] ShortcutOverride key: 0x1000021 mod: 0x4000000 text: none" [25392] krita.tabletlog: "[ ] ShortcutOverride key: 0x5a mod: 0x4000000 text: \u001A" [25392] krita.tabletlog: "[ ] KeyRelease key: 0x1000021 mod: 0x0 text: none" [25392] krita.tabletlog: "[ ] KeyRelease key: 0x396 mod: 0x0 text: \u001A" Tablet log (Greek keyboard), when Ctrl is released after Z (canvas input continue to work): [25392] krita.tabletlog: "[ ] ShortcutOverride key: 0x1000021 mod: 0x4000000 text: none" [25392] krita.tabletlog: "[ ] ShortcutOverride key: 0x5a mod: 0x4000000 text: \u001A" [25392] krita.tabletlog: "[ ] KeyRelease key: 0x5a mod: 0x4000000 text: \u001A" [25392] krita.tabletlog: "[ ] KeyRelease key: 0x1000021 mod: 0x0 text: none" Tablet log (US keyboard) when Ctrl is released before Z (canvas input continue to work): [14860] krita.tabletlog: "[ ] ShortcutOverride key: 0x1000021 mod: 0x4000000 text: none" [14860] krita.tabletlog: "[ ] ShortcutOverride key: 0x5a mod: 0x4000000 text: \u001A" [14860] krita.tabletlog: "[ ] KeyRelease key: 0x1000021 mod: 0x0 text: none" [14860] krita.tabletlog: "[ ] KeyRelease key: 0x5a mod: 0x0 text: \u001A" (Nightly c356cf83d5)
Reverting https://invent.kde.org/graphics/krita/-/commit/58392a1f9ae446da3f48c632f2bfe68d10a60ee4 fixes this, but of course that brings back bug 438784.
I can still reproduce the issue with this commit reverted: https://invent.kde.org/graphics/krita/-/commit/58392a1f9ae446da3f48c632f2bfe68d10a60ee4 I can also reproduce the issue on Linux.
Can reproduce in git commit a792621 on macOS Big Sur 11.6.5 (MBP Early 2015).
It should be noted that in macOS, the pan action gets compressed until the space bar is released, after which all the movements get applied at once.
Git commit d518783ca601fdc7f4d934cee01067137cc8f08e by Dmitry Kazakov. Committed on 26/05/2022 at 08:56. Pushed by dkazakov into branch 'master'. Fix unbalanced KeyPress/Release on non-latin keyboard on Linux Key release should come for exactly the same qt-key that was pressed before to keep them balanced. Even when the modifiers state changes in the meantime. A +96 -0 3rdparty/ext_qt/0001-Fix-unbalanced-KeyPress-Release-on-non-latin-keyboar.patch M +1 -1 3rdparty/ext_qt/CMakeLists.txt https://invent.kde.org/graphics/krita/commit/d518783ca601fdc7f4d934cee01067137cc8f08e
Git commit d682f0f5b17f64494a718652cb4ea733f725d83c by Dmitry Kazakov. Committed on 26/05/2022 at 09:04. Pushed by dkazakov into branch 'master'. [win] Fix unbalanced KeyPress/Release events when using non-latin layout on Windows When the key is released with a different set of modifiers, we should notify application about the release of the old key, not the new one. E.g. for '2' vs '@' keys. A +103 -0 3rdparty/ext_qt/0001-win-Fix-unbalanced-KeyPress-Release-events-when-usin.patch M +1 -0 3rdparty/ext_qt/CMakeLists.txt https://invent.kde.org/graphics/krita/commit/d682f0f5b17f64494a718652cb4ea733f725d83c
I've reported an upstream bug here: https://bugreports.qt.io/browse/QTBUG-103868 PS: The bug is still **not** fixed on macOS! It needs a separate patch.
*** Bug 453972 has been marked as a duplicate of this bug. ***
*** Bug 452910 has been marked as a duplicate of this bug. ***
*** Bug 452771 has been marked as a duplicate of this bug. ***
*** Bug 452626 has been marked as a duplicate of this bug. ***
*** Bug 454450 has been marked as a duplicate of this bug. ***
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1470
Git commit 8184f93df3d0d67ed5ad534871c333802ad33b97 by Dmitry Kazakov. Committed on 12/06/2022 at 06:38. Pushed by dkazakov into branch 'master'. Add a workaround for unbalanced key events on macOS We have a proper fix for Linux and Windows in a form of a patch for Qt, but we still need a workaround for macOS. Qt bug: https://bugreports.qt.io/browse/QTBUG-103868 M +52 -0 libs/ui/input/kis_input_manager.cpp M +13 -0 libs/ui/input/kis_input_manager_p.cpp M +3 -0 libs/ui/input/kis_input_manager_p.h M +2 -1 libs/ui/input/kis_tablet_debugger.cpp https://invent.kde.org/graphics/krita/commit/8184f93df3d0d67ed5ad534871c333802ad33b97
Git commit cfbfc96940e2e30dd2d307f24764cc52aae1d235 by Dmitry Kazakov. Committed on 12/06/2022 at 06:38. Pushed by dkazakov into branch 'master'. Enable unbalanced key-events workaround for Linux distributions M +8 -0 libs/ui/input/kis_input_manager_p.cpp https://invent.kde.org/graphics/krita/commit/cfbfc96940e2e30dd2d307f24764cc52aae1d235
Git commit 7be72b55bdd711d1df5825a3e134ba97722fc997 by Dmitry Kazakov. Committed on 13/06/2022 at 06:39. Pushed by dkazakov into branch 'krita/5.1'. Enable unbalanced key-events workaround for Linux distributions M +8 -0 libs/ui/input/kis_input_manager_p.cpp https://invent.kde.org/graphics/krita/commit/7be72b55bdd711d1df5825a3e134ba97722fc997
Git commit e822a4c673459fb5b39625709ceed6c0da8d16b0 by Dmitry Kazakov. Committed on 13/06/2022 at 06:39. Pushed by dkazakov into branch 'krita/5.1'. Add a workaround for unbalanced key events on macOS We have a proper fix for Linux and Windows in a form of a patch for Qt, but we still need a workaround for macOS. Qt bug: https://bugreports.qt.io/browse/QTBUG-103868 M +52 -0 libs/ui/input/kis_input_manager.cpp M +13 -0 libs/ui/input/kis_input_manager_p.cpp M +3 -0 libs/ui/input/kis_input_manager_p.h M +2 -1 libs/ui/input/kis_tablet_debugger.cpp https://invent.kde.org/graphics/krita/commit/e822a4c673459fb5b39625709ceed6c0da8d16b0