Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Tastatur reagiert nicht (pi mit Freebasic)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Ingo



Anmeldungsdatum: 13.10.2009
Beiträge: 10
Wohnort: Schweden

BeitragVerfasst am: 06.04.2016, 12:03    Titel: Tastatur reagiert nicht (pi mit Freebasic) Antworten mit Zitat

Hallo,

ich habe hier vor mir einen Raspberry Pi 2 Model B liegen mit der folgenden Konfiguration und muss auch dazu sagen, dass ich nicht der Linux-Crack bin:

Betriebssystemversion (uname -a):
Linux raspberrypi 4.1.13-V7+ #826 PREEMPT arm6l

Editor:
Geany 1.22

FreeBASIC Compiler:
Version 1.04.0 (07-27-2015), built for linux-arm (32bit)

Wiringpi:
Version 2.25

Als Testprogramm hab ich folgendes geschrieben:
Code:

   #INCLUDE ONCE "wiringPi.bi"

'-----------------------------------------------------------------------------   
   SCREEN 19,,1
   CLS
   PRINT "SCREEN 19"
   PRINT "ESC = Beenden"

'-----------------------------------------------------------------------------
   DIM AS INTEGER PINNR
   DIM AS STRING KEY

   PINNR = 0
   
'-----------------------------------------------------------------------------
' PRUEFE WIRINGPI SETUP
   IF WIRINGPISETUP()=-1 THEN
      PRINT "FEHLER: KANN GPIO NICHT INITIALISIEREN!"
      SLEEP : END
   END IF

'-----------------------------------------------------------------------------
      PINMODE(0, PIN_OUTPUT)
   DO
      DIGITALWRITE(PINNR,PIN_HIGH)
      SLEEP 50
      DIGITALWRITE(PINNR,PIN_LOW)
      SLEEP 50
      
      LINE (110,110)-(130,130),RND(1)*15,BF
                  
      KEY = INKEY
      IF KEY <> "" THEN
         LOCATE 5,5
         PRINT "Eingabezeichen ist = ";KEY;"(";ASC(KEY);")    "
      END IF
         
      IF KEY = CHR(27) THEN EXIT DO
   LOOP

Nach dem Einloggen starte ich das Xwindows mit

startx.

Öffne ich dann unter xwindow ein Konsolenfenster und starte darin das obige Programm, dann kann man auf der Tastatur Zeichen eingeben und der ASCI-Code wird auch angezeigt. Zur Kontrolle, ob die Grafikfunktionen und auch der Portzugriff über wiringPi funktioniert, wechselt ein kleines Quadrat ständig die Farbe und die LED an Portpin 11 (GPIO0) flackert.

Beende ich nun x und starte das Programm mit

sudo ./input_test

dann kann ich auch den ASCI-Code der Tastatureingabe sehen und die LED flackert, aber das farbige Quadrat ist nicht da.

Womit sich die erste Frage ergibt. Kann man keine Grafikfunktionen nutzen ohne X ?

Dann hab ich noch probiert das Programm über X zu starten mit

xinit ./input_test.

Das X startet kurz an und beendet sich sofort wieder.
Das gleiche nochmal mit

sudo xinit ./input_test.

Nun startet das Programm. Die LED flackert, das Quadrat ändert die Farbe, aber ich kann auf der Tastatur eingeben was ich will auf dem Schirm tut sich nichts !?!??!?!?
Wechsel ich dann auf die Konsole tty1 dann erscheint bei Tastatureingaben zwar das Zeichen, aber es passiert nichts weiter. Das Programm kann ich nur mit CTRL-C abbrechen anstelle von ESC.

Womit sich die zweite Frage ergibt. Warum kommen die Tastatureingaben nicht bei dem Programm an?

Ich habe mich durch die man-Pages gegraben, aber keine Lösung gefunden oder aber vieleicht auch nicht verstanden. Ich hoffe hier kann mir jemand weiter helfen.

Gruss Ingo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2459
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 08.04.2016, 19:43    Titel: Antworten mit Zitat

Ich würde sonst mit
Code:
export DISPLAY=localhost:0.0

die DISPLAY-Umgebungsvariable setzen, um Deinem Programm mitzuteilen, wo der X-Server läuft. Umgekehrt muss auf der X-Server-Sitzung evtl. mit "xhost" noch der X-Client autorisiert sein.

Sonst hast Du wie korrekt beobachtet nur reinen Textbetrieb, was Linux-typisch ist, wo viele wie ich bei all meinen Server sich typischerweise mit einem SSH-Client wie PuTTY von Windows aus anmelden.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Ingo



Anmeldungsdatum: 13.10.2009
Beiträge: 10
Wohnort: Schweden

BeitragVerfasst am: 09.04.2016, 13:30    Titel: Antworten mit Zitat

Hallo dreael,
danke für die Antwort. Ich werde das mal ausprobieren. Was ich trotzdem nicht verstehe ist warum die Tastatur nicht im Programm funktiniert wen ich es mit

sudo xinit ./input_test

starte. Weil da funktioniert ja denn die Grafik, aber ich habe keine Tastatur. Es sieht ja so aus als wenn die Tastatur, in diesem Falle, von/in einem anderen Prozess steckt oder benutzt wird.

Oder ist das völlig falsch gedacht?

Gruss Ingo
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz