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

Add Wacom touch support #962

Merged
merged 7 commits into from
Apr 8, 2021

Conversation

AbstractQbit
Copy link
Contributor

I have only tested this with cth-470, pth-850 and pth-860;
8th and 9th gen consumer tablets need testing before merging this.

Also fixes #935.

@AbstractQbit AbstractQbit mentioned this pull request Apr 6, 2021
@InfinityGhost InfinityGhost added core OpenTabletDriver core library enhancement New feature or request labels Apr 6, 2021
OpenTabletDriver/Vendors/Wacom/WacomTouchReport.cs Outdated Show resolved Hide resolved
OpenTabletDriver/Vendors/Wacom/WacomTouchReport.cs Outdated Show resolved Hide resolved
OpenTabletDriver/Vendors/Wacom/WacomTouchReport.cs Outdated Show resolved Hide resolved
OpenTabletDriver/Vendors/Wacom/WacomTouchReport.cs Outdated Show resolved Hide resolved
public const int maxPoints = 16;
public byte[] Raw { set; get; }
public TouchPoint[] Touches { set; get; }
public bool ShouldSerializeTouches() => true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this function for?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Newtonsoft refused to serialize that property without this

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't JsonPropertyAttribute suffice for this? I've never seen this needed before.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After discussion, we should at least add xmldocs explaining what this is used for.

OpenTabletDriver/Vendors/Wacom/IntuosV3TouchReport.cs Outdated Show resolved Hide resolved
OpenTabletDriver/Vendors/Wacom/IntuosV3TouchReport.cs Outdated Show resolved Hide resolved
Co-Authored-By: X9VoiD <oscar.silvestrexx@gmail.com>
Co-Authored-By: InfinityGhost <39218853+InfinityGhost@users.noreply.github.com>
@X9VoiD
Copy link
Member

X9VoiD commented Apr 6, 2021

WacomTouchReport and IntuosV3Report is wacom_bpt3_touch()

WacomTouchReport is applicable only to endpoints of length 64

This parser is used for devices of these types

Intuos 5 Lineup Intuos P Lineup Intuos HT Lineup Bamboo Lineup
Intuos5 IntuosPS IntuosHT Bamboo Pen
Intuos5S IntuosPM IntuosHT2 Bamboo Touch
Intuos5L IntuosPL BambooPT

So with that said, we can determine that these devices that the PR modified are to be verified working:

BambooPT IntuosHT IntuosHT2 Intuos5 Intuos5L IntuosPS IntuosPM
CTH-470 CTH-480 CTH-490 PTH-650 PTH-850 PTH-451 PTH-651
CTH-670 CTH-680 CTH-690
CTL-480 CTL-490
CTL-680 CTL-690

PTH-660 however is a device that cannot be verified, there are references to it in input-wacom, but no full configuration for it. (doesn't specify parser, size, max touch points, etc, as if it's unsupported)

@AbstractQbit
Copy link
Contributor Author

@X9VoiD
Copy link
Member

X9VoiD commented Apr 6, 2021

The thing is that the kernel module did not declare PTH-660 (PID: 855 or 0x357) as a supported device so I can't verify that one.

@InfinityGhost InfinityGhost added this to the v0.5.3 milestone Apr 6, 2021
…ng last ones, as that was causing unwanted button releases on intuosv2 touch tablets
@InfinityGhost
Copy link
Member

Man I sure do love CI

@InfinityGhost
Copy link
Member

Is this ready for merge?

@InfinityGhost InfinityGhost merged commit 4c778a3 into OpenTabletDriver:master Apr 8, 2021
@AbstractQbit AbstractQbit deleted the new-touch branch April 8, 2021 07:11
@ocumo
Copy link

ocumo commented Sep 25, 2023

Sorry for posting in this old thread, but something is not clear, and before I create or pollute other threads, just a question:
Does this includes Wacom PTH-851?
With PTH-851, touch is detected in the tablet debugger, but not by any other program or desktop.
The other things work OK in all modes.
Should I make a separate request to add touch support for PTH-851?
Thanks!
(Linux, Xubuntu 22.04 LTS)

@jamesbt365
Copy link
Member

This pull request parses touch. OTD does not support any touch output at this time.

@ocumo
Copy link

ocumo commented Sep 27, 2023

Thanks.
So, that means, that for now OTD reads the input --correctly, as far as I can see-- but it won't output it to any program, right?
Is touch output a thing that might ever be supported in the future, even for a limited number of tablets, or is it completely out of the scope of the project? I can only guess that getting to parse the touch is a good clue that touch is planned or at least desired.
Thanks again

@jamesbt365
Copy link
Member

See #1664.

@ocumo
Copy link

ocumo commented Sep 27, 2023

Ok, I am going to have to guess that you mean "maybe in the future some limited functionality could happen; but it may take years". Did I guess right?

Please I don't want to keep trying to guess an statement. If I said something inappropriate, please say so. Otherwise, please could you pass this to a colleague who could provide a simple, friendly "Yes, exactly" or "No, you are wrong, ..." kind of statement. This is not a complex question and doesn't deserve so many posts. Thank you.

@jamesbt365
Copy link
Member

#1664 is the issue tracking touch support. Touch is parsed on most tablets that support, meaning that OTD understands what touch is, but currently has no support for actually outputting this to the display. The issue that I linked is the issue tracking this.

We are a small team, we are not paid to develop this project and therefore we do not have all the time in the world to work on specific features so unless anybody steps up outside of our team to supply any touch support before we do this is not in scope for 0.7 or potentially even 0.7.1 depending on what time we have available, hence why it is in the backlog milestone. For an overview on all the milestones see this.

We have no plans on implementing this right now as we have more important things to do like getting a stable codebase for 0.7 to release on. There is lots to do in that milestone so do you not expect this any time soon, we have limited resources here.

@ocumo
Copy link

ocumo commented Sep 27, 2023

Ok, thank you so very much!

I totally understand. I am by no means criticizing lack of support of any feature. Quite the contrary: I am glad that there is this project. The reason for my curiosity (not a request) is that I have only recently discovered OTD and dumped Wacom drivers to give it a chance, since there is no good GUI solution for tablets in Linux. I just need to understand the limitations to adapt and try to live with it. Touch would be nice, but I am with you, it's not top priority.

I will keep using OTD, and I have already had my quote of troubleshooting and issues, and learned a few things about it in the meantime. I have noticed the lack of resources to put in place an extensive documentation, and I sympathize. I have been writing a few procedures for me, to help me avoid troubles with the installation procedure on my various systems, which I have to say could be improved in your wiki, nothing fancy, just a couple of notes or steps would avoid so much pain for many people, as many others had the same troubles as I did.

Thanks again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core OpenTabletDriver core library enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CTH-470 reports auxiliary button inputs when hand is resting on tablet
5 participants