Hallo Galaxy Ranger

Eventuell ist es bereits zu spät für eine Antwort 😕
Zur Frage zwei kann ich dir jedoch ein paar Infos geben. Du kannst über die GPIO-Pins vom Raspi sogenannte RetroArch-Befehle an den Emulator schicken, so wie du es normal mit den Controllertasten Kombinationen machen würdest.
Ich habe z.B. so den Reset-Taster meines N64 Builds funktionsfähig gemacht:

#!/usr/bin/env python import RPi.GPIO as GPIO import time import socket # addressing information of target IPADDR = "127.0.0.1" PORTNUM = 55355 # enter the data content of the UDP packet COMMAND = "RESET" def retroarch(nwcommand): try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) except socket.error: print 'Failed to create socket' sys.exit() s.sendto(nwcommand, (IPADDR, PORTNUM)) s.close GPIO.setmode(GPIO.BCM) GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP) def netcmd(channel): retroarch(COMMAND) GPIO.add_event_detect(3, GPIO.BOTH, callback=netcmd, bouncetime=500) while True: time.sleep(0.2)