ltk: opt-in raw touch stream for apps that consume input themselves
Add App::claims_raw_touch(), an opt-in hook that routes the primary finger through the raw on_touch_down/move/up callbacks instead of the built-in single-slot gesture machine. Until now the primary finger was consumed entirely by the widget gesture machine (taps, swipes, presses) and never reached the app, which made it impossible to drive a self-contained input consumer like an embedded WebView or a game canvas from a touchscreen: the widget tree saw the taps, the embedded content never did. With the hook active every finger surfaces verbatim through the raw stream, widget gestures never arm, and per-finger positions are cached in SurfaceState::touch_slots for all slots so wl_touch.up (which carries no coordinates) can still report a release point. The touch module doc and the on_touch_down docs are updated to describe the new contract; the default remains unchanged for every existing app. Pin the transitive dependency ignore to 0.4.23: rust-i18n pulls it via globwalk, 0.4.24+ requires a rustc newer than Debian's 1.85, and its manifest does not declare that MSRV, so a fresh resolution breaks the build on stable.
This commit is contained in:
@@ -43,6 +43,9 @@ rustybuzz = "0.14"
|
||||
image = { version = "=0.25.9", default-features = false, features = ["png", "jpeg", "webp"] }
|
||||
resvg = "0.44"
|
||||
rust-i18n = "3"
|
||||
# Transitive dep of rust-i18n (globwalk → ignore); 0.4.24+ needs a rustc
|
||||
# newer than Debian's 1.85, and its manifest does not declare that MSRV.
|
||||
ignore = "=0.4.23"
|
||||
wayland-protocols = { version = "0.32", features = ["client", "unstable", "staging"] }
|
||||
wayland-egl = "0.32"
|
||||
khronos-egl = { version = "6", features = ["dynamic"] }
|
||||
|
||||
Reference in New Issue
Block a user