feat(wayland): touch, with the first finger standing in for the pointer
The seat's wl_touch was never bound, so a touchscreen could not drive a window at all. Every finger is now reported through onTouchDown, onTouchMove, onTouchUp and onTouchCancel (TouchPoint: the compositor's id and the position in physical pixels). The first finger down also enters the window — Device::focusedWindow and the pointer serial the clipboard needs — presses the left button, moves it and releases it when it lifts, so an application written for a pointer works on a phone as it is.
This commit is contained in:
parent
b16f1e99d5
commit
aed6142cce
5 changed files with 104 additions and 0 deletions
|
|
@ -18,6 +18,13 @@ export namespace Crafter {
|
|||
Vector<float, 2> mouseDelta;
|
||||
};
|
||||
|
||||
// One finger on a touchscreen, in the window's physical pixels; the id is
|
||||
// the compositor's and stays with the finger until it lifts.
|
||||
struct TouchPoint {
|
||||
std::int32_t id;
|
||||
Vector<float, 2> position;
|
||||
};
|
||||
|
||||
struct ScaleData2D {
|
||||
Vector<std::int16_t, 2, 2> position;
|
||||
Vector<std::int16_t, 2, 2> size;
|
||||
|
|
|
|||
Loading…
Reference in a new issue