ich habe gerade folgendes Problem festgestellt:
isprint () ist der Meinung, das die Taste " Cursor hoch" ein druckbares Zeichen ist.
Ich erhalte folgende Scancodes:
Cursor auf: 259
Cursor ab 258
Cursor links 260
Cursor rechts 261
Nur bei "Cursor auf" liefert isprint TRUE, ansonsten FALSE
Woran kann das liegen ?
Code: Alles auswählen
#include <stdio.h>
#include <string.h>
#include <curses.h>
#include <ctype.h>
int main()
{
int tasten_code=0, taste = 0;
initscr(); // Initialisiert das Terminal
start_color(); // Farbe unterstuetzen
cbreak(); // Zeichen sofort weiterreichen
noecho(); // Kein Echo bei getch()
nonl(); // Keine neue Zeile bei Return
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE); // Ziffernblock aktivieren.
clear(); // Bildschirm loeschen
for (;;)
{
tasten_code = getch();
taste = isprint(tasten_code);
if ( taste)
{
printw ("\ndruckbar = ");
printw("dez = %d\n", tasten_code);
}
else
{
printw ("\nnicht druckbar");
printw("dez = %d\n", tasten_code);
}
}
}
Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.