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 tablet support #516

Open
dsizzle opened this issue May 6, 2023 · 10 comments
Open

Add tablet support #516

dsizzle opened this issue May 6, 2023 · 10 comments

Comments

@dsizzle
Copy link
Collaborator

dsizzle commented May 6, 2023

ArtPaint would be fancier with support for graphics tablets.

@humdingerb
Copy link
Member

Indeed. Do you have the hardware? If not, should we see if people would like to donate hardware or money?
I only have a 20+ years old wacom tablet, but I can test pressure sensitivity.
Do you already have a plan what and how to support tablets. I hear more expensive/newer tablets also have pen-angle detection. Or do you start with pressure-detection for starters?

And GUI-wise? maybe a little checkbox to the right of every slider option with a little pen icon beside it? If checked, use it as pressure-input.

Just commenting anything that tumbles into my head here... :)

@dsizzle
Copy link
Collaborator Author

dsizzle commented May 6, 2023

I have a Wacom Intuos 5 Touch here (sitting in a desk drawer) but I have never attempted to connect it to Haiku. In fact right now I'm only running Haiku on a VM; I should pull out my old laptop and fire up real Haiku on it when I attempt this.

I have no plan, really. I figured I could look at WB to see how it gets tablet info as a start.

The little pen icon thing next to every single slider seems messy no?

@humdingerb
Copy link
Member

The little pen icon thing next to every single slider seems messy no?

Maybe. Had a look at Wonderbrush, and it also doesn't have an icon, just a little checkbox with a tooltip. Maybe that's enough really...

@dsizzle
Copy link
Collaborator Author

dsizzle commented May 6, 2023

Looks like this tablet has both pressure sensitivity and angle detection, as well as some user-definable keys and widgets.

@humdingerb
Copy link
Member

Luxury!! :)
Having two "special" inputs might be interesting GUI wise...

@PeteCA
Copy link
Contributor

PeteCA commented May 6, 2023 via email

@humdingerb
Copy link
Member

humdingerb commented May 7, 2023

One idea for the GUI part:
One button with B_TOGGLE_BEHAVIOR to the right of all sliders.

  • Use the character "🖍" as label when the slider isn't controlled by the tablet:
    tablet

  • First click, use "↓" as label for pressure control:
    pressure

  • Second click, use "∠" as label for tilt control:
    tilt

  • Third click goes back to "diabled ("🖍").

If there's no tablet, either disable or hide the button in the layout. Maybe the buttons could be smaller still...

@PeteCA
Copy link
Contributor

PeteCA commented May 8, 2023 via email

@PeteCA
Copy link
Contributor

PeteCA commented May 8, 2023 via email

@humdingerb
Copy link
Member

Exactly. Just one button at each slider where you set what tablet feature it is controlled by.
Instead of a button, a pop-up menu may work, too. Especially if there may be more modes than pressure & tilt.
[Aside: Since I've been meddling with my MIDI controller lately, I have this crazy idea to use its 8 knobs to control sliders in ArtPaint, e.g. control CMYKA colours and brush settings. Even cooler if it were possible while painting... :) ]

Anyway, this pop-up menu would show the small symbols when closed (∠, ↓, etc.) and and a longer text when the menu is open:

    • no pen control
  • ↓ - pen pressure
  • ∠ - pen tilt

The advantage of the BButton is that it can be made smaller and even SetFlat() to make it even more conspicuous.

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

No branches or pull requests

3 participants