https://bugs.kde.org/show_bug.cgi?id=452662
Bug ID: 452662 Summary: Two-finger pan/rotate gesture glitch with changing touch points Product: krita Version: git master (please specify the git hash!) Platform: Microsoft Windows OS: Microsoft Windows Status: REPORTED Severity: normal Priority: NOR Component: Shortcuts and Canvas Input Settings Assignee: krita-bugs-n...@kde.org Reporter: al...@alvinhc.com Target Milestone: --- Created attachment 148175 --> https://bugs.kde.org/attachment.cgi?id=148175&action=edit tablet log, the gesture has been performed multiple times Hold one finger down completely still, then flick (press, move, release) using another finger repeatedly. Sometimes you can see the canvas jump as if you have never released the second finger. Sometimes the canvas rotates 180 degrees. IRC conversation: <sh_zam> windragon: the problem seems here: <sh_zam> [2528] krita.tabletlog: "[ ] TouchUpdate TouchScreen id: 100663306 hires: 930, 557.5 prs: 0.5 rot: 0; id: 100663297 hires: 294, 288 prs: 0.5 rot: 0; " <sh_zam> [2528] krita.tabletlog: "[ ] TouchUpdate TouchScreen id: 100663297 hires: 294, 288 prs: 0.5 rot: 0; id: 100663307 hires: 948, 342.5 prs: 0.5 rot: 0; " <sh_zam> the touchpoints are flipped by the driver apparently. <windragon> sh_zam: the id values are mapped correctly though <sh_zam> this doesn't seem like a regression caused by the gesture handling code. Because we don't do anything which will require us to use IDs. Where as for rotation code because angle is computed with the finger placement, it seems that this *is* the source. <sh_zam> windragon: yes, but we calculate delta between fingers and assume them to be in order always: https://invent.kde.org/szaman/krita/blob/6c46fcbc1324b50756ff2e36b748c49c301ebec1/libs/ui/input/kis_rotate_canvas_action.cpp#L155-156 <windragon> which is an incorrect assumption <sh_zam> windragon: yes <windragon> sh_zam: but more importantly, there is no sign in the latter half of the tablet log that it even acknowledged that the second finger has ever been lifted from the touchscreen <windragon> the touch point id changed, but the gesture handling probably didn't pick that up -- You are receiving this mail because: You are watching all bug changes.