Bug 373299 - Zoom shortcuts dont work after focus given to docker windows
Summary: Zoom shortcuts dont work after focus given to docker windows
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Shortcuts and Canvas Input Settings (show other bugs)
Version: 3.1 Beta
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-05 16:44 UTC by peat
Modified: 2020-05-19 09:08 UTC (History)
2 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 peat 2016-12-05 16:44:07 UTC
My Zoom shortcut keys stop functioning after I interact with either the "Overview" or "Image Reference" dockers.

Reproduce senario:

1) Zoom in/out main canvas with shortcut keys
2) select either of te above dockers adn interact with the slide size controls of the docker window
3) go back to main canvas and try to use zoom shortcut keys.

What I experienced was this also happened with the brush preset docker, when any of the 3 mentioned dockers get the focus the do not seem to release the event after the main canvas is clicked so using zoom in the main canvas will still scale the "Reference Image " docker.

If this does not make sense please comment and I will try to attach a small video clip showing the problem
Comment 1 Halla Rempt 2016-12-07 10:58:18 UTC
Hi,

Thanks for your report.

The same happens when you use the brush size sliders or the zoom slider in the statusbar. It's how Qt's focus system works, and I'm unfortunately not sure we can change anything here, while still making it possible to enter values in the various widgets.
Comment 2 Halla Rempt 2016-12-08 10:21:42 UTC
It's the same issue as in 372646

*** This bug has been marked as a duplicate of bug 372646 ***
Comment 3 Dmitry Kazakov 2020-04-15 20:52:51 UTC
Git commit d454a04e713c0ffc4167021680f69be3698871ec by Dmitry Kazakov.
Committed on 15/04/2020 at 20:46.
Pushed by dkazakov into branch 'krita/4.3'.

Fix pan/zoom shortcuts not working after accessing any docker

The reason for the bug was that KisExtendedModifiersMapper::
queryExtendedModifiers() has never been implemented for Windows.
Therefore all the shortcuts including Space could potentially be
lost when the user pressed it without focusing on the canvas.

We also need an implementation for OSX.
Related: bug 372646, bug 391088

M  +53   -3    libs/ui/input/kis_extended_modifiers_mapper.cpp

https://invent.kde.org/kde/krita/commit/d454a04e713c0ffc4167021680f69be3698871ec
Comment 4 Dmitry Kazakov 2020-04-15 20:53:01 UTC
Git commit f49dac3a603d8d40108523be436be1b251966ac5 by Dmitry Kazakov.
Committed on 15/04/2020 at 20:48.
Pushed by dkazakov into branch 'master'.

Fix pan/zoom shortcuts not working after accessing any docker

The reason for the bug was that KisExtendedModifiersMapper::
queryExtendedModifiers() has never been implemented for Windows.
Therefore all the shortcuts including Space could potentially be
lost when the user pressed it without focusing on the canvas.

We also need an implementation for OSX.
Related: bug 372646, bug 391088

M  +53   -3    libs/ui/input/kis_extended_modifiers_mapper.cpp

https://invent.kde.org/kde/krita/commit/f49dac3a603d8d40108523be436be1b251966ac5
Comment 5 vanyossi 2020-05-19 06:04:50 UTC
Git commit 4b9fa0c85e8f4cf9412ad01dd073c4a83ac7ea67 by Ivan Yossi.
Committed on 19/05/2020 at 06:04.
Pushed by ivany into branch 'master'.

fix extenderModifiers for OSX

Keys other than modifiers cannot be accessed outside
of non key related events from NSApplication. adding
a local monitor allows to catch the keys we need
during the delay duration.

Try to handle all modifiers from localMonitor

Apply modifiers already pressed on focusIn events macos

We now request a copy of keydown and modifier change
events to set the proper flags as background application
Related: bug 372646, bug 391088

M  +1    -0    libs/ui/CMakeLists.txt
M  +18   -0    libs/ui/input/kis_extended_modifiers_mapper.cpp
M  +5    -0    libs/ui/input/kis_extended_modifiers_mapper.h
C  +14   -26   libs/ui/input/kis_extended_modifiers_mapper_osx.h [from: libs/ui/input/kis_extended_modifiers_mapper.h - 051% similarity]
A  +134  -0    libs/ui/input/kis_extended_modifiers_mapper_osx.mm
M  +6    -0    libs/ui/input/kis_input_manager.cpp
M  +12   -0    libs/ui/input/kis_input_manager_p.cpp

https://invent.kde.org/graphics/krita/commit/4b9fa0c85e8f4cf9412ad01dd073c4a83ac7ea67
Comment 6 Halla Rempt 2020-05-19 09:08:59 UTC
Git commit 483d38ba26d4008a74c16f5f96c525ff997b618c by Boudewijn Rempt, on behalf of Ivan Yossi.
Committed on 19/05/2020 at 09:08.
Pushed by rempt into branch 'krita/4.3'.

fix extenderModifiers for OSX

Keys other than modifiers cannot be accessed outside
of non key related events from NSApplication. adding
a local monitor allows to catch the keys we need
during the delay duration.

Try to handle all modifiers from localMonitor

Apply modifiers already pressed on focusIn events macos

We now request a copy of keydown and modifier change
events to set the proper flags as background application
Related: bug 372646, bug 391088
(cherry picked from commit 4b9fa0c85e8f4cf9412ad01dd073c4a83ac7ea67)

M  +1    -0    libs/ui/CMakeLists.txt
M  +18   -0    libs/ui/input/kis_extended_modifiers_mapper.cpp
M  +5    -0    libs/ui/input/kis_extended_modifiers_mapper.h
C  +14   -26   libs/ui/input/kis_extended_modifiers_mapper_osx.h [from: libs/ui/input/kis_extended_modifiers_mapper.h - 051% similarity]
A  +134  -0    libs/ui/input/kis_extended_modifiers_mapper_osx.mm
M  +6    -0    libs/ui/input/kis_input_manager.cpp
M  +12   -0    libs/ui/input/kis_input_manager_p.cpp

https://invent.kde.org/graphics/krita/commit/483d38ba26d4008a74c16f5f96c525ff997b618c