Windows Tablet Improved (Testers Needed: Wacom, Huion, Monoprice, etc.)

This build is WIP to improve how Blender handles tablet devices on Windows.

I need the following feedback, preferably on GraphicAll but I’ll copy all replies in this topic over. :slight_smile:

  1. Which Windows version are you running? (Only test on Windows 8 or newer)
  2. What make/model of tablet are you testing with?
    • e.g. Wacom Bamboo, Huion WH1409, Monoprice 10594
    • For in-screen tablets the make/model of your laptop/tablet, and the maker to the digitizer if you know it (usually Wacom or N-Trig)
  3. Is there any loss of tablet functionality from Blender 2.8?
    • e.g. pen button mapped differently, loss of pressure, broken when using multiple windows, different tablet-to-screen mapping than before
    • If nothing: it would help if you could write what you tested with as much detail as you’re willing to include. This will help narrow down problems other people find.

can you tell us what these improvements consist in?
personally I have no problem with the support of tablets by blender, and I never use a mouse.
after testing your build, I did not notice any differences, except that the pressure did not work.

It would be interesting to see if you can integrate touch, multipoint touch and gestures, for interactive pen displays and tablet PCs, successfully into the UI…

Higher frequency reading of tablet data, mostly intended to solving jagged grease pencil lines on Windows.

Thanks for the feedback, I was concerned that pressure might not work for some devices. Could you tell me the brand? Also which version of Windows?

Part of the motivation for these pen tablet changes are intended to lead into multi touch.

I would love to help but, unfortunately or fortunately depending on your OS stance, I am running Ubuntu 18.04.3 on all my devices, including my ThinkPad X1 Tablet…

Thanks, for this thread the build is specific to Windows issues but I might reach out to you for Linux pen/touch tests in the future.

Please do, inclusion of multi-touch would really help my workflow, which includes the comfy couch in front of my admittedly overlarge TV…

cintiq companion 2 with … linux mint, sorry
So my windows version is wine, but blender 2.81 for windows works fine on it.

1 Like

hi, just out of curiosity - why you go with linux on machine where windows must be by default?

1- personal preference for linux
2- the cintiq companion has problems of cooling, and windows with frequent process in background spot which demands work with the processor, linux is calmer.
3- now linux mint (and all ubuntu base i think) work from scratch on companion, wasn’t the case before

Tested on xp pen 15.6 + lenovo b590 (i3 3110m, 6gb, Geforce gt 710, win 8.1 ).

No lags!!! its great!

With 2.81 i have a lag when i put pen on screen and start move. If i make strokes rapidly, only the ends of the stroke are drawn. So i need put pen on tablet, wait 0.5-1 sec, then move the pen. Until i remove the pen from the screen, i can move pen quickly without lags.
Other software like photoshop, krita works without lags.

On PC (r5 1600/1080ti/win 10) i have no lags/delays. on both versions.

I noticed that fast circular strokes became smoother. With 2.81 they looks “polygonized”.

add: with wacom bamboo tablet, all the same things.

1 Like

Thank you for the follow up. There’s a good chance this is a Wine issue but I’ll try to confirm elsewhere.

The only problem with tablet drivers in Windows is that many application can’t figure out when to use WinTab or TabletPC API I have never looked how Blender deals with this issue but for the better or worse this is something to keep an eye on and ensure things are correct.

One thing this build is testing is whether the Wintab API is still necessary post-Win8. Most if not all significant tablet manufacturer’s support the Win8+ Pointer API even for fairly old tablets; I’m trying to verify Wintab can be depreciated without loss of functionality.

If you know any tablets which are exclusively Wintab I’d really appreciate the info. So far Wacom, N-Trig, and XP-Pen are confirmed working; I’d like to verify Huion and Monoprice work too.

The current behavior in Blender is to use Wintab when a Wintab device can be opened on startup, otherwise it uses the Win8+ Pointer API.

Windows has had various tablet APIs in the past. I think TabletPC is the wrapper API for higher level processing of tablet information, e.g. the Ink APIs which provide Windows interpretation of tablet data as possessed “ink” data. Blender has an option to use Win8+ Pointer events which is mislabeled as Windows Ink, though the terminology seems to be a bit muddled given some manufacturers seem to use Windows Ink to imply the same.

Hey @Nicholas_Rishel!

I tried sculpting a bit with your branch. Noticed a subtle difference in how the brushes behaved, allowing for more control. Will be a fantastic addition to Blender once it is completed.

I use a Wacom Cintiq 13" HD tablet on Windows 10.

One serious bug I noticed was something that happened to my personal keybinds. I.e. I have brush size keyed to alt+R click along with an L click command to accept the change, which is done by lightly tapping on the screen. The first part of the keybind works, but when I want to accept the change in brush size Blender straight up refuses to change brush size with the tablet pen. Doing this with my mouse works fine, but with my tablet, not at all.

As nice as this patch is, unless that issue is fixed I would not want this in master. Broken keybinds to change everything from brush size, strength, and rotation using traditional Photoshop commands are a big usability problem for me.

I tried to recreate the issue but I didn’t experience the problem assuming I understand you correctly. What’s your tablet? Also if you could record setting up your keybinding and showing the issue e.g. in OBS it might help if I’m misinterpreting your issue.

  1. Win 10
  2. HUION GT-133
  3. Works the same as with 2.82 and a few 2.83’s

Good luck with the project.

1 Like

Thanks for the work you are doing to improve Tablet support and functionality in Blender. I have a quick question regarding the APIs as I’ve had to deal with various issues in the past thanks to various problems with either Windows, Wacom drivers, APIs or individual pieces of software.

Lately Wacom drivers do seem to have improved in terms of features, and I’ve also had less general issues with my tablet, but the biggest problem I ever had was when that Windows Ink API was introduced. It added all kinds of pointless crap that seemed aimed at people using tablet pcs for taking notes and just ruined the tablet experience for artists by adding all manner of feedback and helpers that just got in the way. I’ve just looked in my wacom settings app and noticed that Windows Ink is still disabled, which is because even with registry tweaks I couldn’t fully get rid of the touch rings and lag on right click that Windows (st)Ink introduced. Would I need to enable Windows Ink to use your builds if WinTab support was disabled?

Yes, unless I misunderstand how Window’s tablet APIs work. I think the Win32 Pointer API piggybacks on driver support for Windows Ink, and this build is testing changes to Blender’s use of the Win32 Pointer API.

IIRC touch rings are not a problem when using the Pointer API but if you could also test it I’d appreciate it. I’m assuming by touch rings you mean the press and hold right click for pen? I’m also not a fan of (even when taking notes!) and it’s now fairly easy to disable without touching the registry.

I also have a branch that brings similar improvements to Wintab that’s just about ready to test. At that point the Wintab and “Windows Ink” settings will most likely be indistinguishable for tablets that support both.

Edit: Coincidentally I happened upon the code which fixes the pen lag issue. It was added to Blender just over a year ago.

      // Touch enabled screens with pen support by default have gestures
      // enabled, which results in a delay between the pointer down event
      // and the first move when using the stylus. RegisterTouchWindow
      // disables the new gesture architecture enabling the events to be
      // sent immediately to the application rather than being absorbed by
      // the gesture API.
      GHOST_WIN32_RegisterTouchWindow pRegisterTouchWindow = (GHOST_WIN32_RegisterTouchWindow)
          GetProcAddress(m_user32, "RegisterTouchWindow");
      if (pRegisterTouchWindow) {
        pRegisterTouchWindow(m_hWnd, 0);

hi Niholas, can you add windows ink to last official 2.79b blender version? i would greatly appreciate that.


1 Like