First pass at drawing tablet settings page (#2220)

This is a first pass at creating a page dedicated for controlling the
settings of tablet/pen style input devices. It's purpose is to modify
the config file found at
`/home/$USER/.config/cosmic/com.system76.CosmicComp/v1/input_devices`,
so that the Compositor can route incoming input events to the correct
displays and the events don't get discarded. Here's a video showing the
functionality:

<video
src="https://github.com/user-attachments/assets/ffd59291-b610-4109-a3af-04bde7ddab4b"></video>

As this is a first pass at the page, it naturally isn't in a fully
featured state. It only is doing the bare minimum to get tablet input to
not be discarded. There are 2 limitations I'd like to call out with this
current state:
**1)** The settings page will only show settings options for tablet/pen
style input devices that currently plugged in. It doesn't have ability
to allow users to clear out stale config entries for old tablets they
might not be using anymore. They'll need to manually delete the entries
from `input_devices` with a text editor.
**2)** The list of drawing tablets present is calculated once when you
open the settings application and doesn't live reload as devices are
connected or disconnected.

- [X] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [X] I understand these changes in full and will be able to respond to
review comments.
- [X] My change is accurately described in the commit message.
- [X] My contribution is tested and working as described.
- [X] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.

---------

Co-authored-by: Levi Portenier <levi@system76.com>
This commit is contained in:
blakewilliams1 2026-10-07 07:33:35 -07:00 • committed by GitHub
parent 5dcb9fe732
commit 8940ec1af6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 437 additions and 1 deletions

View file

@ -61,6 +61,10 @@ xdg-entry-mouse = Mouse
xdg-entry-mouse-comment = Mouse speed, acceleration, and natural scrolling
xdg-entry-mouse-keywords = COSMIC;Mouse;Acceleration;Scrolling;
xdg-entry-drawing-tablet = Drawing tablet
xdg-entry-drawing-tablet-comment = Display mapping
xdg-entry-drawing-tablet-keywords = COSMIC;Tablet;Drawing;Sensitivity;
xdg-entry-network = Network & Wireless
xdg-entry-network-comment = Manage network connections
xdg-entry-network-keywords = COSMIC;Network;Wireless;WiFi;VPN;
@ -948,6 +952,14 @@ switch-between-windows = Switch between windows
open-application-library = Open Application Library
open-workspaces-view = Open Workspaces Overview
## Input: Tablet
drawing-tablet = Drawing tablet
.no-devices-detected = No drawing tablets or pen devices detected
.map-to-display = Map to display
.not-set = Not Set
.enabled = Enabled
## Time & language
time = Time & language