Where is the Accessibility mouse click lock?

I've been a user of Linux on the desktop off and on again over the years. I very nearly switched my primary computer to Ubuntu prior to the release of Windows 7. There were a few, but significant issues at the time that prevented wholesale adoption, mostly tethering with my phone and lousy VPN Client.

One key component I could count on was the Accessibility features. I have recently installed Ubuntu 10.10 and am considering giving it another try, but it appears Ubuntu has taken a leap backwards in that it no longer has a click lock feature for the mouse.

Basically I need the ability to press and hold the left button to trigger a locking of the button so I can move the mouse by way of a trackpoint with my prosthesis. I absolutely require this feature and it is a deal breaker if it won't work. I've tried the Dwell keys but this is a chaotic control at best. I've never been able to manage a drag of any kind.


Solution 1:

Have you looked at xte? It's part of the xautomation package.

sudo apt-get install xautomation

It's pretty stable, so you shouldn't need to do any compiling or hacking.

Typing xte "mousedown 1" on a console seems to do what you're looking for. It simulated a click and hold of the first mouse button. The button appears to stay clicked until I click another mouse button.

To make the UI work the way you want, you could add xte "mousedown 1" to a keybinding. When you hit that key, you'll get the click-and-hold you describe.

If you want the click-and-hold behaviour on a mouse click, you could try looking at Compiz. I believe Compiz allows binding commands to mouse button presses.

Solution 2:

I don't have a for sure answer yet, but here's what I've got so far:

The mousetweaks package ought to have what you want. Only, at least in my 10.10 netbook install, it doesn't. I found some documentation, and it looks like there is an additional set of features under the heading mousetweak5. It includes the sort of single click dragging you're talking about. I asked a a question on launchpad to find out more. From all appearances, it isn't implemented. Or possibly was removed. I logged a bug in launchpad against the mousetweak project.

I found an input driver for X called evdev. It's already used by default in Ubuntu 10.04, and you can edit the rules file: /usr/share/X11/xorg.conf.d/10-evdev.conf. I got it working, but it sucks. Basically, you assign one of your buttons as go-into-click-lock-mode. You click it, then click the button you want locked. To unlock, you click the special button, then click the locked button. Anyway, what you do is edit that 10-evdev.conf file to add the line Option "DragLockButtons" "8". Change 8 to whatever mouse button you want to be the special lock mode button. You can find the numbers of your buttons by running xev It's in the last line of output after clicking. See also: http://www.xfree86.org/current/mouse5.html

What I want to see is an intelligent click lock for mice and trackballs like the synaptic driver provides for touchpads. Ie, a click and drag gesture is active until you tap a second time.