Feature request: Global brush angle offset for tilt direction

Hi everybody!
I decided to write this as a feature request as I think I have a defined problem and possible solution, but foremost I would like to start a discussion on current “tilt direction” assumptions.

Problem
Currently the tilt angle from tablet has a default 0° at a non-reachable top. This results in right-handed artists (RH) getting 135°, and left-handed ones (LH), 225° offset in natural position of their hands.


This leads to a few problems with brushes using the tilt-rotation feature.

  1. One brush will create different outputs for LH, RH and and no-tilt users.
  2. None of these three really matches the angle indicator (red on screen above). This was already present, but in krita 5 will get even more pronounced with @Deif_Lou (wonderful) patch. With properly saved brushtip (horizontal) a user needs to remember about this 45° offset.
  3. Solving this is left for brush creators - I decided to release 3 different packs, @RamonM uses tricks with mirroring the brushtip at some angle and accept the offset as you can still reach horizontal and vertical rotation, but for me this diagonal brush is a bit weird for a default 0° angle.

Proposed solution
Here is my loose idea of one system that could make it all clear.


I would propose a global tilt offset that could be set in the tablet settings. The selected value would be added to the tilt signal. This could be done as a “any angle selector” or just RH and LH presets (first being more flexible but less understandable at first sight, second clearer though not that flexible).

This way we could produce brush presets with tiltDir-rotation enabled and these would render at the same angle for all three types of users, and would match the brush angle widget, as long as the users configured it well.

Please let me know you think the current system is a bit ambiguous. Or it may be just me, while other users don’t really care about it, and like the diagonal brush. Maybe some users of my brushpack like @Labi (my pack has this offset embedded so its users could be able to tell if this feels natural or not) could tell what they think about it.

Any feedback is very welcome. Thanks in advance.

Cheers :wink:

4 Likes

Hmm. I always use form rotation with pen and, actually, I don’t have any issue, or maybe I don’t quite understand what’s you point.

Here the screen settings of one of the brush:

Angle rotation is perfectly match stylus direction in all 360 degree.
The single difference from your brushform example that I prefer vertical shape (as if it prolongs a stylus) not a horizontal.

Still, I guess I something miss from the post.

2 Likes

Yes, that’s what I expected some may prefer.
The brushtip will prolong the stylus though placing vertical stamps will require placing your hand in a specific direction.

It’s possible that the current convention is good as it is (as I get your point). Maybe it’s just me who find it a bit unintuitive in practice :slight_smile:

I read it 5 times and I still don’t understand what is the problem? :slight_smile:

Btw as a side note, “right/left handed having 135/225 degs natural position”, I highly doubt this is true. Displays for example can be adjusted so every artist will have this “natural hand position” at a different angle, also depending on which part of screen they use or type of work they do they will change pen position in hand. :wink:

1 Like

Uhm was not no tilt (vertical) zero? I thought it was :thinking: damn my fish memory…

P.S.- yes I was taking a look at something I wrote sometime back and I did spoke of +30 and -30 for the left and right tilt.

1 Like

A possible solution to the problem could be to change the graph,


but this solution rests on the lack of the ability to create a graph from straight lines.

3 Likes

The value range documentation

1 Like

@nickgeneratorfailed sorry it’s not that clear :wink: I’m really starting to suspect that it’s only me who see this “issue” at all.

Trying to explain it in a bit different way (maybe I’ll succeed this time): 0 deg angle picked in a brush editor for me means there is no additional rotation to the brush (its like it is in a thumbnail).

But if you use a tilt tablet and use tilt-rotation in a brush, to get this non rotated brushtip with 0 deg picked, you need to place your pen from the top (first image), which isn’t too comfortable.

To be able to comfortably draw 0 angle tips, you need to change the angle to something other than 0, that will depend on what hand you use.

Of course the whole point of tilt is that you move your pen a lot around, but for most of the time you can specify the angle you use the most. That’s why I would like to remap it to be my new “angle 0”.

@EyeOdin from what I checked, to not rotate the tip with 0 angle, you need to place your pen at the “top position” (very first image). Though maybe I’m the only one who would like to remap it :wink:

Edit: yes, the docs further confirm it

@Andreich_DMBL yes, it came through my mind too. But as you noticed, current system won’t allow to achieve a curve like that. And this solution requires changing all the presets, though I thought about a global solution, like global pressure curve.

I thought this was just tilt. The image with the angles was a bit confusing.

tilt X has better results for left and right but if you want the tilt angle of it I did this it does the same just more points on the set up and saves perfectly. is this what you want?

1 Like

Ok, sorry the thing was not clear enough. I’ll try to explain it again, but if it still won’t be clear, I’m accepting, I’m the only one who consider it a problem.

This is my brushtip. Arrow pointing right. For the most of the time I’ll be using it to draw arrows pointing right (just as I saved it). But I want to be able to make slight changes with tilt (so tilting 20 deg clockwise, will result in rotation of the tip by the same value). When I need to change it by a big amount, I’ll do it with the “angle” in brush settings.

