RetroPi: Emulationstation mit mehreren Controllern und Tastatur bedienen
Aus znilwiki
An meinem RetroPi habe ich
- Funk Tastatur + Maus von Logitech
- 2 identische USB-Gamepad
- 1 Competition Pro Extra Joystick
- Funk-Fernbedienung (insbesondere für Kodi)
In Kodi kann ich Tastatur, Maus und die Funkfernbedienung gleichwertig nutzen, auch die Gamepads lassen sich per AddOn einrichten und gleichzeitig(!) nutzen.
In der Emuationstation funktioniert nur der erste Controller. Ich würde dort aber auch gern die Fernbedienung nutzen können.
Verantwortlich für die Emulationstation ist die folgende Konfigurationsdatei:
nano /opt/retropie/configs/all/emulationstation/es_input.cfg
In dieser muss es pro Controller einen Abschnitt geben.
Original sah es bei mir so aus (nur ein Gamepad):
<?xml version="1.0"?>
<inputList>
<inputAction type="onfinish">
<command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
</inputAction>
<inputConfig type="joystick" deviceName="DragonRise Inc. Generic USB Joystick " deviceGUID="03000000790000000600000010010000">
<input name="pageup" type="button" id="4" value="1"/>
<input name="start" type="button" id="9" value="1"/>
<input name="down" type="axis" id="1" value="1"/>
<input name="pagedown" type="button" id="5" value="1"/>
<input name="right" type="axis" id="0" value="1"/>
<input name="select" type="button" id="8" value="1"/>
<input name="left" type="axis" id="0" value="-1"/>
<input name="up" type="axis" id="1" value="-1"/>
<input name="a" type="button" id="1" value="1"/>
<input name="b" type="button" id="2" value="1"/>
<input name="x" type="button" id="0" value="1"/>
<input name="y" type="button" id="3" value="1"/>
</inputConfig>
</inputList>
Pro deviceName muss es eine Datei unter
/opt/retropie/configs/all/retroarch-joypads/
geben. Diese Dateien werden in der Regel durch den Konfigurationsdialog im Emulationstation-Menü erstellt.
Das Menü erreicht Ihr über
Start -> Configure Input
und entspricht dem Menü welches es schon beim allerersten Start gab.
Das arbeitet Ihr mit jedem Controller, Joystick oder auch der Tastatur durch.
Danach sah die Datei
cat /opt/retropie/configs/all/emulationstation/es_input.cfg
wie folgt aus:
<?xml version="1.0"?>
<inputList>
<inputAction type="onfinish">
<command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
</inputAction>
<inputConfig type="joystick" deviceName="DragonRise Inc. Generic USB Joystick " deviceGUID="03000000790000000600000010010000">
<input name="pageup" type="button" id="4" value="1"/>
<input name="start" type="button" id="9" value="1"/>
<input name="down" type="axis" id="1" value="1"/>
<input name="pagedown" type="button" id="5" value="1"/>
<input name="right" type="axis" id="0" value="1"/>
<input name="select" type="button" id="8" value="1"/>
<input name="left" type="axis" id="0" value="-1"/>
<input name="up" type="axis" id="1" value="-1"/>
<input name="a" type="button" id="1" value="1"/>
<input name="b" type="button" id="2" value="1"/>
<input name="x" type="button" id="0" value="1"/>
<input name="y" type="button" id="3" value="1"/>
</inputConfig>
<inputConfig type="joystick" deviceName="SPEEDLINK COMPETITION PRO Game Controller for Android " deviceGUID="03000000790000001c18000011010000">
<input name="start" type="button" id="1" value="1"/>
<input name="down" type="axis" id="1" value="1"/>
<input name="right" type="axis" id="0" value="1"/>
<input name="select" type="button" id="4" value="1"/>
<input name="left" type="axis" id="0" value="-1"/>
<input name="up" type="axis" id="1" value="-1"/>
<input name="a" type="button" id="3" value="1"/>
<input name="b" type="button" id="0" value="1"/>
</inputConfig>
<inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1">
<input name="start" type="key" id="1073741952" value="1"/>
<input name="down" type="key" id="1073741905" value="1"/>
<input name="right" type="key" id="1073741903" value="1"/>
<input name="select" type="key" id="1073741953" value="1"/>
<input name="left" type="key" id="1073741904" value="1"/>
<input name="up" type="key" id="1073741906" value="1"/>
<input name="a" type="key" id="13" value="1"/>
<input name="b" type="key" id="27" value="1"/>
<input name="x" type="key" id="1073741925" value="1"/>
<input name="y" type="key" id="1073742093" value="1"/>
</inputConfig>
</inputList>
und ich konnte alle Gamepads, den Joystick, meine Fernbedienung und die Tatstatur nutzen.
- Da 2 der Gamepads identisch sind teilen diese sich einen Eintrag (beide gleich konfiguriert)
- Fernbedienung und Tastatur teilen sich ebenfalls einen Eintrag da die Fernbedienung eine Tastatur emuliert.