Allein auf weiter Flur

Leider gibt es nur wenige Applikationen, die den vierten und fünften Maus-Button berücksichtigen. Zu den rühmlichen Ausnahmen zählen zum Beispiel StarOffice und das KDE-Terminalfenster kvt: Das Drehen des Rades hat hier die gleiche Wirkung wie das gemeinsame Drücken der Umschalt- und der Bild-rauf- bzw. Bild-runter-Taste.

Anderen Applikationen kann man diese Fähigkeiten aber beibringen. Unter [2] finden sich Patches für Konfigurations- oder Quellcodedateien einiger Programme. Als Beispiel sei hier der Netscape-Patch (Listing 3) gezeigt. Man kann diesen entweder global in der Netscape-Konfigurationsdatei Netscape.ad (Suchen Sie mit dem Befehl locate danach!) oder für jeden Benutzer einzeln in die Datei ~/.Xdefaults eintragen (empfohlen!). Das Format ist recht einfach:

Sondertaste<Button_X_Aktion>: Kommando

Die Backslashs "\" verbinden mehrere Zeilen zu einer einzigen Zeile, während die Kombination \n eine neue Zeile markiert.

Listing 3

Der Netscape-Patch

Netscape*drawingArea.translations:  #replace    \
  <Btn1Down>: ArmLink()   \n\
  <Btn2Down>: ArmLink()   \n\
  ~Shift<Btn1Up>: ActivateLink()  \n\
  ~Shift<Btn2Up>: ActivateLink(new-window)  \
                                  DisarmLink()  \n\
  Shift<Btn1Up>: ActivateLink(save-only)  \
                                  DisarmLink()  \n\
  Shift<Btn2Up>: ActivateLink(save-only)  \
                                  DisarmLink()  \n\
  <Btn1Motion>: DisarmLinkIfMoved()  \n\
  <Btn2Motion>: DisarmLinkIfMoved()  \n\
  <Btn3Motion>: DisarmLinkIfMoved()  \n\
  <Motion>: DescribeLink()  \n\
  <Btn3Down>: xfeDoPopup()  \n\
  <Btn3Up>: ActivatePopup() \n\
  Ctrl<Btn4Down>: PageUp()\n\
  Ctrl<Btn5Down>: PageDown()\n\
  Shift<Btn4Down>: LineUp()\n\
  Shift<Btn5Down>: LineDown()\n\
  None<Btn4Down>: LineUp()LineUp()LineUp()\
                  LineUp()LineUp()LineUp()\n\
    None<Btn5Down>: LineDown()LineDown()\
         LineDown()LineDown()LineDown()LineDown()\n\
  Alt<Btn4Down>: xfeDoCommand(forward)\n\
    Alt<Btn5Down>: xfeDoCommand(back)\n
Netscape*globalNonTextTranslations: #override\n\
  Shift<Btn4Down>: LineUp()\n\
  Shift<Btn5Down>: LineDown()\n\
  None<Btn4Down>: LineUp()LineUp()LineUp()\
                        LineUp()LineUp()LineUp()\n\
  None<Btn5Down>: LineDown()LineDown()LineDown()\
                      LineDown()LineDown()LineDown()\n\
  Alt<Btn4Down>: xfeDoCommand(forward)\n\
  Alt<Btn5Down>: xfeDoCommand(back)\n

Nun ist das manuelle Korrigieren von Dutzenden oft gebrauchter Programme keine zufrieden stellende Lösung. Alle, die das Kompilieren und Installieren eines neuen Programms nicht scheuen, sollten deshalb IMWheel benutzen. IMWheel ist ein Programm, welches die Konvertierung der Maus-Buttons 4 und 5 auf beliebige Tastenkombinationen übernimmt. Der Kasten "Installation von IMWheel" hilft über die Installationshürden hinweg.

Installation von IMWheel

IMWheel wurde von Jonathan Atkins geschrieben und kann von [3] entweder als tar- oder RPM-Paket herunter geladen werden. Das Programm steht unter der GPL und ist aktuell in der Version 0.9.6 erhältlich. Das Paket enthält nicht nur die Quellen für IMWheel selbst, sondern auch Patches für die Bibliothek libgpm und das Programm gpm. Für die Logitech Cordless Wheel Mouse sind diese beiden Änderungen jedoch nicht zu gebrauchen und führen zum Beispiel im Falle einer Suse-6.2-Distribution zu einer Fehlermeldung beim Start des Midnight Commanders:

mc: error in loading shared libraries:
    /usr/lib/libgpm.so.1: undefined symbol: stdscr

Ich empfehle deshalb den Download des Pakets imwheel-0.9.6-nogpm.tar.gz von [4]. Nach dem Download entpackt man den Tarball mit

tar xfz imwheel-0.9.6-nogpm.tar.gz

