[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten/PPA: Verwenden eines PPAs] optional [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] Dieser Artikel befasst sich mit der Konfiguration des Programms '''joy2key'''. Mit diesem Programm kann ein Joystick wie eine Tastatur verwendet werden. Man kann z.B. dem Bewegen des Joysticks nach links die Taste [[Vorlage(Tasten, links)]] zuordnen. So können auch Spiele mit dem Joystick gesteuert werden die solche Geräte normalerweise nicht unterstützen. {{{#!vorlage Hinweis In diesem Artikel wird nur der Begriff Joystick verwendet, alle Anweisungen funktionieren aber auch für Gamepads. Bei den Einstellungen welche die Achsen betreffen müssen bei einem Gamepad die Richtungstasten gedrückt werden. }}} = Installation = Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation joy2key, universe }}} = Benutzung/Konfiguration = {{{#!vorlage Warnung Zuerst muss der Joystick mit einem Programm wie '''joystick''' [:Joysticks:kalibriert werden]. joy2key führt zwar auch noch eine Kalibrierung durch, diese hat aber einen anderen Zweck und bewirkt nicht das gleiche. }}} == Einfache Beispielkonfiguration == Das Spiel welches man steuern möchte sollte zuerst gestartet werden. Erst danach startet [4] man '''joy2key''' aus einer Konsole [2]. === Verwendung der Achsen === Dem Programm müssen einige Argumente übergeben werden: * ``-X`` Um die Signale des Joysticks an ein Fenster mit grafischer Oberfläche zu übergeben (sollte bei einem Spiel der Normalfall sein) * ``-dev /dev/input/js0`` Legt das Gerät fest welches verwendet werden soll ([:Joysticks:je nach Ubuntuversion ] normalerweise ``/dev/js0`` oder ``/dev/input/js0``) * ``-axis Left Right Up Down`` Welche Tasten den Bewegungen des Joysticks zugeordnet werden sollen (in folgender Reihenfolge: links, rechts, oben, unten) Man startet also joy2key mit folgendem Befehl: {{{#!vorlage Befehl joy2key -X -dev /dev/input/js0 -axis Left Right Up Down }}} Dann wird man nach dem Fenster gefragt welches verwendet werden soll, man klickt also einfach auf das Fenster des Spiels. Anschließend wird der Joystick kalibriert. In der Konsole wird folgendes angezeigt: {{{Calibrating axis 0 Please center the axis and press a button. ? }}} Nun sollte man nicht sofort eine Taste drücken sondern zuerst den Joystick etwas bewegen, und dann wieder in die mittlere Stellung bringen, so dass in der Konsole eine Zahl angezeigt wird: {{{Calibrating axis 0 Please center the axis and press a button. value: 512 }}} Erst jetzt kann man eine Taste drücken. Dann den Joystick einmal ganz nach links bewegen und eine Taste drücken, und schließlich noch einmal ganz nach rechts und wieder eine Taste drücken. Danach wird das Gleiche nochmal mit der Achse 1 gemacht. Hier den Joystick zuerst in die Mitte, dann nach oben und schlussendlich nach unten bewegen. Die Reihenfolge links, rechts, oben, unten ist wichtig! Wenn die Kalibrierung abgeschlossen ist dann sollte man das Spiel mit dem Joystick steuern können. === Verwendung der Tasten === Zusätzlich zu den Achsen können natürlich auch die Tasten verwendet werden. Dazu gibt es folgendes Argument: * ``-buttons Taste für Button0 Taste für Button1 usw.`` Will man beispielsweise dem Button0 die Taste [[Vorlage(Tasten, space)]] zuordnen ruft man das Programm so auf: {{{#!vorlage Befehl joy2key -X -dev /dev/input/js0 -buttons space }}} {{{#!vorlage Hinweis Wie die Tasten eines Joysticks nummeriert sind lässt sich mit einem Programm wie '''jscalibrator''' [5] herausfinden. Die Bezeichnungen der Tastaturtasten findet man mit [:xev:]. In der Ausgabe von xev findet man diese nach dem Wort ``keysym``. Beim Drücken der Leertaste wird z.B. folgendes angezeigt: ``(keysym 0x20, space)`` }}} === Auswahl des Fensters === Wenn man das Fenster des Spiels nicht mit der Maus auswählen will, dann kann man auch den Namen des Fensters festlegen. Um das Spiel GNOMEtris mit einem Joystick zu steuern würde man z.B. folgenden Befehl verwenden: {{{#!vorlage Befehl joy2key "GNOMEtris" -X -dev /dev/input/js0 -axis Left Right Up Down -buttons space }}} === Kalibrierung === Normalerweise wird bei jedem Start von joy2key eine Kalibrierung durchgeführt. Um sich dies zu ersparen kann man die Werte die verwendet werden sollen auch direkt angeben. Nach dem Kalibrieren zeigt joy2key fogende Ausgabe in der Konsole: {{{Calibrating axis 0 Please center the axis and press a button. value: 512 Locked at 512 Please move the axis to its lowest position and press a button. value: 4 Please move the axis to its highest position and press a button. value: 1021 Using deadzone of 50% Calibrations set at: Axis 0 low threshold set at 258 Axis 0 high threshold set at 766 (you can put these in your .joy2keyrc to avoid calibrating in the future) Calibrating axis 1 Please center the axis and press a button. value: 512 Locked at 512 Please move the axis to its lowest position and press a button. value: 4 Please move the axis to its highest position and press a button. value: 1021 Using deadzone of 50% Calibrations set at: Axis 1 low threshold set at 258 Axis 1 high threshold set at 766 (you can put these in your .joy2keyrc to avoid calibrating in the future) Initialization complete, entering main loop, ^C to exit... }}} Wichtig sind die vier Zeilen in denen ein threshold Wert angezeigt wird (also z.B. ``Axis 0 low threshold set at 258``). Diese Werte können mit dem Argument * ``-thresh Wert1 Wert2 Wert3 Wert4`` direkt eingestellt werden ohne dass immer wieder Kalibriert werden muss. In diesem Beispiel würde man folgenden Befehl verwenden: {{{#!vorlage Befehl joy2key "GNOMEtris" -X -dev /dev/input/js0 -axis Left Right Up Down -buttons space -thresh 258 766 258 766 }}} == Einrichtung einer Konfigurationsdatei == Der Befehl für joy2key kann schnell etwas lang und kompliziert werden. Deshalb gibt es auch die Möglichkeit die Eintstellungen in einer Konfigurationsdatei zu speichern. Die Datei enthält einen COMMON-Bereich und für jedes Profil das man erstellen möchte einen START-Bereich. {{{COMMON #Allgemeine Optionen -Option1 START profilname #Optionen für ein bestimmtes Spiel -Option }}} Die Optionen werden genau so in die Datei geschrieben [3] wie man sie in der Konsole eingegeben hätte. Die Datei muss '''.joy2keyrc''' heißen und im [:Homeverzeichnis:] des Benutzers liegen. Dann kann joy2key einfach mit dem Befehl {{{#!vorlage Befehl joy2key -config profilname }}} gestartet werden. === COMMON === Dieser Abschnitt gilt immer, wenn die Datei '''.joy2keyrc''' verwendet wird (unabhängig vom Profil). Im unten folgenden Beispiel wurden die Threshholds (Wertebereiche) der Steuerachsen (Steuerkreuz) definiert. Der Option `-thresh` folgen nacheinander die Werte "Achse-0-Low" "Achse-0-High" "Achse-1-Low" "Achse-1-High". Die Wertebereiche lassen sich mit {{{#!vorlage Befehl joy2key "Fenstertitel" -X -dev /dev/input/js0 -axis Left Right Up Down }}} ermitteln. === START === Das Schlüsselwort "START" leitet ein Profil ein, gefolgt von dem Profilnamen (im unten folgenden Beispiel `gnometris`). `-buttons` leitet die Zuordnung der Gamepad-Tasten ein. Die Tasten werden in der Reihenfolge definiert, wie sie erkannt werden (0-x). Ist diese Reihenfolge nicht bekannt, kann diese mit folgendem Befehl ausprobiert werden: {{{#!vorlage Befehl jstest /dev/input/js0 }}} Für Sondertasten werden die Werte aus der Datei '''keysymdef.h''' verwendet. Mit dem folgenden Befehl kann man die Datei anzeigen: {{{#!vorlage Befehl nano $(locate keysymdef.h) }}} Im Beipiel wird dem Button0 also die Leertaste zugewiesen. `-axis` leitet die Zuordnung der Steuerachsen ein. Auch hier gefolgt von den Tastaturtasten in der o.g. Reihenfolge (links, rechts, oben, unten). === Beispieldatei === Eine Konfigurationsdatei für den Befehl aus dem vorherigen Beispiel würde z.B. so aussehen: {{{COMMON -dev /dev/input/js0 -thresh 258 766 258 766 START gnometris -X -axis Left Right Up Down -buttons space }}} Zum Starten genügt dann der Befehl: {{{#!vorlage Befehl joy2key -config gnometris }}} Der Fenstertitel des Spiels kann leider nicht in der Konfigurationsdatei gespeichert werden. Das Fenster muss also entweder jedesmal mit der Maus gewählt werden, oder man kann den Fenstertitel wieder zum Befehl hinzufügen: {{{#!vorlage Befehl joy2key "GNOMEtris" -config gnometris }}} # tag: Hardware, Controller