Stylus/tablet click (ButtonPress) not registering in desktop (CEF) build when device uses absolute positioning — works in Relative mode, in browser, and with physical mouse
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 52/100
Piste de recherche
Commencez par reproduire le problème avec le Flatpak de bureau Graphite et comparez la gestion des entrées basée sur CEF pour les événements de tablette en mode absolu et relatif, en utilisant les détails de l’investigation et #2535 comme contexte. N’inspectez preferences.ron que si nécessaire afin de maintenir disable_ui_acceleration séparé de ce bug ; le travail est considéré comme terminé lorsque les événements ButtonPress et ButtonRelease du stylet en mode absolu fonctionnent dans l’UI et le viewport sans provoquer de régression pour les entrées de la souris ou du mode relatif.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the Bug
On Linux (Flatpak build), a graphics tablet's pen click does not register in the desktop app's CEF-rendered UI or viewport when OpenTabletDriver is configured in Absolute mode (normal tablet-to-screen 1:1 mapping), even though:
- The exact same tablet/pen works correctly in the web version at https://editor.graphite.art/ (in Chromium), also in Absolute mode
- A physical USB mouse clicks normally in the desktop app
xdotool click 1(synthetic XTEST click) also fails to register in the desktop app- Switching OpenTabletDriver to Relative mode makes clicking work correctly in the desktop app — this isolates the bug to something specific about how absolute-positioning tablet devices are handled, since relative mode is otherwise unusable for real drawing (no 1:1 tablet-to-screen mapping)
Cursor motion from the tablet works perfectly in Absolute mode in the desktop app — only button press/release events fail to have any effect while in that mode.
Environment
- OS: Void Linux, X11 (picom compositor, XFCE)
- Graphite: desktop Flatpak build (
art.graphite.Graphite), downloaded ~July 2026 - Tablet driver: OpenTabletDriver 0.6.7 (Flatpak)
- Tablet: Huion H1161
- GPU: AMD (RADV/Mesa)
Steps To Reproduce
- Install OpenTabletDriver via Flatpak, configure tablet in Absolute mode ("Artist Mode" preset) with tip bound to Mouse Button: Left
- Install Graphite via Flatpak
- Launch Graphite desktop app
- Attempt to click/draw with the stylus tip on the canvas or any UI button
- Motion works; the click has no effect
- Switch OpenTabletDriver to Relative mode, click Apply, retest — clicking now works correctly
Investigation so far
xinput test-xi2confirms the pen'sButtonPress/ButtonReleasearrive as genuine X11 core-protocol events from the same device (OpenTabletDriver Virtual Tablet, XI2 id 19) that generates the working motion events — not routed through the XTEST virtual pointer (id 4)udevadm infoconfirms the OTD virtual device is taggedID_INPUT_MOUSE=1libinput list-devicesshows the OTD virtual device'sCapabilities: pointer, but itsDeviceChangedXI2 announcement in Absolute mode includes absolute X/Y valuators plus an XIScrollClass (relative horizontal/vertical scroll valuators) — attributes a plain mouse does not have- A real physical USB mouse (no absolute valuators, no scroll-class) clicks Graphite's UI/canvas without any issue in either mode
xdotool click 1(XTEST-injected click) also fails silently in the desktop app while in Absolute mode- Confirmed: switching the same physical tablet/driver to Relative mode (removing absolute valuators from the device's XI2 announcement) makes clicks work correctly again
This strongly suggests Graphite's CEF-embedded input handling (see #2535, the CEF-based desktop architecture) filters or mis-routes button events specifically from devices that report absolute positioning valuators, rather than a general click-handling bug — since motion, physical mouse clicks, and relative-mode tablet clicks all work fine, and only absolute-mode tablet clicks fail.
Additional Details
- Toggling Preferences → Render GUI on CPU (
disable_ui_accelerationinpreferences.ron) fixed an unrelated issue where the GUI failed to render at all, but did not affect this click bug. - Happy to provide further logs/testing (e.g.
libinput debug-events, CEF verbose logging flags) if useful for triage.
- Langage dominant
- Rust
- Étoiles
- 27.8k
- Forks
- 1.3k
- Merge moyen
- 10 h 53 min
- PR mergées (30 j)
- 195
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de GraphiteEditor/Graphite
-
`third-party-licenses` fails on Windows when the parent process is PowerShellPeut-être pris @sahilshingate01 l’a pris il y a 12 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
GraphiteEditor/Graphite#4745 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Resizing a text box by one edge handle incorrectly locks both Max Width and Max Height, silently clipping textPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
GraphiteEditor/Graphite#4396 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Type hint is selected in node graph viewPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
GraphiteEditor/Graphite#4311 ·
Les mainteneurs répondent en général sous 1 jour
-
`cargo run` fails on WebAssembly target due to `CARGO_BUILD_TARGET` leaking into `rustc_codegen_spirv` buildPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
GraphiteEditor/Graphite#3939 · 2 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 50/100
GraphiteEditor/Graphite#4901 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de GraphiteEditor/Graphite
Issues similaires
-
Perl - Readme DriftPeut-être pris @Omnideth l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
CommunityToolkit/Aspire#2375 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour