-
-
Notifications
You must be signed in to change notification settings - Fork 442
Support modifier click, double click, tilt and pressure for macOS #2894
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
Conversation
|
I am not a builder and I so appreciate what y’all do and have done. I am an artist pulling my hair out to get my wacoms to work on my new iMac. Wacom driver won’t initiate, and causes kernel panic when installed. Couldn’t believe it when I saw open source on driver for macOS. I’d be happy to donate to this project. Is there now a way to have tilt and pressure for macOS? Being ignorant to coding etc, can anyone help me on this? |
|
Try this build: https://cdn.discordapp.com/attachments/158484765136125952/1153342450979582062/OpenTabletDriver-0.7.0.0-osx-x64.tar.gz Edit: with the changes that discord did you now must post this in any discord channel for the link to work. |
|
Do keep in mind any builds based off 0.7 at the moment are going to be unstable and not complete in the slightest. This is an experimental development version and may not work, no clue if the build I just sent even runs. |
|
I appreciate all of the effort. Will let you know. ThanksSharron On Sep 18, 2023, at 10:52 AM, jamesbt365 ***@***.***> wrote:
Do keep in mind any builds based off 0.7 at the moment are going to be unstable and not complete in the slightest. This is an experimental development version and may not work, no clue if the build I just sent even runs.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
|
Note that due to the way you've currently formatted the OP, @AkiSakurai, #2291 will currently not be closed when this is merged, you must use the keyword for every instance of an ID, e.g. "Fix #2871, fix #2291". |
Confirming that the version quoted here solves it for me - the shift key now works with my old Wacom pad and Photoshop. |
This comment was marked as off-topic.
This comment was marked as off-topic.
|
Plugins and settings are not compatible across versions, you must remove the before using dev builds. |
|
Alright, works perfectly. |
|
The build above also fixes the modifier regression when I'm using a Wacom CTL-470. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
|
Hey, I just tested the latest build with your changes applied, and it seems to have fixed the pressure sensitivity on my Gaomon S620. However, button mappings involving modifier keys (Shift, Application, Alt) still don't seem to be working... |
gonX
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also see #3544
| using static MacOS; | ||
|
|
||
| public class MacOSAbsolutePointer : MacOSVirtualMouse, IAbsolutePointer | ||
| public class MacOSAbsolutePointer : MacOSVirtualMouse, IAbsolutePointer, IPressureHandler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than implementing IPressureHandler in both the absolute and relative pointer, you should be able to do it in just the VirtualMouse directly, as seen here: 921411e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| public interface IPressureHandler : IAbsolutePointer |
IPressureHandler is a sub-interface of IAbsolutePointer on the master branch, so I can't move it to VirtualMouse.
I wonder if the current inheritance hierarchy is accurate.
From the user's perspective, tracking mode should ideally be independent of pressure support. However, since most stylus APIs (windows ink, wayland tablet_v2, macos driverkit on major operating systems function in absolute mode, it may be possible to implement a universal relative mode by simulating it through an absolute mode implementation and assume device with pressure is always absolute.
| private const int _DoubleClickMoveTolerance = 8; | ||
| private const int _ProximityExpiresDurationInMs = 200; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to Rider, our convention for private consts is PascalCasing without the underscore in front, ie:
| private const int _DoubleClickMoveTolerance = 8; | |
| private const int _ProximityExpiresDurationInMs = 200; | |
| private const int DoubleClickMoveTolerance = 8; | |
| private const int ProximityExpiresDurationInMs = 200; |
(the remainder of the code should be adjusted as appropriate, don't just apply this suggestion without renaming other occurences)
| } | ||
| } | ||
|
|
||
| protected void setPressure(float percentage) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should just implement IPressureHandler directly instead (ie. public void SetPressure(float)), as mentioned
| using static MacOS; | ||
|
|
||
| public class MacOSRelativePointer : MacOSVirtualMouse, IRelativePointer | ||
| public class MacOSRelativePointer : MacOSVirtualMouse, IRelativePointer, IPressureHandler |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here, move the IPressureHandler class inheritance to MacOSVirtualMouse
| @@ -0,0 +1,9 @@ | |||
| namespace OpenTabletDriver.Native.OSX.Input | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wrong namespace
| namespace OpenTabletDriver.Native.OSX.Input | |
| namespace OpenTabletDriver.Native.MacOS.Input |
267e164 to
7ba824f
Compare
7ba824f to
fd7daf4
Compare
gonX
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going to assume this is working, since merging removes the need from having to forward-port the backport.
Finishing #2371
Fix #2871, Fix #2291
Dedicated artist mode seems unnecessary for macOS as it does not change the behaviour like Windows Ink.
The tilt functionality has not been tested with a real device, so the scale normalisation may differ from that of the official driver.