Logitech MX1000: Unterschied zwischen den Versionen
Escho (Diskussion | Beiträge) (rpm-Quelle für xbindkeys) |
Escho (Diskussion | Beiträge) (Autostartscript an OpenSuse 11 angepasst) |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
{{Box Test|| | {{Box Test|| | ||
OpenSuse 10.3 (32Bit) <br> | OpenSuse 10.3 (32Bit) <br> | ||
− | OpenSuse 11.0 (32Bit) | + | OpenSuse 11.0 (32Bit) <br> |
+ | OpenSuse 11.1 (32Bit) | ||
}} | }} | ||
− | ==<font color="maroon"> | + | ==<font color="maroon"> Der Weg im Allgemeinen </font>== |
− | + | Bevor wir ins Detail gehen, wollen wir uns erst einmal einen Überblick darüber verschaffen, was notwendig ist, die MX1000 nach unseren Wünschen zu konfigurieren. Nun, diese Lasermaus sollte in jedem Fall vom System so erkannt werden, daß mit ihr gearbeitet werden kann. Wollen wir aber alle Tasten funktionsfähig haben, so ist etwas Handarbeit angesagt. Wieviel Handarbeit das tatsächlich ist, hängt von der installierten Version von OpenSuse ab. | |
− | |||
− | |||
− | |||
− | |||
− | + | Besitzen wir noch OpenSuse 10.3, so ist ein manueller Eingriff in die Konfigurationsdatei des X-Servers nötig (/etc/X11/xorg.conf). Dieser Eingriff ist nicht ganz ungefährlich. Es sollten also die Hinweise im entsprechenden Kapitel dieses Wikis beachtet werden. Und wenn man sich den sicheren Umgang mit der Kommandozeile nicht zutraut, so ist es besser, die Sache bleiben zu lassen und sich erst einmal grundsätzlich mit den Interna von Linux zu beschäftigen. | |
− | + | Ab OpenSuse 11.0 brauchen wir uns keine Sorgen mehr zu machen, wegen eines Tippfehlers bei der Bearbeitung der xorg.conf den X-Server zur Untätigkeit zu verurteilen. Wir brauchen diese Datei nämlich nicht mehr verändern, sondern können mit der automatischen Erkennung der Maus zufrieden sein. | |
+ | |||
+ | Unabhängig von der OpenSuse-Version ist jedoch die Zuordnung der Maustasten zu einem gewünschten Ereignis durchzuführen. Und dazu sind ein paar Tools notwendig, die entweder schon in der Distribution enthalten sind, oder erst noch installiert weren müssen. Hier also eine kurze Zusammenfassung, was diese Tools leisten sollen: | ||
+ | |||
+ | ===lomoco=== | ||
+ | |||
+ | Einschalten von Smart Scroll (sms), wichtig fürs links/rechts-Kippen des Mausrades | ||
+ | |||
+ | ===xbindkeys=== | ||
+ | |||
+ | Zuordnung von Maustasten zu einem von uns gewünschten Ereignis | ||
+ | |||
+ | ===xvkbd=== | ||
+ | |||
+ | Dieses virtuelle Keyboad übersetzt die Anweisungen von xbindkeys, so daß sie vom X-Server auch verstanden werden | ||
+ | |||
+ | ===xev=== | ||
+ | |||
+ | Damit kann nachgesehen werden, welches sogenannte "xevent" das Drücken einer Maustaste auslöst | ||
+ | |||
+ | ===xmodmap=== | ||
+ | |||
+ | Legt die standardmäßig ausgesendeten xevents auf andere xevents um. so kann man sich zum Beispiel eine Maus für Linkshänder bauen. | ||
+ | |||
+ | ==<font color="maroon"> Die Vergangenheit: OpenSuse 10.3 und die Datei /etc/X11/xorg.conf </font>== | ||
+ | |||
+ | Um unter OpenSuse 10.3 die MX1000 zu einer vernünftigen Zusammenarbeit mit dem System zu bewegen, ist es notwendig, die Datei /etc/X11/xorg.conf zu bearbeiten. Dazu muß man Root-Rechte besitzen. | ||
=== Systemverwaltungsmodus === | === Systemverwaltungsmodus === | ||
*Terminal öffnen | *Terminal öffnen | ||
− | + | *Befehl eingeben, um in den Systemverwaltungsmodus zu gelangen | |
− | + | su | |
+ | *Root-Passwort eingeben | ||
+ | |||
+ | === Gefahren beim Arbeiten mit der xorg.conf === | ||
+ | |||
+ | Zum Konfigurieren der Maus ist eine Bearbeitung der Datei xorg.conf notwendig. Änderungen an dieser Datei können dafür sorgen, daß der X-Server nicht mehr startet. | ||
+ | |||
+ | Es wird daher empfohlen, eine Sicherungskopie von xorg.conf zu erstellen. Ebenso sollte der Anwender wissen, wie die Sicherung auch ohne graphischen Bildschirm, also im Terminal, zurückkopiert werden kann. | ||
+ | |||
+ | Vorher Ausprobieren! Das erspart unter Umständen viel Ärger. | ||
=== Bearbeiten von xorg.conf === | === Bearbeiten von xorg.conf === | ||
− | *Terminal | + | *Terminal öffnen |
− | ** | + | *Systemverwaltungsmodus einschalten |
− | + | su | |
− | + | *xorg.conf mit einem Editor (kate) öffnen | |
− | *Systemverwaltungsmodus im Terminal verlassen | + | kate /etc/X11/xorg.conf |
+ | *Nach erfolgten Änderungen die Datei speichern | ||
+ | *Kate beenden | ||
+ | *Systemverwaltungsmodus im Terminal verlassen | ||
+ | exit | ||
*Terminal beenden | *Terminal beenden | ||
*Abmelden | *Abmelden | ||
Zeile 91: | Zeile 127: | ||
**Es wird der evdev-Maustreiber verwendet. Dieser Treiber ist in der Distribution vorhanden. | **Es wird der evdev-Maustreiber verwendet. Dieser Treiber ist in der Distribution vorhanden. | ||
*Option "Name" "Logitech USB R*" | *Option "Name" "Logitech USB R*" | ||
− | **Es ist extrem wichtig, hier den '''richtigen''' internen Namen der Maus anzugeben, sonst startet der X-Server nicht mehr. | + | **Es ist extrem wichtig, hier den '''richtigen''' internen Namen der Maus anzugeben, sonst startet der X-Server nicht mehr. |
Die Firma Logitech® verwendet für die MX1000 verschiedene interne Namen. Um die korrekte Schreibweise zu ermitteln, gibt man in ein | Die Firma Logitech® verwendet für die MX1000 verschiedene interne Namen. Um die korrekte Schreibweise zu ermitteln, gibt man in ein | ||
Terminal folgenden Befehl ein: | Terminal folgenden Befehl ein: | ||
− | + | cat /proc/bus/input/devices | |
− | cat /proc/bus/input/devices | ||
In der erscheinenden Liste sucht man nach irgendetwas, das aussieht wie "Logitech USB Receiver". Das wird dann unter Option "Name" eingetragen, aber exakt so, wie es am Bildchirm steht unter strikter Beachtung der Gross- Kleinschreibung. Wenn man bequem ist, kann man hinter das R des Receiver auch einen Stern machen. Dann ist es egal, wie Receiver geschrieben wird. Hat man | In der erscheinenden Liste sucht man nach irgendetwas, das aussieht wie "Logitech USB Receiver". Das wird dann unter Option "Name" eingetragen, aber exakt so, wie es am Bildchirm steht unter strikter Beachtung der Gross- Kleinschreibung. Wenn man bequem ist, kann man hinter das R des Receiver auch einen Stern machen. Dann ist es egal, wie Receiver geschrieben wird. Hat man | ||
Zeile 122: | Zeile 157: | ||
So, nachdem das alles eingestellt ist, sollte die MX1000 richtig laufen. Der nächste Schritt ist die Konfiguration der Tastenbelegung entsprechend der eigenen Vorstellungen. | So, nachdem das alles eingestellt ist, sollte die MX1000 richtig laufen. Der nächste Schritt ist die Konfiguration der Tastenbelegung entsprechend der eigenen Vorstellungen. | ||
+ | |||
+ | ==<font color="maroon"> Die Gegenwart: OpenSuse 11.0 und 11.1 </font>== | ||
+ | |||
+ | Der X-Server erkennt automatisch die Logitech-Maus und konfiguriert sie so, daß mit ihr gearbeitet werden kann. Es ist keine Veränderung der xorg.conf mehr notwendig! Mehr noch: '''Ich rate ausdrücklich davon ab, ab OpenSuse 11 die xorg.conf zu verändern. Das kann zu einem unkontrollierten Verhalten des Systems führen. Unter Umständen kann es beim Booten hängen gleiben, so daß dann eine "Failsave-Reparatur" nötig wird.''' | ||
==<font color="maroon"> Maustasten und X-Events </font>== | ==<font color="maroon"> Maustasten und X-Events </font>== | ||
− | Drückt man eine Maustaste oder eine Taste auf der Tastatur, so wird ein zugehöriges X-Event ausgelöst. Das ist nichts anderes als eine Nummer, an Hand | + | Drückt man eine Maustaste oder eine Taste auf der Tastatur, so wird ein zugehöriges X-Event ausgelöst. Das ist nichts anderes als eine Nummer, an Hand derer das System erkennt, welche Taste gedrückt wurde. |
− | derer das System erkennt, welche Taste gedrückt | ||
=== xev === | === xev === | ||
− | Zum Ermitteln | + | Zum Ermitteln dieser Events bietet sich das Programm xev an, welches welches zur Standardausstattung von OpenSuse gehört. |
=== X-Events der MX1000 === | === X-Events der MX1000 === | ||
Zeile 218: | Zeile 256: | ||
Wichtig für das weitere Vorhaben sind allein die Events, die durch das Drücken der Tasten hervorgerufen werden. | Wichtig für das weitere Vorhaben sind allein die Events, die durch das Drücken der Tasten hervorgerufen werden. | ||
− | == | + | ===Belegung der Maustasten nach eigenen Wünschen=== |
Es gibt viele Möglichkeiten, die Maustasten sinnvoll zu belegen. Anhand einer dieser Möglichkeiten wird hier aufgezeigt, wie das weitere Vorgehen ist. | Es gibt viele Möglichkeiten, die Maustasten sinnvoll zu belegen. Anhand einer dieser Möglichkeiten wird hier aufgezeigt, wie das weitere Vorgehen ist. | ||
Ist eine andere Belegung gewünscht, müssen nur die nun folgenden Schritte entsprechend angepasst werden. | Ist eine andere Belegung gewünscht, müssen nur die nun folgenden Schritte entsprechend angepasst werden. | ||
− | |||
− | |||
{| class="prettytable" border=1 | {| class="prettytable" border=1 | ||
Zeile 249: | Zeile 285: | ||
|- | |- | ||
| Daumentaste rückwärts | | Daumentaste rückwärts | ||
− | | In Konqueror und Firefox Chronik zurückblättern | + | | In Konqueror, Dolphin und Firefox Chronik zurückblättern |
|- | |- | ||
| Daumentaste vorwärts | | Daumentaste vorwärts | ||
− | | In Konqueror und Firefox Chronik vorblättern | + | | In Konqueror, Dolphin und Firefox Chronik vorblättern |
|- | |- | ||
| Daumentaste mitte | | Daumentaste mitte | ||
− | | Start Firefox | + | | Start Firefox mit diesem Wikiartikel |
+ | |} | ||
− | + | Schaun wir uns also, wie das alles funktioniert... | |
+ | ==<font color="maroon"> Autostart-Script </font>== | ||
− | === | + | ===Das Autostart-Verzeichnis=== |
− | + | Um zu dem von uns gewünschten Ergebnis zu kommen, müssen einige Tools gestartet werden. Dazu bietet sich das Autostart-Verzeichnis von KDE an: | |
− | + | ~/.kde/Autostart (für kde3) | |
+ | ~/.kde4/Autostart (für kde4) | ||
+ | Erstellen wir in diesem Verzeichnis also ein Bash-Script, welches uns die Arbeit abnimmt und die nötigen Anweisungen automatisch ausführt. Ich werde dieses Vorgehen sehr detailliert darstellen, um auch Einsteigern die Möglichkeit zu bieten, hier schnell zu einem Ergebnis zu kommen. | ||
− | + | *Persönlicher Home-Ordner auswählen | |
− | + | **Ansicht - versteckte Dateien | |
− | ** | + | *Autostart-Ordner anklicken |
− | *Ordner | + | **Rechtsklick - Neu erstellen -Textdatei |
− | + | **Beliebigen Namen eingeben. Zum Beispiel: mx1000 (Unter Opensuse 10.3 muß an den Namen ein .sh angehängt werden, also mx1000.sh) | |
− | + | *Rechtsklick auf die Textdatei - Öffnen mit - kate (oder mit einem anderen Texteditor) | |
− | + | **folgenden Code eingeben | |
− | *Rechtsklick auf die Textdatei - Öffnen mit - | ||
− | ** | ||
#!/bin/sh | #!/bin/sh | ||
#+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++ | #+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++ | ||
− | + | *Datei speichern | |
*Rechtsklick auf die Textdatei - Eigenschaften - Berechtigungen | *Rechtsklick auf die Textdatei - Eigenschaften - Berechtigungen | ||
**Ausführbar ankreuzen | **Ausführbar ankreuzen | ||
− | Damit ist ein leeres | + | Damit ist ein "leeres" Bashscript erstellt. Gefüllt wird es nun gleich... |
− | === SmartScroll === | + | === SmartScroll (unter OpenSuse 10.3 und Opensuse 11.0)=== |
− | + | Die Betriebsart "SmartScroll" der MX1000 ermöglicht es, die Tasten oberhalb und unterhalb des Mausrades zum Auf- und Abscrollen der Seite zu verwenden. | |
Um SMS einzuschalten, ergänzen wir unser Autostartscript: | Um SMS einzuschalten, ergänzen wir unser Autostartscript: | ||
#!/bin/sh | #!/bin/sh | ||
− | |||
#+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++ | #+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++ | ||
− | |||
# ++++++++++++++++++Einschalten Smart Scroll++++++++++++++++++++++++++++++ | # ++++++++++++++++++Einschalten Smart Scroll++++++++++++++++++++++++++++++ | ||
− | |||
/usr/bin/lomoco --sms | /usr/bin/lomoco --sms | ||
− | Das | + | ===SmartScroll (unter OpenSuse 11.1)=== |
+ | |||
+ | Hier ist das Handling etwas anders, da die Rechtevergabe ab dieser Version von OpenSuse etwas "strikter" ist. Das Script lautet hier so: | ||
+ | |||
+ | #!/bin/sh | ||
+ | #+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++ | ||
+ | # ++++++++++++++++++Einschalten Smart Scroll++++++++++++++++++++++++++++++ | ||
+ | sudo /usr/bin/lomoco --sms | ||
+ | |||
+ | Der Befehl sudo erwartet die Eingabe des root-Passwortes. Das ist in einem Autostartscript zweifellos etwas lästig. Glücklicherweise bietet Linux aber die Möglichkeit an, einen Befehl auch ohne Passwort-Eingabe so auszuführen, als ob er vom Systemverwalter gestartet worden wäre. Die dafür zuständige Konfigurations-Datei ist | ||
+ | /etc/sudoers | ||
+ | Diese Datei kann von Hand mit dem Tool "visudo" angepasst werden. Das läßt sich aber auch mit Yast bewerkstelligen: | ||
+ | *Yast aufrufen | ||
+ | **root-Passwort eintippen | ||
+ | **Sicherheit und Benutzer - sudo | ||
+ | **Regeln für sudo - Hinzufügen | ||
+ | ***Benutzer: Dein user-name oder ALL, wenn jeder am Computer lomoco verwenden dürfen soll | ||
+ | ***Hosts: ALL | ||
+ | ***RunAs: <freilassen> | ||
+ | ***NOPASSWD: Ja | ||
+ | ***Befehle: /usr/bin/lomoco | ||
+ | **OK drücken | ||
+ | *PC Neustarten | ||
=== Firefox und das Mausrad === | === Firefox und das Mausrad === | ||
Zeile 312: | Zeile 369: | ||
Damit ist das Mausrad entsprechend der Wunschbelegung konfiguriert. | Damit ist das Mausrad entsprechend der Wunschbelegung konfiguriert. | ||
− | Eine Erklärung zu den Einstellungen in der about:config kann [[http://www.firefox-browser.de/wiki/About:config hier]] nachgelesen werden. Ergänzend sei noch erwähnt, daß das Vorzeichen bei den numlines | + | Eine Erklärung zu den Einstellungen in der about:config kann [[http://www.firefox-browser.de/wiki/About:config hier]] nachgelesen werden. Ergänzend sei noch erwähnt, daß das Vorzeichen bei den numlines dafür verantworlich ist, ob nach rechts oder nach links gescrollt wird. |
− | dafür verantworlich ist, ob nach rechts oder nach links gescrollt wird. | ||
Einstellen je nach Belieben! | Einstellen je nach Belieben! | ||
Zeile 320: | Zeile 376: | ||
Ist bei der Maus SmartScroll ausgeschaltet, so löst ein Recht-Linksdrücken des Mausrades die Events 13 und 14 aus. Firefox erwartet aber 6 und 7. Um dieses | Ist bei der Maus SmartScroll ausgeschaltet, so löst ein Recht-Linksdrücken des Mausrades die Events 13 und 14 aus. Firefox erwartet aber 6 und 7. Um dieses | ||
Dilemma zu umgehen, wird das Programm xmodmap eingesetzt. Damit werden dem System andere X-Events vorgegaukelt. Folgender Befehl, eingetragen in das Autostartscript, | Dilemma zu umgehen, wird das Programm xmodmap eingesetzt. Damit werden dem System andere X-Events vorgegaukelt. Folgender Befehl, eingetragen in das Autostartscript, | ||
− | würde | + | würde Firefox wieder zur Kommunikation mit dem Mausrad anregen: |
/usr/bin/xmodmap -e "pointer = 1 2 3 4 5 13 14 8 9 10 11 12 6 7" | /usr/bin/xmodmap -e "pointer = 1 2 3 4 5 13 14 8 9 10 11 12 6 7" | ||
− | Es darf allerdings nicht unerwähnt bleiben, daß hier eine gewisse Experimentierfreudigkeit gefordert ist. Denn das Ergebnis ist oft nicht so, wie man es sich | + | Es darf allerdings nicht unerwähnt bleiben, daß hier eine gewisse Experimentierfreudigkeit gefordert ist. Denn das Ergebnis ist oft nicht so, wie man es sich vorstellt. Deshalb ist hier die vorhin beschriebenen Methode mit SmartScroll vorzuziehen. |
− | vorstellt. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
=== xbindkeys === | === xbindkeys === | ||
Die restlichen Maustasten werden nun mit xbindkeys zugewiesen. | Die restlichen Maustasten werden nun mit xbindkeys zugewiesen. | ||
− | |||
− | |||
− | |||
− | |||
#!/bin/sh | #!/bin/sh | ||
Zeile 345: | Zeile 391: | ||
#++++++++++++++++++Einschalten Smart Scroll+++++++++++++++++++++++++++++++ | #++++++++++++++++++Einschalten Smart Scroll+++++++++++++++++++++++++++++++ | ||
− | /usr/bin/lomoco --sms | + | #++++++++bei OpenSuse 10.3 das "sudo" weglassen+++++++++++++++++++++++++++ |
+ | sudo /usr/bin/lomoco --sms | ||
#++++++++++++++++++++Tastenmapping 1:1 +++++++++++++++++++++++++++++++++ | #++++++++++++++++++++Tastenmapping 1:1 +++++++++++++++++++++++++++++++++ | ||
Zeile 375: | Zeile 422: | ||
# +++++++++++Daumentaste Mitte ==> Start Firefox++++++++++++++++++++++++++ | # +++++++++++Daumentaste Mitte ==> Start Firefox++++++++++++++++++++++++++ | ||
− | "firefox" | + | "firefox http://www.linupedia.org/opensuse/Logitech_MX1000" |
m:0x0 + b:10 | m:0x0 + b:10 | ||
=== Erläuterungen zum Code === | === Erläuterungen zum Code === | ||
− | Das vorhin gestartete xbindkeys läuft im Hintergrund und fragt periodisch seine Konfigurationsdatei .xbindkeysrc ab. Schauen wir uns diesen Teil an: | + | Das vorhin gestartete xbindkeys läuft im Hintergrund und fragt periodisch seine Konfigurationsdatei .xbindkeysrc ab. Schauen wir uns diesen Teil etwas genauer an: |
# +++++++++++Daumentaste zurück ==> Chronik zurück++++++++++++++++++++++++ | # +++++++++++Daumentaste zurück ==> Chronik zurück++++++++++++++++++++++++ | ||
Zeile 388: | Zeile 435: | ||
Wenn "Daumentaste zurück" gedrückt wird, so empfängt das Programm den entsprechenden X-Event. In dem Fall ist es der Event Nr.8 von der Maus. | Wenn "Daumentaste zurück" gedrückt wird, so empfängt das Programm den entsprechenden X-Event. In dem Fall ist es der Event Nr.8 von der Maus. | ||
Damit wird der in Anführungszeichen stehende Befehl ausgeführt: | Damit wird der in Anführungszeichen stehende Befehl ausgeführt: | ||
− | Das virtuelle Keyboard sendet die Tastenkombination Alt + <-- ans System. Und diese Tastenkombination wird sowohl vom Konqueror, als auch von Firefox | + | Das virtuelle Keyboard sendet die Tastenkombination Alt + <-- ans System. Und diese Tastenkombination wird sowohl vom Konqueror und Dolphin, als auch von Firefox interpretiert als Anweisung, in der Chronik zurückzublättern. |
− | interpretiert als Anweisung, in der Chronik zurückzublättern. | ||
− | Das Gleiche passiert bei Event 9, nur daß | + | Das Gleiche passiert bei Event 9, nur daß dann vorgeblättert wird. |
− | Das Event 10, also die mittlere Dauentaste, startet mit dem Befehl "firefox" den Webbrowser. | + | Das Event 10, also die mittlere Dauentaste, startet mit dem Befehl "firefox http://www.linupedia.org/opensuse/Logitech_MX1000" den Webbrowser mit dieser Wiki-Seite. |
Man sieht, der Konfiguration mit xbindkeys sind kaum Grenzen gesetzt. Man muß nur herausfinden, welche Taste(nkombination) was in welchem Programm | Man sieht, der Konfiguration mit xbindkeys sind kaum Grenzen gesetzt. Man muß nur herausfinden, welche Taste(nkombination) was in welchem Programm | ||
Zeile 406: | Zeile 452: | ||
der sich dieser Risiken bewußt ist und der notfalls gegensteuern kann. | der sich dieser Risiken bewußt ist und der notfalls gegensteuern kann. | ||
− | === | + | ==<font color="maroon"> Installation der Tools </font>== |
− | + | Die notwendigen Tools sind zum großen Teil in der Distribution enthalten bzw. können nötigenfalls mit Yast installiert werden. | |
+ | ===xbindkeys unter OpenSuse10.3=== | ||
+ | Der Source-Code des Programms muß heruntergeladen und kompiliert werden. Leider läuft der unten erwähnt Link bzw seine Weitrleitung im Moment ins Leere. Sobald ich genaueres weiß, werde ich den aktuellen Link für den Source-Code hier einstellen | ||
− | + | ===xbindkeys ab OpenSuse 11.0=== | |
− | + | Das Programm kann über den Opensuse-BuildService installiert werden (http://software.opensuse.org/search). Einfach das Programm auf der genannten Seite suchen und mit 1-Klick installieren (aufpassen, daß beim Installieren die Option "Software-Repository nach der Installation behalten" abgewählt wird. Sonst bleibt diese Software-Quelle in der Repository-Liste erhalten. Dadurch kann es passieren, daß bei Updates Programmversionen installiert werden, die man so eigentlich gar nicht wollte. | |
− | |||
==<font color="maroon"> Links </font>== | ==<font color="maroon"> Links </font>== | ||
Zeile 426: | Zeile 473: | ||
xvkbd: http://homepage3.nifty.com/tsato/xvkbd/ | xvkbd: http://homepage3.nifty.com/tsato/xvkbd/ | ||
xmodmap: http://www.xfree86.org/4.2.0/xmodmap.1.html | xmodmap: http://www.xfree86.org/4.2.0/xmodmap.1.html | ||
− | xbindkeys: http://hocwp.free.fr/xbindkeys/xbindkeys.html | + | xbindkeys: http://hocwp.free.fr/xbindkeys/xbindkeys.html (Link läuft im Moment ins Leere) |
+ | OpenSuse-BuildSeervice http://software.opensuse.org/search | ||
---- | ---- | ||
[[Hardware|Zurück zur Hardwareübersicht]] | [[Hardware|Zurück zur Hardwareübersicht]] | ||
[[Kategorie:Hardware]] | [[Kategorie:Hardware]] |
Aktuelle Version vom 29. Oktober 2009, 17:57 Uhr
Die MX1000-Lasermaus von Logitech® wird in den verschiedenen Linux-Distributionen unterschiedlich eingerichtet. Dies hier ist eine Anleitung
speziell für OpenSuse.
Der Nebeneffekt des hier aufgezeigten Weges liegt darin, daß alle Maustasten nach den eigenen Wünschen konfiguriert werden können.
Diese Beschreibung wurde mit folgenden Distributionen getestet: |
OpenSuse 10.3 (32Bit) |
Inhaltsverzeichnis
Der Weg im Allgemeinen
Bevor wir ins Detail gehen, wollen wir uns erst einmal einen Überblick darüber verschaffen, was notwendig ist, die MX1000 nach unseren Wünschen zu konfigurieren. Nun, diese Lasermaus sollte in jedem Fall vom System so erkannt werden, daß mit ihr gearbeitet werden kann. Wollen wir aber alle Tasten funktionsfähig haben, so ist etwas Handarbeit angesagt. Wieviel Handarbeit das tatsächlich ist, hängt von der installierten Version von OpenSuse ab.
Besitzen wir noch OpenSuse 10.3, so ist ein manueller Eingriff in die Konfigurationsdatei des X-Servers nötig (/etc/X11/xorg.conf). Dieser Eingriff ist nicht ganz ungefährlich. Es sollten also die Hinweise im entsprechenden Kapitel dieses Wikis beachtet werden. Und wenn man sich den sicheren Umgang mit der Kommandozeile nicht zutraut, so ist es besser, die Sache bleiben zu lassen und sich erst einmal grundsätzlich mit den Interna von Linux zu beschäftigen.
Ab OpenSuse 11.0 brauchen wir uns keine Sorgen mehr zu machen, wegen eines Tippfehlers bei der Bearbeitung der xorg.conf den X-Server zur Untätigkeit zu verurteilen. Wir brauchen diese Datei nämlich nicht mehr verändern, sondern können mit der automatischen Erkennung der Maus zufrieden sein.
Unabhängig von der OpenSuse-Version ist jedoch die Zuordnung der Maustasten zu einem gewünschten Ereignis durchzuführen. Und dazu sind ein paar Tools notwendig, die entweder schon in der Distribution enthalten sind, oder erst noch installiert weren müssen. Hier also eine kurze Zusammenfassung, was diese Tools leisten sollen:
lomoco
Einschalten von Smart Scroll (sms), wichtig fürs links/rechts-Kippen des Mausrades
xbindkeys
Zuordnung von Maustasten zu einem von uns gewünschten Ereignis
xvkbd
Dieses virtuelle Keyboad übersetzt die Anweisungen von xbindkeys, so daß sie vom X-Server auch verstanden werden
xev
Damit kann nachgesehen werden, welches sogenannte "xevent" das Drücken einer Maustaste auslöst
xmodmap
Legt die standardmäßig ausgesendeten xevents auf andere xevents um. so kann man sich zum Beispiel eine Maus für Linkshänder bauen.
Die Vergangenheit: OpenSuse 10.3 und die Datei /etc/X11/xorg.conf
Um unter OpenSuse 10.3 die MX1000 zu einer vernünftigen Zusammenarbeit mit dem System zu bewegen, ist es notwendig, die Datei /etc/X11/xorg.conf zu bearbeiten. Dazu muß man Root-Rechte besitzen.
Systemverwaltungsmodus
- Terminal öffnen
- Befehl eingeben, um in den Systemverwaltungsmodus zu gelangen
su
- Root-Passwort eingeben
Gefahren beim Arbeiten mit der xorg.conf
Zum Konfigurieren der Maus ist eine Bearbeitung der Datei xorg.conf notwendig. Änderungen an dieser Datei können dafür sorgen, daß der X-Server nicht mehr startet.
Es wird daher empfohlen, eine Sicherungskopie von xorg.conf zu erstellen. Ebenso sollte der Anwender wissen, wie die Sicherung auch ohne graphischen Bildschirm, also im Terminal, zurückkopiert werden kann.
Vorher Ausprobieren! Das erspart unter Umständen viel Ärger.
Bearbeiten von xorg.conf
- Terminal öffnen
- Systemverwaltungsmodus einschalten
su
- xorg.conf mit einem Editor (kate) öffnen
kate /etc/X11/xorg.conf
- Nach erfolgten Änderungen die Datei speichern
- Kate beenden
- Systemverwaltungsmodus im Terminal verlassen
exit
- Terminal beenden
- Abmelden
- Rechner neu starten
Code in xorg.conf
In diesem Auszug der xorg.conf sind die relevanten Stellen fett markiert.
Section "Files" InputDevices "/dev/gpmdata" InputDevices "/dev/input/mice" EndSection
Section "ServerFlags" Option "AllowMouseOpenFail" "on" EndSection
Section "InputDevice" Identifier "mouse_dummy" Driver "void" Option "Device" "/dev/input/mice" EndSection
Section "InputDevice" Identifier "MX1000" Driver "evdev" Option "Name" "Logitech USB R*" EndSection
Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "mouse_dummy" InputDevice "MX1000" "CorePointer" Option "Clone" "off" Option "Xinerama" "off" Screen "Screen[0]" EndSection
Erläuterungen zum Code
Section "Files"
- InputDevices "/dev/input/mice"
- Über diese Datei greift das System auf die angeschlossenen Mäuse zu
Section "ServerFlags"
- Option "AllowMouseOpenFail" "on"
- So soll der X-Server auch starten, wenn keine Maus angeschlossen ist
Section "InputDevice"
- Identifier "MX1000"
- Name der Maus. Kann beliebig gewählt werden
- Driver "evdev"
- Es wird der evdev-Maustreiber verwendet. Dieser Treiber ist in der Distribution vorhanden.
- Option "Name" "Logitech USB R*"
- Es ist extrem wichtig, hier den richtigen internen Namen der Maus anzugeben, sonst startet der X-Server nicht mehr.
Die Firma Logitech® verwendet für die MX1000 verschiedene interne Namen. Um die korrekte Schreibweise zu ermitteln, gibt man in ein Terminal folgenden Befehl ein:
cat /proc/bus/input/devices
In der erscheinenden Liste sucht man nach irgendetwas, das aussieht wie "Logitech USB Receiver". Das wird dann unter Option "Name" eingetragen, aber exakt so, wie es am Bildchirm steht unter strikter Beachtung der Gross- Kleinschreibung. Wenn man bequem ist, kann man hinter das R des Receiver auch einen Stern machen. Dann ist es egal, wie Receiver geschrieben wird. Hat man allerdings ein Gerät angeschlossen, das z.B. Logitech USB RammaDamma heißt, sind Probleme vorprogrammiert. Deshalb, am besten den kompletten Namen schreiben!
In vielen Anleitungen steht noch die Option ZAxisMapping. Diese Option ist hier nicht mehr notwendig, da das Mausrad automatisch richtig auf die X-Events 4 und 5 gelegt wird.
Noch ein Problem gibt es, für das der X-Server verantwortlich ist. Er erwartet eine Standard-Maus, akzeptiert aber keine Maus, die mit dem evdev-Treiber läuft, als solche. Und da er unsere MX1000 nicht als Standard anerkennen will, generiert er sich geschwind selber eine. Ein Blick in die Datei /var/log/xorg.0.log belegt ein solches Unterfangen. Hier hilft das Einfügen einer Dummy-Maus, die alle Eingaben ins Nichts schickt:
- Identifier "mouse_dummy"
- Name der Dummy-Maus ist beliebig wählbar
- Driver "void"
- ab ins Nirwana mit den Tastendrücken
- Option "Device" "/dev/input/mice"
Section "ServerLayout"
- InputDevice "mouse_dummy"
- Der Name muß derselbe sein, der in Section "InputDevice" definiert ist
- InputDevice "MX1000" "CorePointer"
- Hier wird noch zusätzlich definiert, daß die MX1000 doch die erste Maus am Platze ist, also der CorePointer.
So, nachdem das alles eingestellt ist, sollte die MX1000 richtig laufen. Der nächste Schritt ist die Konfiguration der Tastenbelegung entsprechend der eigenen Vorstellungen.
Die Gegenwart: OpenSuse 11.0 und 11.1
Der X-Server erkennt automatisch die Logitech-Maus und konfiguriert sie so, daß mit ihr gearbeitet werden kann. Es ist keine Veränderung der xorg.conf mehr notwendig! Mehr noch: Ich rate ausdrücklich davon ab, ab OpenSuse 11 die xorg.conf zu verändern. Das kann zu einem unkontrollierten Verhalten des Systems führen. Unter Umständen kann es beim Booten hängen gleiben, so daß dann eine "Failsave-Reparatur" nötig wird.
Maustasten und X-Events
Drückt man eine Maustaste oder eine Taste auf der Tastatur, so wird ein zugehöriges X-Event ausgelöst. Das ist nichts anderes als eine Nummer, an Hand derer das System erkennt, welche Taste gedrückt wurde.
xev
Zum Ermitteln dieser Events bietet sich das Programm xev an, welches welches zur Standardausstattung von OpenSuse gehört.
X-Events der MX1000
Linke Taste | ||
Mitteltaste | ||
Rechte Taste | ||
Rad vor | ||
Rad zurück | ||
Daumen vor | ||
Daumen Mitte | ||
Daumen zurück | ||
Scroll vor | ||
Scroll zurück | ||
Rad links | ||
Rad rechts |
Erläuterungen zur Tabelle
Die MX1000 unterscheidet zwei Betriebsarten:
- SmartScroll eingeschaltet.
- Die Tasten ober- und unterhalb des Mausrades werden mit den Events 4 und 5 belegt und simulieren demnach das Mausrad.
- SmartScroll ausgeschaltet.
- Die Scroll-Tasten haben eigene Events und stehen damit frei für Belegungswünsche.
Sowohl das Drücken als auch das Loslassen einer Taste löst ein Event aus. Diese Events sind in der Regel identisch. Es sei der Vollständigkeit halber erwähnt, daß bei aktiviertem SmartScroll folgende Tasten beim Drücken und Loslassen unterschiedliche X-Events zeigen:
- Scroll vor
- Scroll zurück
- Mausrad links
- Mausrad rechts
Wichtig für das weitere Vorhaben sind allein die Events, die durch das Drücken der Tasten hervorgerufen werden.
Belegung der Maustasten nach eigenen Wünschen
Es gibt viele Möglichkeiten, die Maustasten sinnvoll zu belegen. Anhand einer dieser Möglichkeiten wird hier aufgezeigt, wie das weitere Vorgehen ist. Ist eine andere Belegung gewünscht, müssen nur die nun folgenden Schritte entsprechend angepasst werden.
Linke Maustaste | Linksklick |
Mittlere Maustaste | frei |
Rechte Maustaste | Rechtsklick |
Rad vor | Seite nach oben scrollen |
Rad zurück | Seite nach unten scrollen |
Rad links | Seite nach links scrollen |
Rad rechts | Seite nach rechts scrollen |
Daumentaste rückwärts | In Konqueror, Dolphin und Firefox Chronik zurückblättern |
Daumentaste vorwärts | In Konqueror, Dolphin und Firefox Chronik vorblättern |
Daumentaste mitte | Start Firefox mit diesem Wikiartikel |
Schaun wir uns also, wie das alles funktioniert...
Autostart-Script
Das Autostart-Verzeichnis
Um zu dem von uns gewünschten Ergebnis zu kommen, müssen einige Tools gestartet werden. Dazu bietet sich das Autostart-Verzeichnis von KDE an:
~/.kde/Autostart (für kde3) ~/.kde4/Autostart (für kde4)
Erstellen wir in diesem Verzeichnis also ein Bash-Script, welches uns die Arbeit abnimmt und die nötigen Anweisungen automatisch ausführt. Ich werde dieses Vorgehen sehr detailliert darstellen, um auch Einsteigern die Möglichkeit zu bieten, hier schnell zu einem Ergebnis zu kommen.
- Persönlicher Home-Ordner auswählen
- Ansicht - versteckte Dateien
- Autostart-Ordner anklicken
- Rechtsklick - Neu erstellen -Textdatei
- Beliebigen Namen eingeben. Zum Beispiel: mx1000 (Unter Opensuse 10.3 muß an den Namen ein .sh angehängt werden, also mx1000.sh)
- Rechtsklick auf die Textdatei - Öffnen mit - kate (oder mit einem anderen Texteditor)
- folgenden Code eingeben
#!/bin/sh #+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++
- Datei speichern
- Rechtsklick auf die Textdatei - Eigenschaften - Berechtigungen
- Ausführbar ankreuzen
Damit ist ein "leeres" Bashscript erstellt. Gefüllt wird es nun gleich...
SmartScroll (unter OpenSuse 10.3 und Opensuse 11.0)
Die Betriebsart "SmartScroll" der MX1000 ermöglicht es, die Tasten oberhalb und unterhalb des Mausrades zum Auf- und Abscrollen der Seite zu verwenden. Um SMS einzuschalten, ergänzen wir unser Autostartscript:
#!/bin/sh #+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++ # ++++++++++++++++++Einschalten Smart Scroll++++++++++++++++++++++++++++++ /usr/bin/lomoco --sms
SmartScroll (unter OpenSuse 11.1)
Hier ist das Handling etwas anders, da die Rechtevergabe ab dieser Version von OpenSuse etwas "strikter" ist. Das Script lautet hier so:
#!/bin/sh #+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++ # ++++++++++++++++++Einschalten Smart Scroll++++++++++++++++++++++++++++++ sudo /usr/bin/lomoco --sms
Der Befehl sudo erwartet die Eingabe des root-Passwortes. Das ist in einem Autostartscript zweifellos etwas lästig. Glücklicherweise bietet Linux aber die Möglichkeit an, einen Befehl auch ohne Passwort-Eingabe so auszuführen, als ob er vom Systemverwalter gestartet worden wäre. Die dafür zuständige Konfigurations-Datei ist
/etc/sudoers
Diese Datei kann von Hand mit dem Tool "visudo" angepasst werden. Das läßt sich aber auch mit Yast bewerkstelligen:
- Yast aufrufen
- root-Passwort eintippen
- Sicherheit und Benutzer - sudo
- Regeln für sudo - Hinzufügen
- Benutzer: Dein user-name oder ALL, wenn jeder am Computer lomoco verwenden dürfen soll
- Hosts: ALL
- RunAs: <freilassen>
- NOPASSWD: Ja
- Befehle: /usr/bin/lomoco
- OK drücken
- PC Neustarten
Firefox und das Mausrad
Firefox erwartet für das Rechts-Linksklicken des Mausrades die X-Events 6 und 7. Diese Vorraussetzung ist allein durch die Aktivierung von SMS erfüllt. Was nun tatsächlich passiert, kann in Firefox eingestellt werden:
- Firefox starten
- In die Adressleiste eingeben about:config
mousewheel.horizscroll.withnokey.action auf 0 setzen mousewheel.horizscroll.withnokey.numlines auf -3 setzen
Damit ist das Mausrad entsprechend der Wunschbelegung konfiguriert.
Eine Erklärung zu den Einstellungen in der about:config kann [hier] nachgelesen werden. Ergänzend sei noch erwähnt, daß das Vorzeichen bei den numlines dafür verantworlich ist, ob nach rechts oder nach links gescrollt wird. Einstellen je nach Belieben!
xmodmap (Optional)
Ist bei der Maus SmartScroll ausgeschaltet, so löst ein Recht-Linksdrücken des Mausrades die Events 13 und 14 aus. Firefox erwartet aber 6 und 7. Um dieses Dilemma zu umgehen, wird das Programm xmodmap eingesetzt. Damit werden dem System andere X-Events vorgegaukelt. Folgender Befehl, eingetragen in das Autostartscript, würde Firefox wieder zur Kommunikation mit dem Mausrad anregen:
/usr/bin/xmodmap -e "pointer = 1 2 3 4 5 13 14 8 9 10 11 12 6 7"
Es darf allerdings nicht unerwähnt bleiben, daß hier eine gewisse Experimentierfreudigkeit gefordert ist. Denn das Ergebnis ist oft nicht so, wie man es sich vorstellt. Deshalb ist hier die vorhin beschriebenen Methode mit SmartScroll vorzuziehen.
xbindkeys
Die restlichen Maustasten werden nun mit xbindkeys zugewiesen.
#!/bin/sh #+++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++++++++++ #++++++++++++++++++Einschalten Smart Scroll+++++++++++++++++++++++++++++++ #++++++++bei OpenSuse 10.3 das "sudo" weglassen+++++++++++++++++++++++++++ sudo /usr/bin/lomoco --sms #++++++++++++++++++++Tastenmapping 1:1 +++++++++++++++++++++++++++++++++ #/usr/bin/xmodmap -e "pointer = 1 2 3 4 5 6 7 8 9 10 11 12 13 14" #++++++++++++++++Tastenzuweisungen mit xbindkeys++++++++++++++++++++++++++ /usr/local/bin/xbindkeys
Damit ist übrigens das Autostartscript fertig. Das Tastenmapping ist auskommentiert, da es in dem Fall nicht notwendig ist.
.xbindkeysrc
In dieser Konfirurationsdatei stehen nun die Zuweisungen für die Tasten drin.
- Textdatei im persönlichen Ordner erstellen und der Datei den Namen .xbindkeysrc geben.
- Diese Textdatei mit Kate öffnen
- Folgenden Code eingeben:
# ++++++++++++++++++++++++++++++++MX1000++++++++++++++++++++++++++++++++++++ # +++++++++++++++++++++++++++xbindkeys - Konfiguration++++++++++++++++++++++ # +++++++++++++++++++++++++++++++für Firefox++++++++++++++++++++++++++++++++ # +++++++++++Daumentaste zurück ==> Chronik zurück++++++++++++++++++++++++ "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]"" m:0x0 + b:8 # +++++++++++Daumentaste vor ==> Chronik vorwärts+++++++++++++++++++++++++ "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]"" m:0x0 + b:9 # +++++++++++Daumentaste Mitte ==> Start Firefox++++++++++++++++++++++++++ "firefox http://www.linupedia.org/opensuse/Logitech_MX1000" m:0x0 + b:10
Erläuterungen zum Code
Das vorhin gestartete xbindkeys läuft im Hintergrund und fragt periodisch seine Konfigurationsdatei .xbindkeysrc ab. Schauen wir uns diesen Teil etwas genauer an:
# +++++++++++Daumentaste zurück ==> Chronik zurück++++++++++++++++++++++++ "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]"" m:0x0 + b:8
Wenn "Daumentaste zurück" gedrückt wird, so empfängt das Programm den entsprechenden X-Event. In dem Fall ist es der Event Nr.8 von der Maus. Damit wird der in Anführungszeichen stehende Befehl ausgeführt: Das virtuelle Keyboard sendet die Tastenkombination Alt + <-- ans System. Und diese Tastenkombination wird sowohl vom Konqueror und Dolphin, als auch von Firefox interpretiert als Anweisung, in der Chronik zurückzublättern.
Das Gleiche passiert bei Event 9, nur daß dann vorgeblättert wird.
Das Event 10, also die mittlere Dauentaste, startet mit dem Befehl "firefox http://www.linupedia.org/opensuse/Logitech_MX1000" den Webbrowser mit dieser Wiki-Seite.
Man sieht, der Konfiguration mit xbindkeys sind kaum Grenzen gesetzt. Man muß nur herausfinden, welche Taste(nkombination) was in welchem Programm bewirkt. Und natürlich, wie die Tastenkürzel für xsendevent heißen.
Hinweise
Risiken und Nebenwirkungen
Diese Anleitung ist eigentlich als Gedankenstütze für den Autor entstanden, der öfter mal was neu installieren muß. Es kann nicht garantiert werden, daß diese Anleitung ohne Risiken und Nebenwirkungen ist. Die Benutzung erfolgt deshalb ausschließlich auf eigene Gefahr. Diese Anleitung sollte nur von dem verwendet werden, der sich dieser Risiken bewußt ist und der notfalls gegensteuern kann.
Installation der Tools
Die notwendigen Tools sind zum großen Teil in der Distribution enthalten bzw. können nötigenfalls mit Yast installiert werden.
xbindkeys unter OpenSuse10.3
Der Source-Code des Programms muß heruntergeladen und kompiliert werden. Leider läuft der unten erwähnt Link bzw seine Weitrleitung im Moment ins Leere. Sobald ich genaueres weiß, werde ich den aktuellen Link für den Source-Code hier einstellen
xbindkeys ab OpenSuse 11.0
Das Programm kann über den Opensuse-BuildService installiert werden (http://software.opensuse.org/search). Einfach das Programm auf der genannten Seite suchen und mit 1-Klick installieren (aufpassen, daß beim Installieren die Option "Software-Repository nach der Installation behalten" abgewählt wird. Sonst bleibt diese Software-Quelle in der Repository-Liste erhalten. Dadurch kann es passieren, daß bei Updates Programmversionen installiert werden, die man so eigentlich gar nicht wollte.
Links
Beim Erstellen dieser Anleitung waren folgende Webseiten hilfreich:
Allgemein: http://wiki.archlinux.org/index.php/MX1000_Buttons OpenSuse vor 10.3 http://www.linux-club.de/viewtopic.php?t=15176&highlight=mx1000 Dummy: https://bugs.freedesktop.org/show_bug.cgi?id=1 Dummy: http://www.conan.de/touchscreen/evtouch.html2507 about:config http://www.firefox-browser.de/wiki/About:config lomoco: http://www.lomoco.org/ xvkbd: http://homepage3.nifty.com/tsato/xvkbd/ xmodmap: http://www.xfree86.org/4.2.0/xmodmap.1.html xbindkeys: http://hocwp.free.fr/xbindkeys/xbindkeys.html (Link läuft im Moment ins Leere) OpenSuse-BuildSeervice http://software.opensuse.org/search