Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a configuration or app that will enable Sticky-keys like functionality for a pointer button under X11? (On Ubuntu 9.10, FWIW.) To be clear, I'd like a single tap (down/up events) to be treated as a down event, and a following tap to be treated as an up event.

Context: I have a trackball with a fourth button that I've mapped to act as horizontal/vertical scroll. This works great. It'd be even better if I didn't have to hold the button down when scrolling.

share|improve this question
up vote 3 down vote accepted

As it turns out, there's currently no way to implement this functionality due to limitations in the evdev input driver as included in Ubuntu 10.04 (Lucid).

In principle, the idea would be to set the "EmulateWheelButton" option and related wheel emulation options, as well as the "DragLockButtons" option to make the wheel emulation button have drag-lock behavior. Digging into the evdev source reveals that the wheel emulation code and the drag-lock code are currently mutually exclusive -- either the event is handled and dispatched by wheel emulation, or it's handled by the drag-lock code, but not both.

The relevant xorg.conf.d snippet for the configuration without drag-lock for a Logitech TrackMan FX is:

Section "InputClass"
        Identifier "Logitech TrackMan scroll button support"
        MatchIsPointer "on"
        MatchProduct "PS2++ Logitech TrackMan"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "EmulateWheel" "1"
        Option "EmulateWheelButton" "8"
        Option "XAxisMapping" "6 7"
        Option "YAxisMapping" "4 5"
        Option "EmulateWheelTimeout" "0"
        Option "Emulate3Buttons" "0"
share|improve this answer

You can try with imwheel.

See also the Many Buttons Mouse Howto in Ubuntu Community Documentation.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .