2

I have a Lenovo ThinkCentre 91Z all in one pc with AMD graphics and ILITEK multitouch. I am using ubuntu 12.10 and latest catalyst drivers and it seems to be working ok.

I have a problem similar to the one referenced here http://ubuntuforums.org/archive/index.php/t-2064976.html

I am testing this in browsers (chrome, chromium, firefox, opera) but it happens elsewhere also. When I click around the screen it all seems ok for a few minutes and then the touchscreen mouse click seems to get stuck clicking (holding) some location and clicks anywhere else will actually select some area of screen (like click and drag). This brakes a lot of functionallity, some pages are impossible to scroll afterwards etc.. Everything is resolved if I log out and log in again.

I don't know anyting about the touchscreen configuration/drivers/compatibility so I dont know where to look. Any ideas?

Jorge Castro
  • 71,754
user463555
  • 21
  • 1
  • I have tried to trace this with xinput and firebug. Xinput for the device registers mouse up and down events correctly, but firefox after a while misses one mouseup event and after that it thinks of future clicks as a sequence of up and down events and it stays stuck. The strange thing is it happens in all browsers tested, and they become partially unstuck after clicking with a mouse... – user463555 Nov 14 '12 at 21:26
  • About the same problem happens on my Acer Aspire V5-471PG. – André Staltz Oct 05 '13 at 13:45

1 Answers1

2

I actually made the thread you linked to (http://ubuntuforums.org/archive/index.php/t-2064976.html), and I thought I should share my very, very crude and dirty solution to the problem.

After having this problem for way too long without managing to really fix it, I finally gave up and created a very simple python-script that will monitor all mouse events with xinput and then trigger a new mouse 10 event on every mouse release.

At first I tried to only look for unmatched mouse presses (mouse press after a mouse press), but somehow the bug sometimes seems to appear without that happening, why I instead simply fire a mouse event on every mouse release.

You will also likely have to modify the code a bit so that it listens to the events from your monitor and not the Acer I have (run xinput to find the name). The script also requires that you have xdotool installed (you should be able to get it through apt-get) which is a simple tool for triggering input events.

Anyway, I hope this helps a bit until a real solution can be found :)

#!/usr/bin/env python 
import subprocess 
proc=subprocess.Popen(["xinput","--test", 'Acer T231H'], stdout=subprocess.PIPE) 
while True: 
        line = proc.stdout.readline().split(' ')
        if line[0] == "button" and line[1] == "release":
            subprocess.call(['xdotool', 'mousedown', '10'])