KeyUp-Simulation in der Konsole



  • Einen Tastendruck in der Konsole kann man ja mit getch() und kbhit() abfangen. Gibt es auch irgendwas, das anspringt, wenn ich eine Taste loslasse?

    Beispiel: Statt in einem Spiel für jeden Tastenanschlag eine Bewegung zu registrieren (was ja abhängig von der eingestellten Anschlagsgeschwindigkeit im Betriebssystem ist), würde ich beim ersten Tastendruck ein Flag setzen, dass sich die Figur bewegen soll, die Figur würde ich dann zeitgesteuert bewegen und beim Loslassen der Taste (KeyUp) würde ich das Flag zurücksetzen, damit die Figur stehenbleibt.



  • ReadConsoleInput(), KEY_EVENT_RECORD
    Damit bekommst du KeyUp Events.



  • Danke. Ich hab's ausprobiert und es funktioniert. (Man sollte vielleicht noch erwähnen, dass zusätzlich PeekConsoleInput benötigt wird, wenn man das Programm sofort fortsetzen will, wenn keine Messages verfügbar sind.)

    Noch eine zweite Frage:
    Wie kann ich ein KeyDown und KeyUp in einem echten 16 Bit DOS-Programm abprüfen? kbhit und getch sind ja auch hier wieder abhängig vom Tastenanschlag.


Log in to reply