web: an Apple Pencil counts as touch; treat a stylus as a pen
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, zig
- Ambito
- frontend
Direzione di ricerca
Read web.js and the pointer handling introduced or discussed in #563, then trace how web touch input becomes dvui buttons. Compare the TouchEvent path with the suggested Pointer Events path and check how pen, touch and mouse input are represented. Done means an Apple Pencil is treated as pen input on web, with hover after lifting and mouse-style canvas panning; the issue notes this also requires a dvui-dev commit and repin.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Follow-up from #563, the pointer seam (dvui.pointerKind()).
On the native backend, SDL's pen and mouse touch ids are excluded, so a pen reads as .mouse. On the web, web.js turns every TouchEvent into a dvui touch button. An Apple Pencil on iPad Safari sends TouchEvents with touch.touchType === "stylus", so a pencil counts as .touch there. That's consistent, not flipping, but pixi users drawing with a pencil on the web get touch behaviour: no hover after a lift, and touch-style panning in canvases.
Fix in web.js (dvui's web glue, pinned from dvui-dev):
- Route
touchType === "stylus"touches as mouse/pen input rather than touch buttons. - Or move to Pointer Events and use
pointerType("pen"/"touch"/"mouse"), which also covers Android styluses.
That would make a separate PR, with a dvui-dev commit and a repin.
- Lingua principale
- Zig
- Stelle
- 1.5k
- Fork
- 40
- Merge medio
- 4h 39m
- PR unite (30g)
- 428
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fizzyedit/fizzy
-
replay: bench-replay no longer compiles, and nothing in CI builds itForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
fizzyedit/fizzy#306 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
sdk
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
fizzyedit/fizzy#530 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
fizzyedit/fizzy#529 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
fizzyedit/fizzy#528 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
fizzyedit/fizzy#527 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di fizzyedit/fizzy
Issue simili
-
Sequências em espanhol: «Atualizado em», a aba «Fila» e o valor 'pause' ainda saem em portuguêsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
melgarafael/DeskcommCRM#3104 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug service: webapp
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Ocelot-Social-Community/Ocelot-Social#10684 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
motiondivision/motion#3955 ·
I maintainer di solito rispondono entro 1 giorno