Unable to get events from my touchscreen in Weston using libinput

Aurelien Bouin a_bouin at yahoo.fr
Tue Sep 30 03:57:31 PDT 2014


Thank you for your answer !!
It was exactly that ! The only way I had to understand what was wrong with the touch was to add weston_log into src/input.c ...
I feel like weston-calibrator is not really usefull ...

What I actually did to solve my problem was to add a rule to udev into /etc/udev/rules.d with this kind of datas inside :
ATTRS{name}=="ADS7846 Touchscreen", ENV{WL_CALIBRATION}="-0.211380 -0.007522 1739.4189 -0.000290 0.143116 -632.012695"

I manually computed thoses 6 datas with the /etc/pointercal generated by tslib ...
FYI =>
Supposing in /etc/pointercal you have those 9 variables :
a b c d e f g h i
Then the 6 variables to set are ENV{WL_CALIBRATION}="a/g b/g c/g d/g e/g f/g"

Hope it will help someone...

Now I am trying to make GTK+3 working with touchscreen with wayland backend since it has not been supported in the 3.12 ...

Thank you again for the time !

Aurelien BOUIN

Le Mardi 30 septembre 2014 12h24, Pekka Paalanen <ppaalanen at gmail.com> a écrit :

On Wed, 24 Sep 2014 16:59:44 +0100

Aurelien Bouin <a_bouin at yahoo.fr> wrote:

> Hello,
> I am using weston-1.6.0 with wayland-1.6.0 libinput-0.6.0 compiled for ARM with yocto
> When I start weston I can see that the touch is detected in the logs : 
> """[13:28:20.166] input device 'ADS7846 Touchscreen', /dev/input/event0 is a touch device """
> Here is the complete log : http://pastebin.com/raw.php?i=dHjWSH16
> But I am unable to get a launcher launch ... or weston-calibrator do not detect a touch ...
> What is wierd though is that when weston goes to screensaver ... when I touch the screen it wakes up ... 
> I can see event with event-debug the tools of libinput ...
> I tried export WAYLAND_DEBUG=1 ... I am sure that debug is enable since there is a bunch of messages at start up ... but i get nothing on touch event ... when I plug a mouse then I get event when the mouse is moving ...
> Where should I look to ?


maybe the coordinates are somehow completely off... you could try
adding weston_log() in src/input.c notify_touch() to print the
coordinates (use e.g. wl_fixed_to_int()).

If the coordinates do not hit any surface, you won't see them in the
protocol debug either.


More information about the wayland-devel mailing list