[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg
Subject:    Re: eGalaxTouch EXC7200 touch click problem
From:       Maarten Vergouwe <mvergouwe () telenet ! be>
Date:       2013-11-22 14:26:57
Message-ID: CAFhwj5kJBSCX43uKgFsig+M5rkfbwW21h6OQjqgUYE3w9fUP5A () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


I actually "worked around" the problem.
I've written a little daemon that grabs the kernel event driver and creates
a new input driver (via uinput) with the same capabilities.
In the daemon, I simply forward all events coming from the original driver
to the user driver, but when a BTN_TOUCH event is received I add a small
sleep (currently the minimum sleep I need is 85 ms - which is not so small
actually). This way there's no lockup in events (in fact I measure it in
the javascript events in Chromium, which is the real use case) and
everything goes fine.

Next up is looking at evdev why BTN_TOUCH in my situation behaves
differently from BTN_LEFT coming from a mouse (no problem there).

Hi
>
> I'm having a hard time with the following problem concerning an
> eGalaxTouch device.
> At first sight, everything seems to be working fine using the evdev driver
> with libmtdev. I have no problem with pinch/zoom etc. But after a short
> time Xserver emits button-press events immediately after button-release,
> even when you do a simple single tap.
> So tapping once on the screen results in "button-press" - "button-release"
> - "button-press". This makes any application behave strangely or it even
> gets stuck.
>
> I've written a simple test application printing the "ButtonPress" and
> "ButtonRelease" events coming from the X server (looping over XNextEvent)
> and the problem is evident. I can get X to behave correctly again by
> clicking a normal mouse. But using the touchscreen will almost immediately
> get it in the wrong state again.
>
> mtdev-test from libmtdev shows no problems at all and evtest also not, so
> I'm pretty sure it's a problem in X or evdev_drv (I didn't find a way to
> hook onto evdev yet). Both evtest and mtdev-test nicely emit button-press
> and button-release without extra events.
>
> Perhaps a similar issue was reported last year, but I don't know if there
> was any follow-up:
> http://lists.x.org/archives/xorg-devel/2012-October/034047.html
>
> Can someone share some insight, please?
>
>
>
>

[Attachment #5 (text/html)]

<div dir="ltr"><div class="gmail_extra">I actually &quot;worked around&quot; the \
problem.</div><div class="gmail_extra">I&#39;ve written a little daemon that grabs \
the kernel event driver and creates a new input driver (via uinput) with the same \
capabilities.</div> <div class="gmail_extra">In the daemon, I simply forward all \
events coming from the original driver to the user driver, but when a BTN_TOUCH event \
is received I add a small sleep (currently the minimum sleep I need is 85 ms - which \
is not so small actually). This way there&#39;s no lockup in events (in fact I \
measure it in the javascript events in Chromium, which is the real use case) and \
everything goes fine.</div> <div class="gmail_extra"><br></div><div \
class="gmail_extra">Next up is looking at evdev why BTN_TOUCH in my situation behaves \
differently from BTN_LEFT coming from a mouse (no problem there).<br><div \
class="gmail_quote"><br> <blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div \
class="h5"><div dir="ltr"><div class="gmail_quote"><div \
dir="ltr">Hi<div><br></div><div>I&#39;m having a hard time with the following problem \
concerning an eGalaxTouch device.</div> <div>At first sight, everything seems to be \
working fine using the evdev driver with libmtdev. I have no problem with pinch/zoom \
etc. But after a short time Xserver emits button-press events immediately after \
button-release, even when you do a simple single tap.</div>


<div>So tapping once on the screen results in &quot;button-press&quot; - \
&quot;button-release&quot; - &quot;button-press&quot;. This makes any application \
behave strangely or it even gets stuck.</div><div><br></div><div>

I&#39;ve written a simple test application printing the &quot;ButtonPress&quot; and \
&quot;ButtonRelease&quot; events coming from the X server (looping over XNextEvent) \
and the problem is evident. I can get X to behave correctly again by clicking a \
normal mouse. But using the touchscreen will almost immediately get it in the wrong \
state again.</div>


<div><br></div><div>mtdev-test from libmtdev shows no problems at all and evtest also \
not, so I&#39;m pretty sure it&#39;s a problem in X or evdev_drv (I didn&#39;t find a \
way to hook onto evdev yet). Both evtest and mtdev-test nicely emit button-press and \
button-release without extra events.<br>


<br>Perhaps a similar issue was reported last year, but I don&#39;t know if there was \
any follow-up: <a href="http://lists.x.org/archives/xorg-devel/2012-October/034047.html" \
target="_blank">http://lists.x.org/archives/xorg-devel/2012-October/034047.html</a></div>



<div><br></div><div>Can someone share some insight, \
please?</div><div><br></div><div><br></div></div> </div><br></div>
</div></div></blockquote></div><br></div></div>



_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: %(user_address)s

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic