[Pkg-utopia-maintainers] Bug#547001: hal: Trackballs not described in fdi files, so do not workwith X

ael law_ence.dev at ntlworld.com
Wed Sep 16 19:32:53 UTC 2009


Package: hal
Version: 0.5.13-3
Severity: normal
Tags: patch


The recent xorg-xserver releases would not work on any of my machines, all of which
use various Logitech trackballs. The following fdi file in /etc/hal/fdi/policy/
fixed the problem:

---------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->

<deviceinfo version="0.2">

<!-- Logitech Marble Mouse USB, PN 804377-0000, connected to PS/2 port
                             or PN 810-000767,  connected via USB
-->
  <device>
    <match key="info.product" string="ImExPS/2 Logitech Explorer Mouse">
     <merge key="input.x11_driver" type="string">evdev</merge>
     <merge key="input.x11_options.Protocol" type="string">ExplorerPS/2</merge>
     <merge key="input.x11_options.ButtonMapping" type="string">1 9 3 4 5 6 7 8 2</merge>
     <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
     <merge key="input.x11_options.EmulateWheelButton" type="string">8</merge>
     <merge key="input.x11_options.EmulateWheelTimeout" type="string">300</merge>
     <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
     <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
     <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
    </match>
  </device>

<!-- Logitech Marble Mouse USB, PN 804377-0000, connected via USB
-->
  <device>
    <match key="info.product" string="Logitech USB Trackball">
     <merge key="input.x11_driver" type="string">evdev</merge>
     <merge key="input.x11_options.ButtonMapping" type="string">1 9 3 4 5 6 7 8 2</merge>
     <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
     <merge key="input.x11_options.EmulateWheelButton" type="string">8</merge>
     <merge key="input.x11_options.EmulateWheelTimeout" type="string">300</merge>
     <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
     <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
     <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
    </match>
  </device>

<!-- Logitech Marble FX, PN 804251-0000, PS2
-->
  <device>
    <match key="info.product" string="PS2++ Logitech Mouse">
     <merge key="input.x11_driver" type="string">evdev</merge>
     <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
     <merge key="input.x11_options.EmulateWheelButton" type="string">8</merge>
     <merge key="input.x11_options.EmulateWheelTimeout" type="string">300</merge>
     <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
     <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
     <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
    </match>
  </device>

</deviceinfo>

<!--
Logitech ImPS/2 Logitech Wheel Mouse, PN 804269-0000, Trackman Marble+
works with default settings, so needs no additional options here.

PS/2 Logitech TrackMan, Trackman Marble, PN 804122-0000 also needs
no special parameters (only 3 buttons)
-->
-------------------------------------------------------------------------------------

Button mapping above: 
===================

On the FX, the white buttons are just the usual 1-2-3. The small
red button gives 2-D (ie, X and Y axis scrolling) wheel emulation.

On the other 4 button models, if the buttons are counted physically from the left as 1-2-3-4,
then button 2 is the 2-D wheel emulation, and the corresponding logical functions
are 1-wheel-2-3.

Perhaps the above 2 paragraphs should be comments inside the file as documentation?

The above covers several logitech trackball variants.
(I have no connection with Logitech other than using some of their products.)

I think that this file should be included in hal (or maybe in hal-info) as one of the files
below /usr/share/hal/fdi/policy/ so that these trackballs "just work". Feel free to pass
the file upstream if appropriate.

There are many reports of trouble with trackballs with hal and X on the web, and not all the 
fixes offered seem to work. Above is tested and working with at least 3 different
variants on more than one machine.


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.31-rc8 (PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages hal depends on:
ii  acl                          2.2.48-1    Access control list utilities
ii  adduser                      3.110       add and remove users and groups
ii  consolekit                   0.3.0-4     framework for defining and trackin
ii  dbus                         1.2.16-2    simple interprocess messaging syst
ii  hal-info                     20090716-1  Hardware Abstraction Layer - fdi f
ii  libblkid1                    2.16-3      block device id library
ii  libc6                        2.9-25      GNU C Library: Shared libraries
ii  libdbus-1-3                  1.2.16-2    simple interprocess messaging syst
ii  libdbus-glib-1-2             0.82-1      simple interprocess messaging syst
ii  libexpat1                    2.0.1-4     XML parsing C library - runtime li
ii  libglib2.0-0                 2.20.5-1    The GLib library of C routines
ii  libhal-storage1              0.5.13-3    Hardware Abstraction Layer - share
ii  libhal1                      0.5.13-3    Hardware Abstraction Layer - share
ii  libpolkit2                   0.9-4       library for accessing PolicyKit
ii  libusb-0.1-4                 2:0.1.12-13 userspace USB programming library
ii  lsb-base                     3.2-23      Linux Standard Base 3.2 init scrip
ii  mount                        2.16-3      Tools for mounting and manipulatin
ii  pciutils                     1:3.1.4-1   Linux PCI Utilities
ii  policykit                    0.9-4       framework for managing administrat
ii  udev                         0.141-2     /dev/ and hotplug management daemo
ii  usbutils                     0.86-2      Linux USB utilities

Versions of packages hal recommends:
ii  eject           2.1.5+deb1+cvs20081104-6 ejects CDs and operates CD-Changer
ii  pm-utils        1.2.5-4                  utilities and scripts for power ma

Versions of packages hal suggests:
pn  gnome-device-manager          <none>     (no description available)

-- no debconf information





More information about the Pkg-utopia-maintainers mailing list