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 12/2014: ANONYM & SICHER

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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...