Tastenabfrage in der Konsole

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Vertex

Betreff: Tastenabfrage in der Konsole

BeitragSa, Aug 19, 2006 22:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Joar, wie kann ich die Tasten abfragen in der Konsole? Beispielsweise soll er mir immer ein paar Debumessages ausgeben und wenn man Tabulator drückt, kann man einen Befehl eingeben. Das Problem ist, ich kann ja nicht ständig Input aufrufen, da dadurch die Ausgabe der Debugmessages auf sich wartet.
Falls jemand so schlau ist: KeyDown/Hit funktionieren nur im Grafikmodus Wink
mfg olli
 

Dreamora

BeitragSa, Aug 19, 2006 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Garnicht
In einer Konsole gibt es keine Events

Da müsstest du dir mittels MaxGUI eine eigene Konsole schreiben, die darauf reagiert, fürchte ich ...
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Vertex

BeitragSa, Aug 19, 2006 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, geh mal von einem Linuxserver aus(denn das soll ein Server werden). Standardmäßig läuft da nix im Grafikmodus nur rein Konsole.
Hmm, nicht dass das schonwieder ein scheiß rum gehacke wird, wo ich eine eigene StanardIO schreiben muss Sad
mfg olli
 

Dreamora

BeitragSo, Aug 20, 2006 1:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Da gibts dann garkeine Probleme. Linux Server ohne Window System -> keine Events, nur Input existiert.

Also alles was du tun kannst ist nach dem Char von Tab zu schauen, sonst gibts da nix. Also jo: StdIO gehacke
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

simi

BeitragSo, Aug 20, 2006 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast dus schon mal mit EnablePolledInput() probiert....
Mit diesem Befehl kann man zum Beispiel beim Benutzen von MaxGUI auch wieder KeyHit/KeyDown aktivieren.... Allerdings weiss ich nicht, ob das auch in der Konsole was bringt....

FOODy

BeitragSo, Aug 20, 2006 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
simi hat Folgendes geschrieben:
Hast dus schon mal mit EnablePolledInput() probiert....
Mit diesem Befehl kann man zum Beispiel beim Benutzen von MaxGUI auch wieder KeyHit/KeyDown aktivieren.... Allerdings weiss ich nicht, ob das auch in der Konsole was bringt....

Das System basiert auf Events.
Aber:
Zitat:
In einer Konsole gibt es keine Events
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB

Ninja

BeitragSo, Aug 20, 2006 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
oder du verwendest den WinAPI befehl GetAsyncKeyState(vk),
der fängt tastendrücke Systemweit ab, du kannst ja dann prüfen ob deine konsole das fokusierte fenster ist! für den Tabulator ist als parameter VK_TAB einzusetzen, das ist eine konstante mit dem wert 9.

hoffe ich konnte helfen Smile

Edit: Ups gerade gesehen du brauchst das für linux, in dem fall nützt die WinAPI nicht..
Spiele & Security Tools
www.SelfSoft.org

Vertex

BeitragSo, Aug 20, 2006 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Muss mal schauen, ob es mit scanf("%c", Varptr(Taste)) geht oder ob dadurch das Programm gebremst wird.

Ansonsten suche ich mir was äquivalentes zu Ninja seiner Funktion(werde sowieso erstmal das auf einem Windowsrechner testen)

mfg olli

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group