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? > > > >
_______________________________________________ [email protected]: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.x.org/mailman/listinfo/xorg Your subscription address: %(user_address)s
