You are not logged in.

#1 2009-09-09 11:12:09

nDray
Member
From: Portugal
Registered: 2007-01-21
Posts: 143
Website

Configure mouse scroll wheel (speed/delta)

Hi everyone.

Posting this is my last resort. I bought a microsoft wireless mobile mouse 4000 whose scroll doesn't "click". It is a smooth scroll, nothing wrong about that.
The thing about the scroll is that I can't configure how many lines I want it to scroll.

This is my current /etc/hal/fdi/policy/10-x11-input.fdi:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>

    <!-- KVM emulates a USB graphics tablet which works in absolute coordinate mode -->
    <match key="input.product" contains="QEMU USB Tablet">
       <merge key="input.x11_driver" type="string">evdev</merge>
    </match>

    <!-- FIXME: Support tablets too. -->
    <match key="info.capabilities" contains="input.mouse">
      <merge key="input.x11_driver" type="string">evdev</merge>
      <merge key="input.x11_options.VertScrollDelta" type="string">500</merge>
    </match>

    <match key="info.capabilities" contains="input.tablet">
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev</merge>
      </match>
    </match>

    <!--    <match key="info.capabilities" contains="input.keys">
      <merge key="input.x11_driver" type="string">keyboard</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev</merge>
    </match>
</match> -->
  </device>
</deviceinfo>

It hast taken many forms before but this is the simplest I'm trying now. Of course the 500 is a failsafe "too much".
Hal seems to have no problem with this configuration, and merges the VertScrollDelta option:

14: udi = '/org/freedesktop/Hal/devices/usb_device_45e_745_noserial_if1_logicaldev_input'
  linux.device_file = '/dev/input/event10'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  info.capabilities = { 'input', 'input.keys', 'input.mouse', 'button', 'access_control' } (string list)
  info.category = 'input'  (string)
  input.device = '/dev/input/event10'  (string)
  input.product = 'Microsoft Microsoft? Nano Transceiver v1.0'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_45e_745_noserial_if1'  (string)
  info.addons.singleton = { 'hald-addon-input' } (string list)
  input.xkb.rules = 'base'  (string)
  input.xkb.model = 'evdev'  (string)
  info.subsystem = 'input'  (string)
  info.product = 'Microsoft Microsoft? Nano Transceiver v1.0'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.1/input/input20/event10'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_45e_745_noserial_if1'  (string)
  input.x11_driver = 'evdev'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_45e_745_noserial_if1_logicaldev_input'  (string)
  input.xkb.variant = ''  (string)
  access_control.file = '/dev/input/event10'  (string)
  access_control.type = 'mouse'  (string)
  input.xkb.layout = 'pt'  (string)
  info.callouts.add = { 'hal-acl-tool --add-device' } (string list)
  info.callouts.remove = { 'hal-acl-tool --remove-device' } (string list)
  input.x11_options.VertScrollDelta = '500'  (string)

But xorg seems to ignore this completely:

(II) config/hal: Adding input device Macintosh mouse button emulation
(II) LoadModule: "evdev"
(II) Loading /usr/lib/xorg/modules/input//evdev_drv.so
(II) Module evdev: vendor="X.Org Foundation"
    compiled for 1.6.3, module version = 2.2.5
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 4.0
(**) Macintosh mouse button emulation: always reports core events
(**) Macintosh mouse button emulation: Device: "/dev/input/event0"
(II) Macintosh mouse button emulation: Found 3 mouse buttons
(II) Macintosh mouse button emulation: Found x and y relative axes
(II) Macintosh mouse button emulation: Configuring as mouse
(**) Macintosh mouse button emulation: YAxisMapping: buttons 4 and 5
(**) Macintosh mouse button emulation: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE)
(**) Macintosh mouse button emulation: (accel) keeping acceleration scheme 1
(**) Macintosh mouse button emulation: (accel) filter chain progression: 2.00
(**) Macintosh mouse button emulation: (accel) filter stage 0: 20.00 ms
(**) Macintosh mouse button emulation: (accel) set acceleration profile 0
(II) Macintosh mouse button emulation: initialized for relative axes.
(II) config/hal: Adding input device Microsoft Microsoft? Nano Transceiver v1.0
(**) Microsoft Microsoft? Nano Transceiver v1.0: always reports core events
(**) Microsoft Microsoft? Nano Transceiver v1.0: Device: "/dev/input/event10"
(II) Microsoft Microsoft? Nano Transceiver v1.0: Found 9 mouse buttons
(II) Microsoft Microsoft? Nano Transceiver v1.0: Found x and y relative axes
(II) Microsoft Microsoft? Nano Transceiver v1.0: Found scroll wheel(s)
(II) Microsoft Microsoft? Nano Transceiver v1.0: Found keys
(II) Microsoft Microsoft? Nano Transceiver v1.0: Configuring as mouse
(II) Microsoft Microsoft? Nano Transceiver v1.0: Configuring as keyboard
(**) Microsoft Microsoft? Nano Transceiver v1.0: YAxisMapping: buttons 4 and 5
(**) Microsoft Microsoft? Nano Transceiver v1.0: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200

I haven't configured EmulateWheelButton anywhere, so how did it get there? And why didn't the VertScrollDelta get there? Does anyone know?
Sometimes through some random rebooting, Windows 7 loading, and disconnecting of the Transceiver I can get the wheel speed to change, but it is either too slow (about 3 lines) or too fast (about 15 lines). I want to set it to around 8 lines.

Offline

Board footer

Powered by FluxBB