Bug 441687

Summary: WinTab: Stylus input triggers single touch panning gesture
Product: [Applications] krita Reporter: Alvin Wong <alvin>
Component: Tablets (tablet issues are only very rarely bugs in Krita!)Assignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: oscarbaechler, tomtomtomreportingin
Priority: NOR Keywords: regression
Version: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Tablet log for a few stylus strokes (WinTab)

Description Alvin Wong 2021-08-29 06:43:50 UTC
SUMMARY

With touch painting disabled and tablet API set to WinTab, stylus input still produces synthesized touch events, which triggers the single touch panning gesture on painting.

STEPS TO REPRODUCE
1. Disable touch painting and set to WinTab
2. Draw with stylus

OBSERVED RESULT
A dab got painted at the starting position but the canvas pans.

EXPECTED RESULT
Paint stroke without panning canvas

SOFTWARE/OS VERSIONS
Windows: 10

ADDITIONAL INFORMATION
On Surface Pro 2017 with N-Trig WinTab driver installed.
Nightly 6ce9aadc4b
Comment 1 tomtomtomreportingin 2021-08-29 06:57:16 UTC
Perhaps https://bugs.kde.org/show_bug.cgi?id=441145 is experiencing the same problem?
Comment 2 Alvin Wong 2021-08-29 14:39:43 UTC
(In reply to tomtomtomreportingin from comment #1)
> Perhaps https://bugs.kde.org/show_bug.cgi?id=441145 is experiencing the same
> problem?

It could be, but the reporter of that issue mention something about "jab at it quickly" which I am unable to verify. They also didn't mention the tablet API in use, though it is likely WinTab.
Comment 3 Alvin Wong 2021-08-29 14:51:31 UTC
Created attachment 141122 [details]
Tablet log for a few stylus strokes (WinTab)
Comment 4 Alvin Wong 2021-09-04 16:23:02 UTC
*** Bug 441145 has been marked as a duplicate of this bug. ***
Comment 5 Bug Janitor Service 2021-09-08 08:16:40 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1041
Comment 6 Dmitry Kazakov 2021-09-08 12:43:38 UTC
Git commit 99cb9adf7857a0b1411b7f95309da7db92a20bec by Dmitry Kazakov, on behalf of Alvin Wong.
Committed on 08/09/2021 at 12:43.
Pushed by dkazakov into branch 'master'.

Impl. touch blocking during tablet stroke

1. In WinTab mode some drivers still send Windows Ink events which
   Windows synthesizes into touch events and triggers the pan touch
   gesture.
2. In Windows Ink mode, even when the pen is being used, it is still
   possible to activate touch gestures with the touchscreen, which
   interrupts the current stroke.

M  +2    -0    libs/ui/input/kis_input_manager.cpp
M  +37   -0    libs/ui/input/kis_input_manager_p.cpp
M  +8    -0    libs/ui/input/kis_input_manager_p.h

https://invent.kde.org/graphics/krita/commit/99cb9adf7857a0b1411b7f95309da7db92a20bec
Comment 7 Alvin Wong 2021-09-08 13:07:08 UTC
Git commit 92c6cb650c7b23ed27da7c90ca6aac5a10ac0b57 by Alvin Wong.
Committed on 08/09/2021 at 13:07.
Pushed by alvinwong into branch 'krita/5.0'.

Impl. touch blocking during tablet stroke

1. In WinTab mode some drivers still send Windows Ink events which
   Windows synthesizes into touch events and triggers the pan touch
   gesture.
2. In Windows Ink mode, even when the pen is being used, it is still
   possible to activate touch gestures with the touchscreen, which
   interrupts the current stroke.


(cherry picked from commit 99cb9adf7857a0b1411b7f95309da7db92a20bec)

M  +2    -0    libs/ui/input/kis_input_manager.cpp
M  +37   -0    libs/ui/input/kis_input_manager_p.cpp
M  +8    -0    libs/ui/input/kis_input_manager_p.h

https://invent.kde.org/graphics/krita/commit/92c6cb650c7b23ed27da7c90ca6aac5a10ac0b57