Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows TurboVNC Viewer: Wacom tablet detection is inconsistent #184

Closed
dcommander opened this issue Jul 16, 2019 · 3 comments
Closed

Windows TurboVNC Viewer: Wacom tablet detection is inconsistent #184

dcommander opened this issue Jul 16, 2019 · 3 comments

Comments

@dcommander
Copy link
Member

The Wintab API sometimes generates bogus information with gpWTInfoA(..., CSR_PHYSID, ...) and gpWTInfoA(..., CSR_TYPE, ...) queries if the tablet has recently been plugged in but has not yet been used. When this happens, the Windows TurboVNC Viewer cannot properly verify the cursor type of the stylus and eraser, so it has no choice but to ignore those cursors, which effectively disables the Wacom/GII interface (the console version of the viewer will report "No extended input devices.")

The workaround seems to be clicking the stylus somewhere on the screen prior to launching the TurboVNC Viewer. There doesn't seem to be any other workaround, as far as I can tell. The TurboVNC Viewer is dynamically loading and calling functions from the closed-source Wintab DLL, so we have no control over the behavior of those functions.

@dcommander
Copy link
Member Author

dcommander commented Aug 29, 2019

The description above applies to the Intuos Pro S PTH-451 that I used when developing the Wacom feature for the Windows TurboVNC Viewer. I was sent newer Intuos tablets for testing: an Intuos Pro S PTH-460 and an Intuos Pro M PTH-660. I can confirm that neither of those works properly with Wintab (or, by extension, with the Windows TurboVNC Viewer) at all. They fail in exactly the same way that the PTH-451 fails if I don't first click the stylus on the desktop prior to launching the TurboVNC Viewer. More specifically:

  • CSR_ACTIVE returns 0 for all tablet cursors.
  • CSR_PHYSID returns 0 for all tablet cursors.
  • CSR_TYPE returns 0x0018 for all tablet cursors.

However, the workaround (clicking the stylus on the Windows desktop) does not always work with the newer tablets. Also, even when that workaround does work, the mouse cursor does not move with the pen, and no tablet events are generated when the pen is moved. Thus, the tablet effectively cannot be used either with Windows or with the TurboVNC Viewer.

@dcommander
Copy link
Member Author

Also, I should note that I was testing the latest Wacom Windows drivers available as of today (the Wintab DLL is part of those drivers.)

@dcommander
Copy link
Member Author

I'm looking at the Blender source code right now, and it seems as if that application uses Wintab only for older tablets and the Windows Ink API for newer ones, so that might be the appropriate way forward for us (probably in conjunction with #146.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant