Some kind of feedback for touchscreen press event abs coords required for user
Hello, everyone! I appreciate some help with the task described below:
I have not quite good hardware design (touchscreen under ~10mm of anti-vandal glass) and I don't have opportunity to somehow change that in my current position. The problem is inaccuracy in touch screen events in terms of point where user pressed on glass.
I'm using Linux kernel 6.1 with USB HID multitouch (actually it's 1 point controller but with possibility of pinch gesture detection) driver for ZXY100 controller and Weston 10.
After tinkering on source code and issues I didn't found some general solution to give user feedback about touch event pressing point. Is there a possibility to, on the minima, just redraw cursor on the single tap touch event or to draw some circles on touch points in the compositor level? I would appreciate any kind of advice to resolve this task with minimal code changes and with some high-level guidance I would be glad to send MRs.
There's more frequent requests of reversed behavior (e.g. do not show cursor or any other feedback for touchscreen): #628 !345 (closed)
Thanks!
UPD: I was able to achieve something similar to what I want adding:
struct weston_pointer *pointer = weston_seat_get_pointer(seat);
if (pointer) {
struct weston_pointer_motion_event ev;
ev.mask = WESTON_POINTER_MOTION_ABS;
ev.x = x;
ev.y = y;
weston_pointer_move(pointer, &ev);
}
at the end of WL_EXPORT void notify_touch_normalized(...)
(+some hardcoding for cursor init in touch device)
Now cursor is changing position in response to pressing the touchscreen. But I hardly doubt that adding "no-hide-cursor-for-touch" config option is acceptable solution