Bug 441687 - WinTab: Stylus input triggers single touch panning gesture
Summary: WinTab: Stylus input triggers single touch panning gesture
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tablets (tablet issues are only very rarely bugs in Krita!) (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: regression
: 441145 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-08-29 06:43 UTC by Alvin Wong
Modified: 2021-09-08 13:07 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Tablet log for a few stylus strokes (WinTab) (204.92 KB, text/plain)
2021-08-29 14:51 UTC, Alvin Wong
Details

Note You need to log in before you can comment on or make changes to this bug.
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