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
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 52/100
Direção de pesquisa
Comece reproduzindo o problema com o Flatpak desktop do Graphite e compare o tratamento de entrada baseado em CEF para eventos de tablet nos modos absoluto e relativo, usando os detalhes da investigação e #2535 como contexto. Inspecione preferences.ron apenas quando necessário para manter disable_ui_acceleration separado deste bug; considera-se concluído quando os eventos ButtonPress e ButtonRelease da caneta no modo absoluto funcionarem na UI e no viewport sem causar regressões na entrada do mouse ou na entrada do modo relativo.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Rust
- Estrelas
- 27.8k
- Forks
- 1.3k
- Merge médio
- 10h 53min
- PRs com merge (30d)
- 195
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de GraphiteEditor/Graphite
-
`third-party-licenses` fails on Windows when the parent process is PowerShellTalvez já em andamento @sahilshingate01 assumiu há 12 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
GraphiteEditor/Graphite#4745 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Resizing a text box by one edge handle incorrectly locks both Max Width and Max Height, silently clipping textTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
GraphiteEditor/Graphite#4396 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Type hint is selected in node graph viewTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
GraphiteEditor/Graphite#4311 ·
Mantenedores costumam responder em até 1 dia
-
`cargo run` fails on WebAssembly target due to `CARGO_BUILD_TARGET` leaking into `rustc_codegen_spirv` buildTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
GraphiteEditor/Graphite#3939 · 2 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 50/100
GraphiteEditor/Graphite#4901 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de GraphiteEditor/Graphite
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 2 dias
-
Android visitors are offered the Linux .deb on cap.so's homepage and download pageTalvez já em andamento @patrickballard assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
CapSoftware/Cap#3677 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
DioxusLabs/blitz#1371 ·
Mantenedores costumam responder em até 1 dia