It's nearly impossible to position canvas 0° after you rotated it with finger gestures. It would be very helpful to have locking at 0° and 90°. As an alternative every 45 degrees would be more useful. How locking from user point of view can work: 1. When you pressed 2 fingers and started rotating - position locks at closest value (e.g. 0°) after you passed it by a few degrees (e.g. after 2°). E.g. you start at -2° and rotate clockwise. -2°: rotation -1°: rotation 0°: no rotation - lock, no rotation happens even if you move your fingers in any direction 1° (or -1°): no rotation 2° (or -2°): no rotation 3° (or -3°): rotation is enabled again 2. To release lock (e.g. fine-tune between 0° and 2°) you first need to go beyond threshold and after return back. E.g. you start at -2° and rotate clockwise first and counterclockwise after to fine tune the angle. -2°: rotation -1°: rotation 0°: no rotation - lock 1°: no rotation 2°: no rotation 3°: rotation is enabled again 2°: rotation (moving back in opposite direction to fine tune the angle) STEPS TO REPRODUCE 1. Slightly rotate canvas with 2 fingers (e.g. by 5°) 2. Try positioning it back to 0° OBSERVED RESULT You will end up with 0.2° or -0.1° or any other angle but not straight. EXPECTED RESULT To be snapped on specific angles (0°, 45°, 90°, 135°) SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION
Just want to add. I found a round rotation button at the bottom that helps with the issue. Still it's not intuitive for tablet usage where you are frequently using finger gestures (two finger rotation).
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1371
Git commit 3f15dd530fdb77d736e91b2d05d7f09df02099f0 by Halla Rempt, on behalf of Sharaf Zaman. Committed on 17/03/2022 at 13:35. Pushed by szaman into branch 'master'. Touch Rotation: Add snapping at angles that are multiple of 45 M +16 -0 libs/ui/input/kis_zoom_and_rotate_action.cpp https://invent.kde.org/graphics/krita/commit/3f15dd530fdb77d736e91b2d05d7f09df02099f0