So I load my arrow to brush engine, and by default I get this image (I’m right-handed)

To get my arrow pointing right, I can either flip my arm a lot so that the end of my pen points top (very uncomfortable), or just change the angle (that’s what I do):

Problem is basically solved for me. The arrow don’t fully match the angle indicator and to get arrow pointing to the top I will have to pick 225deg, but that’s quite ok.

But now I create a bundle out of this brush and many similar ones. The left handed artist will experience this:

I can either tell them to subtract 90 degree from every brush or prepare a separate pack for left-handed artist (that’s what I do).

Now that’s what I propose - add one global widget that would allow each user to offset the whole tilt-direction sygnal by subtracting the picked value from the value from the driver.

If I would pick something around 135 I would get the following:

giving me the ability to both do small tweaks with my hand and to change the angle in more intuitive (for me) way

I could also prepare just one bundle of my brushes and in its manual ask users to correctly pick the offset they consider comfortable. If a left-handed artist will specify angle offset in the settings to be 225, they will get something like.

But I start to believe that the current situation works well for most of the users.

1 Like

Oh~ now I see what you mean by that. it is the start up zero for the brush rotation before applying a transform. that is tricky!

I made a brush that counteracted the tilt so it always pointed right but it voided rotation entirely so that is a no go.

after playing with the rotation graph it does miss something like @Andreich_DMBL was referring too so it flips after hitting a ceiling. In python I do that all the time sighs.

I don’t see a way to do it with the current tools. Sorry I was not able to help.

I should note that while testing alternatives I noticed that my angle to hold the pen was different. my most tilted position closer to what you marked for the right hand while my more natural position was more closer to just tilting it down (between left and right). I think this would have to solve various pen till offsets? in rigging we do this in edit mode but we are the ones that set it, here we would have to like make a test window and ask “hold the the pen naturally and press the screen as if drawing” and register that on your author profile or something? I dunno i am just guessing.

The user to set the offset angle manually kinda solves all issues in a way it is not like you can predict for everyone too ‘~’

1 Like

I’m so happy I managed to make it clear enough this time :wink:

@Andreich_DMBL solution was quite good one, though it’s not possible to really achieve a graph like that. It’s also embedded in a preset (so different users would still have to use different bundles), and it’s not too easy to make tweaks to it.

Some calibration system you mentioned is a cool idea I haven’t thought of, though it feels like a complex solution to a rather small problem.

As you say your natural position is closer to 180, than 135, that would mean that my first option with a angle widget would be more suitable. I guess that if a user even cares to make this kind of calibration they could make tweaks with it until they find a good angle that suits the way they hold a pen and lye their hand. Just one preset for right- and left-handed may not be enough.

I think it would solve almost all cases though.

The window calibration thing is just a random idea, not really to pay mind to it.

1 Like

After your wider explanation I got the problem.
As I see you use classic tablet (non-screen), and agree that rotation function become almost useless on that type. I tried to rotate brushtip with intuos and it is really hard to control.

But doesn’t it compensated with “rotation” slider? How about a shortcuts to rotate tip or sort of docker widget to fast change an angle something like this:

1 Like

Honestly I don’t feel that tilt-rotation on a non-screen tablet is useless in any way. I think it works great with krita’s outline preview and I can’t imagine working without it.

What do you mean by “rotation” slider? “Angle” in brush editor? I’ve explained quite clearly how it works as a workaround, but don’t match the observed effect, and needs to be adjusted for left-hand and non-tilt users.

Rotation shortcuts would be great, though I can’t write it as a add-on as python don’t have access to brush angle. Still it wouldn’t allow to have one brush bundle for RH, LH and non-tilt users working out-of-the-box in my opinion.

About the widget - we kind of get it in 5.0 as I mentioned in the first post. It’s a little bit hidden in the brush settings, so having it in a docker or (the best for me) topbar would be wonderful. Still those two feel like two different feature requests, as they solve the problems of accessibility of the rotation instead of calibration (though they maybe more important).

2 Likes

@wojtryb If you calibrate your pen as a left handed person instead of as right handed does it make any changes?

According to qt docs, 0deg angle is always achieved with pen facing top, and angles going clockwise. Configuring a tablet for LH is about having tablet buttons on the other side, and I it shouldn’t affect tilt direction in any way. There is also no offset like I propose in a tablet driver (as opposed to pressure curve that is both in driver and krita)

I didn’t mean changing layout for left handed. But recalibrating pen, literally hitting calibrate button, grabbing pen by the left hand and doing the calibration as a left handed person. This has nothing to do with qt.
I’m just curious if it has an influence or your problem.

I’m confused - I never heard about any calibration other than remapping the tablet to screen - which is all about finding scale and offset of the area, but not the pen tilt in any way.
I may check original windows driver for that, but I don’t think there is anything like that there…

I don’t know which tablet brand you have but pretty much every driver app has a pen calibration button somewhere (it will change where the cursor appears based on how you press and hold your pen so be careful since there’s no go back to default button) so you can calibrate your pen to fit your needs.