Frage zu getch()
-
Wenn ich die Pfeiltasten mit getch() auslese und den Rückgabewert als Buchstaben ausgebe, werden seltsame kombinationen aus mehreren Buchstaben angezeigt,
óH, óK, óP und óM
1. Wie können in einem Buchstaben zwei rein kommen?
2. Gibt es so eine Art Virtual Key code für getch() oder wie kann ich die tasten
identifizieren?3. Welche Alternativen gibts zu getch()
Danke für Antworten!
-
1. Wie können in einem Buchstaben zwei rein kommen?
Gar nicht. Vielleicht sind óM ja irgendwelche Ligaturen. Auf jeden Fall kann ein Zeichencode auch auf eine spezielle Sequenz o.ä. verweisen, je nach Codierung.
2. Gibt es so eine Art Virtual Key code für getch() oder wie kann ich die tasten
identifizieren?Pfeiltasten sind weder Teil des C++-Standards noch (soweit mir bekannt) irgendeiner Codierung wie ASCII oder Unicode.
Die virtuellen Key Codes kriegst du über die Win-API, aber die benutzt man nicht in Verbindung mitgetch().3. Welche Alternativen gibts zu getch()
Das beantworte ich mit einer Frage: Was brauchst du genau?
-
Ich brauche die Pfeiltasten!
Das mit der WinAPI ist mir dafür ein wenig zu aufwendig.

Wenn getch() aber ja trotzdem etwas zurückgibt, wenn ich die Pfeiltasten drücke, dann ist es eigentlich doch auch möglich, herauszufinden, welcher Wert nun wirklich zurückgegeben wird, und das könnte man verwenden.
Idee: ich wandle einfach mal den zurückgegebenen char in einen int um und lass ihn mir anzeigen..
-
Die Funktionstasten liefern 2 Werte zurück.
Der erste Wert ist immer gleich und dient zur Erkennung der Funktionstasten.
Der zweite ist dann zur Unterscheidung der Tasten.Bei mir ist das schon so lange her, dass ich die Werte nicht mehr kenne.
Im Forum sollte die Frage aber auch schon mehrmals aufgetaucht sein.