How do I emulate a scroll wheel in Ubuntu 10.04?

5

1

I have a Kensington Orbital Optical trackball. This has two buttons and a trackball. I am using Ubuntu 10.04.

I wish to set this up so that when I click and hold the right mouse button (button 3 according to xev) and move the trackball, I get mouse scrolling behaviour.

I accomplished this once in the past with some xorg.conf file mucking, but that was probably a year and a half ago now and due to a recent downgrade, I lost the configuration file and several hours of googling have left me out of luck.

Adding to my unhappiness is that the xorg.conf file itself no longer exists so there appears to be another place which needs configuration. This is a vanilla Ubuntu 10.04 installation that's barely two days old.

What sort of configuration do I need to override evdev's defaults?

The Xorg.0.log file spits out this when I load:

(II) config/udev: Adding input device Kensington      Kensington USB/PS2 Orbit (/dev/input/event5)
(**) Kensington      Kensington USB/PS2 Orbit: Applying InputClass "evdev pointer catchall"
(**) Kensington      Kensington USB/PS2 Orbit: always reports core events
(**) Kensington      Kensington USB/PS2 Orbit: Device: "/dev/input/event5"
(II) Kensington      Kensington USB/PS2 Orbit: Found 3 mouse buttons
(II) Kensington      Kensington USB/PS2 Orbit: Found relative axes
(II) Kensington      Kensington USB/PS2 Orbit: Found x and y relative axes
(II) Kensington      Kensington USB/PS2 Orbit: Configuring as mouse
(**) Kensington      Kensington USB/PS2 Orbit: YAxisMapping: buttons 4 and 5
(**) Kensington      Kensington USB/PS2 Orbit: EmulateWheelButton: 4,     EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "Kensington      Kensington USB/PS2 Orbit"     (type: MOUSE)
(II) Kensington      Kensington USB/PS2 Orbit: initialized for relative axes.

bikesandcode

Posted 2011-05-25T07:55:39.850

Reputation: 375

Answers

2

The solution was xinput for the time being. I have a little script I can run, so for future knowledge, what I was looking for included the following:

  1. Using xev to figure out which button was mapped to which button.
  2. lshal and xinput to gather information on the devices that were plugged in.
  3. xinput to actually set the thing to work the way I wanted. Specifically:

    xinput set-int-prop "Kensington Kensington USB/PS2 Orbit" "Evdev Wheel Emulation Button" 8 3 xinput set-int-prop "Kensington Kensington USB/PS2 Orbit" "Evdev Wheel Emulation" 8 1

Where the 8 doesn't mean a whole lot. The '3' is the button I wanted to map. The '1' is basically the boolean true.

bikesandcode

Posted 2011-05-25T07:55:39.850

Reputation: 375

I am struggling with losing middle-click paste when wheel emulation is enabled. No matter how I configure it, I only seem to be able to get one or the other. – lkraav – 2011-11-13T18:47:02.447