Bug 425626 - Single-finger touchscreen panning gesture doesn’t work
Summary: Single-finger touchscreen panning gesture doesn’t work
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Shortcuts and Canvas Input Settings (show other bugs)
Version: 4.3.0
Platform: Microsoft Windows Microsoft Windows
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-21 07:47 UTC by Chris Morgan
Modified: 2021-07-23 13:03 UTC (History)
1 user (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 Chris Morgan 2020-08-21 07:47:05 UTC
PREREQUISITES
A touchscreen device, like my Surface Book, and what I believe are the default touch-friendly settings, namely: within General → Tools, touch painting is disabled, touch rotation is enabled; and in Canvas Input Settings, Pan Canvas has an entry for type Gesture, action Pan Mode.

STEPS TO REPRODUCE
1. Place one finger on touchscreen within the canvas region, and move it before releasing the finger from the screen.

OBSERVED RESULT
Nothing happens. (Meanwhile, two fingers on the touchscreen activates full zoom/rotate/pan, which is not a suitable substitute because it messes up zoom and rotate, which I don’t want.)

EXPECTED RESULT
The document should pan with my finger.

SOFTWARE/OS VERSIONS
Krita

 Version: 4.3.0
 Languages: en_AU, en, en_GB, en, en_US, en
 Hidpi: true

Qt

  Version (compiled): 5.12.8
  Version (loaded): 5.12.8

OS Information

  Build ABI: x86_64-little_endian-llp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: winnt
  Kernel Version: 10.0.19041
  Pretty Productname: Windows 10 (10.0)
  Product Type: windows
  Product Version: 10

OpenGL Info
 
  Vendor:  "Intel" 
  Renderer:  "Intel(R) HD Graphics 520" 
  Version:  "3.0.0 - Build 24.20.100.6293" 
  Shading language:  "1.30 - Build 24.20.100.6293" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:    QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile) 
     Version: 3.0
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsAngleD3D11: true 
  isQtPreferAngle: false 

Hardware Information

  GPU Acceleration: auto
  Memory: 8113 Mb
  Number of Cores: 4
  Swap Location: C:/Users/me/AppData/Local/Temp

Current Settings

  Current Swap Location: C:/Users/me/AppData/Local/Temp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 100
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Use AMD Vectorization Workaround: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 300
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: true
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Display Information
Number of screens: 1
	Screen: 0
		Name: \\.\DISPLAY1
		Depth: 32
		Scale: 2
		Resolution in pixels: 1500x1000
		Manufacturer: 
		Model: 
		Refresh Rate: 60

Current Settings

  Current Swap Location: C:/Users/me/AppData/Local/Temp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 100
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Use AMD Vectorization Workaround: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 300
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: true
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Current Settings

  Current Swap Location: C:/Users/me/AppData/Local/Temp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 100
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Use AMD Vectorization Workaround: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 300
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: true
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Current Settings

  Current Swap Location: C:/Users/me/AppData/Local/Temp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 100
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Use AMD Vectorization Workaround: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 300
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: true
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Current Settings

  Current Swap Location: C:/Users/me/AppData/Local/Temp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 100
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Use AMD Vectorization Workaround: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 300
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: true
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Current Settings

  Current Swap Location: C:/Users/me/AppData/Local/Temp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 100
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Use AMD Vectorization Workaround: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 300
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: true
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false
Comment 1 Halla Rempt 2020-08-21 08:24:16 UTC
No, single-finger panning just isn't implemented, so this is a feature request, not a bug.
Comment 2 Chris Morgan 2020-08-21 08:49:23 UTC
I’m curious then, what *is* the pan canvas gesture? I just assumed that single finger touch would be what it was, given that that’s the universal standard unless single finger touch is drawing, in which case two finger panning is the thing to do, with zoom/rotate snapping to the original values if both of those are supported also. It’s hard to tell with all these things since it just says “gesture” rather than what type of gesture, and the docs don’t talk about gestures at all.
Comment 3 Halla Rempt 2021-07-23 13:03:06 UTC
Git commit 03b05845574b11c5f3d67144ed13215dd532bc31 by Halla Rempt, on behalf of Anunay Jain.
Committed on 23/07/2021 at 13:02.
Pushed by rempt into branch 'master'.

Added single finger panning

Panning is done using a single finger instead of three when touch
painting is disabled

M  +8    -2    libs/ui/input/kis_input_manager_p.cpp

https://invent.kde.org/graphics/krita/commit/03b05845574b11c5f3d67144ed13215dd532bc31