Page MenuHome

conflict with how Blender is sampling OSX input/stroke events
Open, Confirmed, MediumPublic

Description

System Information
Operating system: Mac OSX 10.14.3 (18D109)
Graphics card: Radeon Pro 570 4096 MB

Blender Version
Broken: 2.80beta
Worked: -

Short description of error
Blender registers wrong pressure values on stroke realease when input is given by OSX stroke events from iPad Pro (Astropad) or Force Touch Trackpad (inklet)

Exact steps for others to reproduce the error
We were recently testing a setup that replaces the Cintiq with iPad Pros. As you may know new macBook trackpads are pressure sensitive. This means that you can enable pressure recording in your apps using apple' integrated input/stroke events. This also means that there are applications out there that are enabling this feature for any osx software without having to code it.
One of the easiest app to use is called inklet and lets you use the trackpad as a graphic tablet .
The same feature is brought to iPad Pros with Astropad turning your iPad in a Cintiq for your Mac.
Unfortunately both apps (working fine in other software like photoshop or krita) are experiencing the same issue with blender and are easy to reproduce trying to draw with Grease Pencil: whatever you do the final point of the strokes records 100% pressure on release, drawing a bubble at the end.
I've been in touch with Astropad team and the say:
"With the latest, we were able to get pressure sensitivity and reproduce the high pressure end of stroke. But, we were able to get a similar result with just using a trackpad as well,
which makes us believe there is a possible conflict with how Blender is sampling input/stroke events in general"
is there something you can do to help us Mac people to have a working workflow with our hardware?

Details

Type
Bug

Event Timeline

William Reynish (billreynish) triaged this task as Confirmed, Medium priority.EditedMar 14 2019, 11:26 AM

I can confirm the issue here, using an iPad Pro as input:

Blender w/ Grease Pencil:

Blender w/ Texture Paint:

In Blender, each line ends with full pressure.

Photoshop:

Photoshop and other apps act normal

Tested with Duet Display instead of Astropad. Same issue. So it seems not to be an issue with Astropad itself, but probably an issue in Blender itself.

2.79 also has the same behavior.

I'm new to blender from 2D land and have the same issue. I think I've added myself for updates?

Not sure why you assigned this, @Antonio Vazquez (antoniov) doesn't even have a mac for testing as far as I know.

I don't know of any developer with this kind of hardware, so no one currently.

If it becomes high enough priority we can try to get a setup like this, or deeply analyze the code to try to find the bug, but we have more important bugs to fix right now.

@Brecht Van Lommel (brecht) actually any macbook pro from 2016 to now has a forcetouch trackpad you can use to test it with inklet. This shares the same osx input and stroke event as astropad on ipad.
It’s very hard to believe that there isn’t any developer out there using a recent macbook pro.

Not sure why you assigned this, @Antonio Vazquez (antoniov) doesn't even have a mac for testing as far as I know.

Ah you're correct. I thought he fixed bugs with Apple before. but I must have mixed him up with someone else. Looking at an earlier post of his it seems he only has access to a Windows dev environment:

I cannot help here... I cannot test in Mac, only Windows.

If someone has a Mac, I can help him to debug/test but I cannot do it myself.

I can reproduce the issue with Inklet software on a trackpad.

Doesn't happen with Wacom Intuos btw, so it's something specific to that software and hardware.

@Sergey Sharybin (sergey) it works with almost any pressure enabled software out of the box through inklet and Astropad (you can easily test krita). Believe anyway it should work just like pinching, zooming and rotating with two fingers on the trackpad are working using the regular APIs.

please have a look here:

ForceTouchCatalog: Using the Force Touch Trackpad API

there are also js using it for web development here:

JavaScript library for handling Force Touch

@Brecht Van Lommel (brecht) searching on the bug tracker it seems this issue is also happening with other setups for non-wacom users.

Blender 2.78 Grease Pencil - pen pressure problem (Yiynova Tablet)

JoshBowman (JoshyB) added a comment.EditedThu, May 2, 10:56 AM

The video at the end of that discussion shows where the issue lies and a possible fix
https://youtu.be/xkWECtX-

Apparently it’s to do with a variable in gpencil_paint.c ‘pressure = 1.0f’ rather than getting changed to a default of ‘0.0f’ which solves the tablet issue but then drawing strokes with the mouse won’t work because the default is now 0.0

@JoshBowman (JoshyB), yeah thanks. That's why I was linking the topic. Hope some developer cares enough to have a look at it.

Feel your pain, I’ve been wanting this fixed for aaaaaaaaaaages.

@Sergey Sharybin (sergey) Wondering if this issue could just become a setting somewhere that allows us to switch between a mouse/tablet drawing mode which just changes the pressure variable between 1.0f and 0.0f? That would seem the most straight forward solution