Forum: PC-Programmierung c getchar ohne zwangseingabe


von Martias Klein (Gast)


Lesenswert?

Guten Abend,

ich schlage mich grade mit ncurses herum.

Und such vergeblich um eine Möglichkeit,
gedrückte tasten aus dem Eingabe buffer auszulesen ohne,
das das Program eine Eingabe bekommt.
Es soll also auch weiterlaufen und nicht auf die Eingabe des users 
warten,
sondern nur, den scancode zurück geben, wenn eine Taste gedrückt wurde.


Dank schon jetzt.

von hp-freund (Gast)


Lesenswert?


von ikarus (Gast)


Lesenswert?

Martias Klein schrieb:
> Und such vergeblich um eine Möglichkeit,
> gedrückte tasten aus dem Eingabe buffer auszulesen ohne,
> das das Program eine Eingabe bekommt.
> Es soll also auch weiterlaufen und nicht auf die Eingabe des users
> warten,
> sondern nur, den scancode zurück geben, wenn eine Taste gedrückt wurde.
Betriebssystem?
Ansonsten, für Linux, würde ich nicht-blockierendes Lesen mit read() 
vorschlagen. Geht vielleicht auch für Windows...
Du bekommst einen Char, dass mit den Scancodes läuft glaube ich anders. 
(Keine Ahnung wie, vermutlich müsstest du für den Scancode dann direkt 
an den Tastatur-Treiber ran??? Oder ich verstehe dich falsch. ;-))

http://pronix.linuxdelta.de/C/Linuxprogrammierung/Linuxsystemprogrammieren_C_Kurs_Kapitel5b.shtml

von ikarus (Gast)


Lesenswert?

Ach ja, select() könntest du auch nehmen...

von Martias Klein (Gast)


Lesenswert?

Danke.

von Sven P. (Gast)


Lesenswert?

Oder termcap, termios oder termio, um das Terminal auf nicht-kanonischen 
Modus umzustellen.

von Hermann-Josef M. (hermann-josef)


Angehängte Dateien:

Lesenswert?

Hallo Martias,

anbei zwei Funktionen für Linux, so wie Sven P. es vorschlägt.

gl
Hermann-Josef

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.