// you’re reading...

Linux

Scrollen mit dem Trackpoint

Einige Notebooks besitzen einen Trackpoint und drei Maustasten dazu. Während Touchpads in der Regel einen Bereich haben, der dem vertikalen Scrollen dient, fehlt dies bei Trackpoints. Mit den richtigen Einstellungen kann man aber auch mit den Trackpoint scrollen, indem man die mittlere Maustaste drückt und den Trackpoint bewegt.

Die dafür zuständigen Optionen sind EmulateWheel und EmulateWheelButton. Um diese für den Trackpoint zu ändern, benötigt man seinen Namen oder seine Device-ID. Der Name ist je nach Hardware unterschiedlich, bei meinem Dell Latitude E6400 heißt er DualPoint Stick. Herausfinden kann man ihn mit xinput:

$ xinput list | grep "DualPoint Stick"
"DualPoint Stick" id=4 [XExtensionPointer]

Die bereits gesetzten Optionen kann man sich ebenfalls anzeigen lassen:

$ xinput list-props "DualPoint Stick"
Device 'DualPoint Stick':
Device Enabled:        1
Middle Button Emulation:        2
Middle Button Timeout:        50
Wheel Emulation Inertia:        10
Wheel Emulation:        0
Wheel Emulation X Axis:        0, 0
Wheel Emulation Y Axis:        4, 5
Wheel Emulation Timeout:        200
Wheel Emulation Button:        2
Drag Lock Buttons:        0

Um die Scrollfunktion für die aktuelle Sitzung zu aktivieren, reichen die Befehle
$ xinput set-int-prop "DualPoint Stick" "Wheel Emulation" 8 1
$ xinput set-int-prop "DualPoint Stick" "Wheel Emulation Button" 8 2

Ersteres aktiviert die Scrollfunktion, zweiteres setzt die Taste, mit der das Scrollen ausgelöst wird. Da der Wheel Emulation Timeout standardmäßig auf 200ms gesetzt ist (siehe oben), muss man auch nicht auf die Paste-Funktion der mittleren Maustaste verzichten. Drückt man die Taste kurz, wird ein normaler Mittelklick ausgelöst. Drückt man sie länger, kann man scrollen. Den Timeout kann man natürlich auf dieselbe Weise anpassen.

Sollen diese Einstellungen dauerhaft gesetzt werden, kann man dies über HAL erreichen. Dazu erstellt man z.B. in /usr/share/hal/fdi/policy/20thirdparty eine Datei mit folgendem Inhalt:

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

<deviceinfo version="0.2">

<device>
<match key="info.capabilities" contains="input">
<match key="info.product" contains="DualPoint Stick">
<merge key="input.x11_options.EmulateWheel" type="string">true</merge>
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
</match>
</match>
</device>

</deviceinfo>

Ähnliche Beiträge

Discussion

7 Kommentare zu “Scrollen mit dem Trackpoint”

  1. Hallo,

    Zunächst vielen Dank für diesen Trick. Ist wirklich ein tolles Feature. Allerdings bleibt bei meinem Dell Latitude E6400 ein Problem:

    Nach einem Suspend to RAM funktioniert das Ganze gar nicht mehr. Muss man da sicher diese beiden Zeilen

    $ xinput set-int-prop “DualPoint Stick” “Wheel Emulation” 8 1
    $ xinput set-int-prop “DualPoint Stick” “Wheel Emulation Button” 8 2

    beim Aufwachprozess mit einfügen, oder? Wollte nur einmal fragen, wäre der Vollständigkeit halber hier im Artikel doch sicher gut aufgehoben.

    MfG, Sebastian

    Posted by Sebastian | 07.12.08, 11:13
  2. Hallo Sebastian!
    Kann es sein, dass der Trackpoint nach dem Resumen nicht mehr korrekt erkannt wird? Mir passiert das ab und zu im Betrieb, wenn das Touchpad die Synchronisation verliert.

    Im Kernellog sieht das dann so aus:
    [ 2774.722696] psmouse.c: DualPoint TouchPad at isa0060/serio1/input0 lost sync at byte 1
    [ 2774.722702] psmouse.c: issuing reconnect request
    [ 2775.955903] input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input14

    Da werden Touchpad und -stick nur als “Generic Mouse” erkannt, wo die HAL-Regel natürlich nicht greift. Ein “sudo rmmod psmouse && sudo modprobe psmouse” hilft in dem Fall. Ein Fix für das Problem ist mir leider nicht bekannt.

    Gruß, Kai

    Posted by Kai | 07.12.08, 12:09
  3. Ja stimmt wohl, habe es auch gerade gemerkt, dass es nicht unbedingt mit dem Suspend zusammen hängt. Danke für den Hinweis, dann werde ich das bei Gelegenheit bei Launchpad recherchieren und ggf. selber posten. Danke für den Hinweis.

    Posted by Sebastian | 07.12.08, 12:43
  4. Hallo!

    Bei mir funktionierte es temorär mit

    $ xinput set-int-prop “DualPoint Stick” “Evdev Wheel Emulation” 8 1
    $ xinput set-int-prop “DualPoint Stick” “Evdev Wheel Emulation Button” 8 2

    Die permamente Einstellungen gingen wie beschrieben.

    Wäre jetzt nur nett zu wissen, *wieso* das funktioniert und wie der Syntax ist um andere Einstellungen für den Trackpoint (permament) zu setzten (bzw. erstmal was man überhaupt alles einstellen kann)

    Grüße
    Paul

    Posted by Paul | 18.05.09, 09:47
  5. Bei mir (Thinkpad T400 mit Kubuntu 9.04) ist es wie bei Paul, ich muss ein “Evdev” eifügen, damit es funktioniert. Die permanente Lösung klappt nicht.

    Allerdings frage ich mich auch was das “Dazu erstellt man z.B. in /usr/share/hal/fdi/policy/20thirdparty eine Datei” bedeutet. “z.B.”? Also kann es auch woanders sein? Und der Name ist egal?

    Posted by Jan | 31.05.09, 22:58
  6. Vielen Dank für die Anleitung.
    Die permamente Lösung werde ich beim nächsten Neustart testen :)

    @Jan: die Datei sollte wohl schon in das genannte Verzeichnis Ordner und vermutilich auf .fdi enden.
    Z.B.
    # vim /usr/share/hal/fdi/policy/20thirdparty/30-activate-Trackpoint-scroll.fdi
    (siehe auch Link auf meine Seite)

    Posted by gaua | 29.09.09, 10:35
  7. [...] 1: Jemand im ubuntuusers Forum hat mich daraufhingewiesen, dass hier eine Möglicheit beschrieben ist, wie man das Scrollen aktivieren kann. Danke an cdEWoozy. [...]

    Posted by Tridex » Blog Archive » Ubuntu auf Dell Latitude E6400 - IT und anderes | 24.03.11, 18:40

Kommentieren

Neueste Kommentare