General feedback android version
Open, NormalPublic

Description

From trying the Android version at the sprint.

  • The S-Pen has the same issue that old graphire 3 tablets have: it just doesn't have enough events to show smooth lines. By default Krita is set to basic_smoothing, so as long as this is on, no segmented lines appear. 'none' however does give better control, especially regarding line ends.
  • I had to turn off the brush outline. For some reason it sticks to the last point the tablet has pressed.
  • Having kinetic scrolling on by default would work really well for android.
  • Several menus, like the new document, brush settings and configure Krita menu definitely need to be converted to something more tablet friendly.
  • We should ship a portrait workspace, and let users select a workspace for portrait and landsape, that Krita switches between when the orientation changes.
  • Text input on layer names doesn't work. It does work in the text tool.
  • Random labels seem to be selectable on the tablet.
  • For some reason, the S-Pen is slow and not as accurate as finger input on UI elements.
  • The rotation and zoom/panning is a little bit too sensitive. It seems to pan more than the motion that is given. This is something I also notice on desktop.
  • we should allow 'snapping' to 0° rotation. Resetting rotation is really complex right now.
  • The curves in the brush editor and adjustment curves cannot be edited precisely by either finger or stylus.
  • The brush editor locks up when you edit a brush. I think this is caused by the live preview being too heavy.
  • Autosave might be too heavy, and we should proly offer the option to have it lock up instead.
  • Krita can sometimes not tell when a touch-stroke has ended. This lead to the stylus locking up everything. I have noticed this on the desktop as well.
  • We will need to rework things like the pop-up palette and colorpicking. While in the past the s-pen could be high-jacked(I remember configuring it for clover paint), it doesn't seem to be possible to set it to anything else but samsung's 'productivity tools. Maybe we need some kind of sticky-key buttons to press when we want to color pick or something.
woltherav created this task.Aug 9 2019, 9:19 AM
woltherav triaged this task as Normal priority.
woltherav updated the task description. (Show Details)

Another thing to add is maybe we can combine the on-canvas message for canvas zooming and rotation. Since two fingers does both rotate and zoom, it is hard to tell what the zoom level is as you are using two fingers.

Maybe we can have a tablet toolbar for Android. The brush blending mode on the toolbar takes up a lot of space. Things like the brush size and mirror tool would probably be used more than those.

The "more" icon on the very right of the toolbar is really hard to press because of how small it is. I wonder if we could make that minimum size a bit bigger so it is easier to click and see the remaining toolbar options.

We will need to rework things like the pop-up palette and colorpicking.

We can may be have a on screen button ( a circular translucent button like they have on apple and samsung mobile devices) to trigger right click pop-up palette and color can be selected from it.

Hello and thanks @woltherav

I have questions about several of them. But I will take it one at a time.

What do you mean by?

Autosave might be too heavy, and we should proly offer the option to have it lock up instead.

Lock it up as in doing it synchronously?

amedonosova added a comment.EditedJan 1 2020, 9:20 PM

I have briefly tested Krita on Galaxy Tab S6 (current git build with dependencies from the binary factory; I have disabled finger painting in the settings). Observations so far:

  • The S-Pen draws fine even without the stabilizer. Pressure sensitivity works, tilt does not (I'm not sure about the hardware/software support of tilt for the device, though in Autodesk Sketchbook some brushes react to angle of the pen).
  • Sometimes the pen stops drawing (it seems to be resolved with merge request 196, but I need more testing to confirm that).
  • Sometimes the UI does not respond to the pen, only to touch (or maybe it is just too slow with the pen).
  • I haven't find a way to access context menus (e.g. in layers or brush presets dockers).
  • Upon creating new document nothing happens. After changing the device orientation, the UI redraws and the document shows up.
  • The native title and navigation bars take too much space on the screen. Maybe we would be able to plug the main menu into a button in the toolbar and run Krita always on fullscreen and save space.
  • For the popup palette (and possibly other actions), we might consider three-finger touch gestures/swipes.

Compiled an x86_64 build and tested on ChromeOS 76 (ARC) on a Surface Go w/ pen,

  • Made a Qt5 patch for tilt/rotation, no issues there https://gist.github.com/shinyquagsire23/bc7cd198745e6d305716aaa679f9c19e. Working on a PR for Krita+Qt5
  • UI stuff has a weird offset with the pen and with mouse input, and I managed to find a fix for it, but it's a bit hacky... I modified https://code.qt.io/cgit/qt/qtbase.git/tree/src/gui/kernel/qguiapplication.cpp so that processTabletEvent looks like https://gist.github.com/shinyquagsire23/b2ee629c9e361338329744971afaf900. Passing in the window as NULL from androidjniinput.cpp doesn't fix anything for tablet events, but it fixes mouse events. Also need to set the mouse fallback for processTabletEvent to pass in the new local pos and not the old one. Something with the topLevelAt code in the android platform plugin code seems to not be correct, though I don't know why. Some weird desync between QAndroidPlatformWindow and QWindow positions I guess.
  • For some reason disabling hiDPI support, switching to OpenGL rendering, will cause the application to hang on startup. Clearing app data/cache fixes it though.
  • Sometimes have to tap twice to get the pen to draw/erase, probably another Qt issue.
  • Ditto on the redraw issue, though if I open a menu or dialog it triggers the redraw.

I've found that adding the Fullscreen and Show Dockers options to my toolbar makes for a pretty decent tablet mode if I need the screen realestate, could be something to expand on though (ie give an icon for Show Dockers, or use a swipe gesture from the sides to show/hide). Don't really have too many opinions on the menu, might be better to handle it outside of the Qt<->Android stuff though idk. Fullscreen mode *does* make the titlebar and navigation bar go away though in my testing.

Other thing I want to look into, I know the S-Pen definitely has hover support (Android View onHover MotionEvents, would need to be hooked into Qt) but I think ChromeOS defaults styluses to act more like touch input (I cannot find any way of triggering stylus hover at the moment).

Thank you for the patch, it works on Galaxy Tab S4 as well.

Sometimes have to tap twice to get the pen to draw/erase, probably another Qt issue.
Ditto on the redraw issue, though if I open a menu or dialog it triggers the redraw.

Could you please test https://invent.kde.org/kde/krita/merge_requests/196 and see if this fixes the issue?