[[Vorlage(archiviert, )]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Rechte: Ändern von Zugriffsrechten] [:Autostart: Programme zum Autostart hinzufügen] [:Packprogramme: Archive entpacken] [:Programme_kompilieren: Programme kompilieren] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/joystick.png, align=left)]] Mit [http://cedric.vincent.perso.free.fr/Projets/index.html js2mouse] {en} 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 [wikipedia:Gerätedatei:] erledigt. Js2mouse lässt sich [http://cedric.vincent.perso.free.fr/Projets/ hier] {dl} herunterladen. == Entpacken == [[Bild(Wiki/Icons/package.png, 64x64, right)]] Nachdem das Archiv heruntergeladen wurde muss es entpackt [5] werden. == Kompilieren == Anschließend wechselt man mit dem Terminal [1] in folgendes Verzeichnis: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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. {{{#!vorlage 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]: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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 [#Warnung Kompilieren] eine Fehlermeldung bekommen hat ist dies jetzt wichtig. Wenn es die gleiche wie [#Warnung 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 [[Vorlage(Tasten, Strg+Alt+backspace)]] 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 [:Joysticks: 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]: {{{#!vorlage Befehl 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 http://cedric.vincent.perso.free.fr/Projets/index.html] {en} - Dokumentation zu '''js2mouse'''. ## [[Diskussion(128776,js2mouse)]] # tag: Hardware, Controller