Re: [E-devel] Multi-touch callbacks?
Carsten Haitzler <[email protected]>
| Newsgroups | gmane.comp.window-managers.enlightenment.devel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, 4 Sep 2021 19:18:50 -0500 David Grubb <[email protected]> said: have you tried the elementary gesture layer tests? > I've been using EFL to build applications for a few years now and have been > very pleased with the results the libraries enable. I have a new > requirement to implement pinch-and-zoom so I need to start exploring > multitouch but I'm running into a few issues getting it working. > > I'm testing on my laptop which has a multitouch monitor and can confirm > that the driver is emitting the correct kernel MT protocol events via > evtest. For example, performing a small two finger drag I see two points > reported and updated before release: > > > Event: time 1630799195.877440, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), > value 0 > Event: time 1630799195.877440, type 3 (EV_ABS), code 57 > (ABS_MT_TRACKING_ID), value 2 > Event: time 1630799195.877440, type 3 (EV_ABS), code 53 > (ABS_MT_POSITION_X), value 6621 > Event: time 1630799195.877440, type 3 (EV_ABS), code 54 > (ABS_MT_POSITION_Y), value 3292 > Event: time 1630799195.877440, type 1 (EV_KEY), code 330 (BTN_TOUCH), value > 1 > Event: time 1630799195.877440, type 3 (EV_ABS), code 0 (ABS_X), value 6621 > Event: time 1630799195.877440, type 3 (EV_ABS), code 1 (ABS_Y), value 3292 > Event: time 1630799195.877440, -------------- SYN_REPORT ------------ > Event: time 1630799195.885821, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), > value 1 > Event: time 1630799195.885821, type 3 (EV_ABS), code 57 > (ABS_MT_TRACKING_ID), value 3 > Event: time 1630799195.885821, type 3 (EV_ABS), code 53 > (ABS_MT_POSITION_X), value 5302 > Event: time 1630799195.885821, type 3 (EV_ABS), code 54 > (ABS_MT_POSITION_Y), value 3490 > Event: time 1630799195.885821, -------------- SYN_REPORT ------------ > Event: time 1630799195.943159, type 3 (EV_ABS), code 57 > (ABS_MT_TRACKING_ID), value -1 > Event: time 1630799195.943159, -------------- SYN_REPORT ------------ > Event: time 1630799195.961918, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), > value 0 > Event: time 1630799195.961918, type 3 (EV_ABS), code 57 > (ABS_MT_TRACKING_ID), value -1 > Event: time 1630799195.961918, type 1 (EV_KEY), code 330 (BTN_TOUCH), value > 0 > > Next, I compiled EFL with the flags: disable-tslib, enable-xinput22, and > enable-always-build-examples. I made a few logging additions to the > evas_multi_touch example so it'd print on MULTI_x callbacks, but I'm only > seeing MOUSE_x callbacks. My understanding is that the first touch point > would be reported as a MOUSE_DOWN/MOUSE_MOVE, and the second concurrent > point would be reported as a MULTI_x. Is this correct, and am I missing > something? I'm fairly confident that the driver itself is doing the correct > thing, but I'm a bit unsure about the interaction between EFL and X (N.B., > the context is an OpenGL X window). > > If anybody has any suggestions or a direction they can point me from here > I'd be very grateful. > > Cheers, > Dave. > > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- Carsten Haitzler - [email protected]