Mouse buttons emulation is weird
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-
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.
Changed in onboard: | |
status: | Fix Committed → Fix Released |
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 timeout_ add(20, self._cb_ click_timer)
$ in line 49: self.click_timer = gobject.
- 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)