ins Verzeichnis imwheel. Beim Studium der Dokumentation merkt man, dass es am Makefile kaum noch etwas zu verändern gibt, das Installationsverzeichnis INSTALLDIR ist mit /usr/local/bin gut gewählt. Nach einem make sieht die Installation als root wie folgt aus:

Matrix:/tmp/imwheel # make && make install
ls: gpm-imwheel: No such file or directory
install -m 755 -s imwheel /usr/local/bin
Shall I setuid root the imwheel executable [N/y]?N
## This should be OK...if you have not altered the Makefile! ;)
## /tmp is the best place for the pidfile this way.
##  That's the way it is now.
+ install -m 644 -o root imwheelrc /etc/imwheelrc
+ install -m 644 imwheelrc /root/.imwheelrc
install -m 644 imwheel.1 /usr/local/man/man1/imwheel.1

Die Frage, ob imwheel setuid root installiert werden soll, kann mit N beantwortet werden, da dies nur für das Abschießen eines anderen laufenden imwheels beim Starten des Programms nötig ist. Allerdings wird dies nur dann von imwheel ausgeführt, wenn ihm die Option --wheel-fifo (siehe ImWheel-Manpage) mitgegeben wird. Diese Option ist aber nicht für die Logitech-Wheel-Mäuse gedacht, sondern für die Microsoft Intellimouse Wheel. IMWheel muss nun bei jedem X-Server-Start geladen werden. Dies erreicht man durch den Eintrag /usr/local/bin/imwheel am Ende der Datei ~/.xinitrc (bzw. ~/.xsession bei grafischem Login).

Konfiguration des Konfigurierers

IMWheel wird global über die Datei /etc/imwheelrc gesteuert; eine persönliche Konfiguration für einzelne Benutzer ist über die Datei ~/.imwheelrc möglich. Dieses File besteht aus einzelnen Sektionen, die wie folgt aufgebaut sind:

<Fensteridentifikation><Tasten-Aktion (Eingabe)>, <Maus-Aktion (Eingabe)>, \ <Tasten-Aktion (Ausgabe)>, <weitere Optionen>

Zur Fensteridentifikation kann man den Fenstertitel, -Klassen- oder -Ressourcennamen benutzen. Zusätzlich darf man das Jokerzeichen .* im Namen heran ziehen.

<Tasten-Aktion (Eingabe)> und <Tasten-Aktion (Ausgabe)> bestehen aus X-KeySyms, wobei mehrere KeySyms durch das Pipe-Symbol "" zu einer UND-Verknüpfung werden. Zusätzlich gibt es das Schlüsselwort None, was "keine Taste gedrückt" bedeutet.

Bei Maus-Aktion (Eingabe) haben Sie die Wahl zwischen Up (nach Vorn drehen) und Down (nach Hinten drehen). Das heißt: Dreht sich das Rad, dann sucht imwheel nach einem Konfigurationseintrag für das aktuelle Fenster. Die zum Zeitpunkt der Rad-Bewegung gedrückten Tasten und die Richtung des Rades werden mit den Einträgen verglichen, und wenn es eine Übereinstimmung gibt, wird <Tasten-Aktion (Ausgabe)> an das Fenster geschickt. Existieren mehrere Einträge, die auf das aktuelle Fenster angewandt werden können, dann wird der erste gefundene Eintrag benutzt.

Falls kein Eintrag für das Fenster existiert, greift der generische Eintrag .* am Ende der Konfigurationsdatei. Dieser soll bewirken, dass sich die meisten Applikationen bei Rad-Bewegungen gleich verhalten und sich nach Möglichkeit immer der Scrollbalken bewegen lässt. Soll imwheel ein Fenster ignorieren, dann benutzt man das imwheelrc-Kommando @Exclude. Weitere Konfigurationsmöglichkeiten sind in der imwheel-Manpage beschrieben. Listing 4 zeigt einige praktische Beispiele aus meiner imwheelrc.

Listing 4

Beispiel für eine imwheelrc

# XMMS - Mausrad bedient die Playlist
"xmms"
None,           Up,     Z
None,           Down,   B
# Normales Verhalten von kvt wiederherstellen:
# Rad Hoch|Runter = Umschalt+Shift+Hoch|Runter
# Ohne diesen Eintrag wird der generische Eintrag benutzt
# und dieser scrollt  nicht im Fenster, sondern sendet
# Cursorbewegungen!
"kvt"
None,           Up,     Shift_L|Page_Up
None,           Down,   Shift_L|Page_Down
# KMail : Rad bewegt Scrollbar in der Mail
#         Shift_Links + Rad scrollt im Mailindex
"kmail"
None,           Up,     Page_Up
None,           Down,   Page_Down
Shift_L,        Up,     Left
Shift_L,        Down,   Right

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...