Mouse buttons emulation is weird

Bug #731642 reported by umod.47
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Onboard
Fix Released
Undecided
Unassigned

Bug Description

I use onboard in ubuntu 10.10 on asus t101mt. Touchscreen is set up so that it acts like mouse, tapping on the screen instantly moves mouse cursor to that point, produces onMouseDown and then produces onMouseUp when pressure is removed.
I use onboard with full layout that has 2 buttons emulating right and middle button clicks.
The problem is that when I tap on a screen, onboard doesn't receive "onMouseUp" and doesn't restore mouse key mapping until timer ticks out or something "magic" is done. I used to check this behaviour using "xev", and it shows, that right or middle button is being pressed and released several times in different places of "xev" window. But when I press, drag and release, everything works fine. So I often have to tap-drag-and-release to force onboard to restore mapping.

Sometimes this bug appears with ordinary mouse, but it's quite rare. With touchscreen, it's almost certain and sometimes gets very annoying. Another problem is that onboard doesn't show, which button is mapped to left mouse button right now. So I have to wait some seconds before mapping is restored, or guess, which button it is now, by pressing somewhere.

I wanted to write a workaround with a button, that could force restoration of mouse buttons mapping, something like "Left click" button in layout. But this doesn't look like a good decision unless these buttons can be made "sticky" to keep mapping until other key is pressed or onboard is terminated.

I'm not familiar with bugtrackers, so feel free to request any additional information, logs, ets.
Thanks.

Revision history for this message
marmuta (marmuta) wrote :

Thanks for your bug report. Yes, some more information would be helpful. Please post

1) an xev log file of a click, including button press and release event (no drag and drop)
2) /var/log/Xorg.0.log to make it easier to find the touch screen driver

There is one thing you could try to mitigate the problem.

$ gksu gedit /usr/share/pyshared/Onboard/KeyboardGTK.py
$ in line 49: self.click_timer = gobject.timeout_add(20, self._cb_click_timer)
- try to lower the number 20 down to 10, 5, 1, or even 0 (high cpu usage)
- Save and restart onboard
- Report back the highest number that still works reliably for you (if there is one)

Changed in onboard:
status: New → Incomplete
Revision history for this message
marmuta (marmuta) wrote :

I've committed a fix to mitigate the problem. Onboard will be able to detect clicks with shorter delay between press and release now. Please reopen this bug report at any time if this didn't solve your problem.

Changed in onboard:
status: Incomplete → Fix Committed
Revision history for this message
Francesco Fumanti (frafu) wrote :

You can find the new version of Onboard that among others includes this bug fix in my PPA for Ubuntu Natty:
https://launchpad.net/~frafu/+archive/ppa

I am writing this here in case you might want to try the new release.

Changed in onboard:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.