der eine oder andere wird sich vielleicht noch an mein kleines Musikspielerprojekt erinnern (Vorstellung einer Bastelei?!).
Der gute Cubietruck, der bis jetzt dort gelaufen ist, ist immer wieder mit kleineren Problemen unangenehm aufgefallen (Störgeräusche bei Speicherkartenzugriffen im sonst recht anständigen analogen Ausgang, schlechte Bluetooth- und sonstige Hardwareunterstützung in Debian, unerklärliche Störgeräusche mit USB-Soundkarten, die mit dem WLAN zusammenzuhängen scheinen,....), weshalb ich ihn nun durch einen Raspberry Pi 3 ersetzt habe.
Und wie ich im obigen Thread auch bereits erzählt habe, gibt es im Linuxkernel Treiber, die es erlauben Taster und Drehimpulsgeber als Eingabegeräte zu verwenden, ganz so als wären es Zeigegeräte und Tastaturen.
Diesen Raspberry-Pi-spezifischen Teil habe ich nun recht gut im Griff meine ich, aber mir bereitet eine andere Frage Kopfzerbrechen:
Mein Programm, das u.a. auf die Drehimpulsgeber und Taster reagieren soll, lief am Cubietruck im Hintergrund als systemd-Service, wo es direkt auf die Hardware zugegriffen hat um die gpios mit den Tastern und Drehimpulsgebern zu überwachen. Das sollte ja jetzt nicht mehr notwendig sein, aber wie komme ich in einem Hintergrunddienst am besten zu den Eingabeereignissen?
- Für den normalsten Weg um zu Eingaben zu kommen müsste mein Programm ja im Vordergrund laufen – wäre es eine gute Idee meinen Dienst auf tty1 statt getty (?) zu starten?
- Oder sollte ich doch lieber direkt auf die Eingabegeräte zugreifen (würde ich ev. mit python3-evdev machen) und den Dienst weiterhin im Hintergrund laufen lassen?
- oder gibt es noch andere Möglichkeiten?
edit:
ich versuche es gerade mit 1. scheitere aber schon ganz am Anfang. Ich habe nicht die geringste Idee, wie ich via ssh ein Programm auf tty1 starten kann. Im Netz finde ich immer nur Beispiele mit einer Ausgabeumleitung auf tty1, aber mir geht es ja mehr um die Eingabe, die vom aktiven tty kommt (oder kommen soll).
lg Philipp