Tilt for stylus
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 869
- Forks
- 106
- PR merge metrics
- No merged PRs in 30d
Description
## Requested feature
For several of the tip styles (as well as some potential new ones) it would be nice to have a tilt option for any stylus supporting this. I have a simple proof of concept for the calligraphy brush (where Gtk XTILT and YTILT fit nicely with the existing `feather_def` x and y values, although it could maybe use an offset/multiplier/min/max. Screenshot:

I'll submit it as a pull request eventually, but I need to figure out the best way to implement this in the UI.
(There's also stylus "rotation", but mine doesn't support this channel.)
### Possible drawbacks
Additional data streams could create more latency or performance issues for all users (including those not using a stylus). (Haven't profiled this.) Weird stylus device drivers could create unexpected/undefined behavior. Extra settings could complicate the UI.
### Possible alternatives
N/A
## Use case
Tilt can be useful as a method of shading (by changing the dispersion pattern of airbrush or the shape of the pencil/brush strokes), slightly shifting the tip location for a more natural drawing feeling, or for more exact calligraphy. I believe this is already a feature of commercial Wacom-based drawing software.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file or test is named; begin by locating the existing stylus input handling and the calligraphy brush's feather_def values. Review how GTK XTILT and YTILT could be exposed in the UI, then define completion as usable tilt behavior for supported styluses without disrupting users or existing tip styles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100