Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

2 Answers 2

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"
EndSection
share|improve this answer

You can try with imwheel.

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.