Skip to content

Trouchscreen pointer doesn't release #4668

@saecki

Description

@saecki

Describe the bug
The touch screen pointer does never release, so input.interact_pos() always stays Some(...).

To Reproduce
Steps to reproduce the behavior:

I can reproduce the behavior described above with the following egui app:

Cargo.toml

[package]
name = "egui_touchscreen_repro"
version = "0.1.0"
edition = "2021"

[dependencies]
egui = { git = "https://github.com/emilk/egui", branch = "master" }
eframe = { git = "https://github.com/emilk/egui", branch = "master" }

main.rs

use eframe::NativeOptions;
use egui::CentralPanel;

fn main() {
    eframe::run_native(
        "touch_screen_test",
        NativeOptions::default(),
        Box::new(|_cc| Ok(Box::new(TouchScreenApp))),
    )
    .expect("error running app");
}

struct TouchScreenApp;

impl eframe::App for TouchScreenApp {
    fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
        CentralPanel::default().show(ctx, |ui| {
            let pos = ui.input(|i| i.pointer.interact_pos());
            let text = format!("{pos:?}");
            ui.label(text);
        });
    }
}

Screenshots
image

Expected behavior
The pointer should be released after the finger leaves the screen.

Desktop (please complete the following information):

  • OS: Fedora 40
  • Device: Lenovo ThinkPad P14s Gen 2a

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions