js2mouse
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Artikel für fortgeschrittene Anwender
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Mit js2mouse 🇬🇧 lässt sich jeder Joystick und jedes Gamepad als Maus benutzen. Dieser Artikel befasst sich mit der Installation und Konfiguration von js2mouse.
Installation¶
Herunterladen¶
Um dem XServer die Ausgabe einer Maus zu geben, anstatt eines Joysticks, braucht man ein zusätzliches Programm welches dies mittels einer Gerätedatei erledigt.
Js2mouse lässt sich hier ⮷ herunterladen.
Entpacken¶
Nachdem das Archiv heruntergeladen wurde muss es entpackt [5] werden.
Kompilieren¶
Anschließend wechselt man mit dem Terminal [1] in folgendes Verzeichnis:
cd js2mouse/js2mouse
Und kompiliert [6] das Programm.
Man sollte hier besonders aufmerksam mitlesen, und auf mögliche Fehlermeldungen achten. Zum Beispiel könnte Folgendes auftreten:
exps2/convert_exps2.c:23:2: Warnung: #warning exps2 emulation functions do not work, DO NOT USE THIS PROTOCOL !!!
Dies ist wichtig für die spätere Konfiguration, deshalb sollte man sich den Fehler merken.
Starten über Autostart¶
Als erstes erstellt man ein Verzeichnis für die Gerätedatei [1], damit dies nicht jeder sofort sieht versteckt man es durch einen Punkt vor dem Namen:
cd ~ mkdir .jsmousedev
Dann fehlt noch ein Script zum Starten im Autostart [4], also öffnet man den Editor und kopiert folgendes [2]:
#!/bin/sh if [ "$#" = '0' ];then ps -ef > '/tmp/ps' # Läuft schon eine Instanz des Programms ? if [ "$(grep 'js2mouse' '/tmp/ps')" = '' ];then /usr/local/bin/js2mouse -r -p 'PROTOKOLL' -f '/home/BENUTZER/.jsmousedev/j2m_fifo' -v 0 & fi exit 0 fi # Ist das erste Argument "stop" ? if [ "$1" = 'stop' ];then killall js2mouse exit 0 fi # Wenn nicht "nichts" und nicht "stop" übergeben wurde dann argument 1 mit restlichen argumenten ausführen killall js2mouse "$@" /usr/local/bin/js2mouse -r -p 'PROTOKOLL' -f '/home/BENUTZER/.jsmousedev/j2m_fifo' -v 0 &
Für PROTOKOLL wählt man das verwendete Protokoll ("imps2" oder "exps2") und BENUTZER muss durch den eigenen Benutzernamen ersetzt werden.
Hinweis:
Wer will kann den Parameter hinter -v
bis 3 erhöhen, um die Ausgabe von js2mouse dementsprechend zu erhöhen.
Dann wird der Script als /usr/local/bin/jsmouse.sh gespeichert und ausführbar gemacht [3]:
chmod a+x /usr/local/bin/jsmouse.sh
Als nächstes muss man das Script in den Autostart einbinden [4].
Spiele, in denen man den Joystick verwenden will, kann man dann mit folgendem Befehl starten:
jsmouse.sh Spiel [-Parameter1] [-Parameter2] [...]
Konfigurationsdateien des XServers verändern¶
Am besten sollte, vor der Bearbeitung, eine Sicherung der Konfigurationsdatei /etc/X11/xorg.conf angelegt werden. Nun öffnet man die Datei mit dem Editor [2] und ergänzt die Datei um einen Eintrag:
Section "InputDevice" Identifier "Configured Joystick Mouse" Driver "mouse" Option "Device" "/home/BENUTZER/.jsmousedev/j2m_fifo" # ImPS/2 oder EXPS/2 Option "Protocol" "PROTOKOLL" ## Nur bei ImPS/2 #Option "ZAxisMapping" "4 5" ## Nur bei EXPS/2 #Option "Buttons" "7" #Option "ZAxisMapping" "6 7" EndSection
Für BENUTZER setzt man seinen eigenen Benutzernamen ein und falls man vorher beim Kompilieren eine Fehlermeldung bekommen hat ist dies jetzt wichtig. Wenn es die gleiche wie oben ist, sollte man als Protokoll ImPS/2 statt EXPS/2 benutzen. Abhängig vom Protokoll sollten die richtigen Optionen einkommentiert werden.
Als nächsten Schritt muss man nach folgendem Eintrag suchen:
Section "ServerLayout"
In eine neue Zeile unter der gefundenen Zeile, fügt man hinzu:
InputDevice "Configured Joystick Mouse" "SendCoreEvents"
Anschließend sollten alle Programme gesichert und geschlossen, und der XServer mit Strg + Alt + ⌫ neu gestartet werden.
Mappen der Befehle¶
Um js2mouse zu sagen welche Joystick-Aktion zu welcher Maus-Aktion werden soll muss man in /etc eine Konfigurationsdatei mit dem Namen j2m_map anlegen [2]. Man kann nun den Einzelnen Buttons und Achsen eine Aktion zuweisen indem man schreibt:
button_1 = click_left
Die Nummer der Buttons und der Achsen kann man mit Hile des Joystick-Konfigurationsprogramms herausfinden. Die Konfigurationsdatei kann zum Beispiel so aussehen:
axe_1 = move_horizontal axe_2 = move_vertical button_11 = click_left button_12 = click_right button_9 = click_middle button_13 = wheel_up button_15 = wheel_down button_17 = click_extra1 button_6 = click_extra2
Damit die Änderungen wirksam werden muss js2mouse neugestartet werden. Dies geschieht mit diesen Befehlen [1]:
jsmouse.sh stop jsmouse.sh
Deinstallation¶
js2mouse muss deinstalliert [6] werden.
Die Konfigurationsdatei /etc/j2m_map kann gelöscht werden.
Das Script /usr/local/bin/jsmouse.sh sollte entfernt werden.
Erstellte symbolische Verknüpfungen und Dateien im Autostart [4] sollten entfernt werden.
Der Ordner ~/.jsmousedev/ samt Gerätedatei, falls vorhanden, sollte gelöscht werden.
Wenn zuvor ein Backup der Konfigurationsdatei /etc/X11/xorg.conf erstellt wurde kann dieses zurück kopiert werden, sonst sollte man die neuen Einträge entfernen.
Links¶
http://cedric.vincent.perso.free.fr/Projets/index.html 🇬🇧 - Dokumentation zu js2mouse.