Macht man mit curses.
Hier ein kleine Beispielprogramm, das ich vor (10?) Jahren mal geschrieben habe.
Kanns momentan leider nicht testen, lief aber....das was du willst sind die "move"
[Edit] Korrigiert (mehr includes) und getestet, kompilieren mit:
gcc -Wall -lncurses -o curtest curtest.c
Code:
#include <stdlib.h>
#include <stdio.h>
#include <curses.h>
int main (void)
{
int zeich, weiter = 1;
initscr ();
keypad (stdscr, 1);
cbreak ();
noecho ();
clear ();
printw ("Funktions- und Pfeiltasten\n");
printw ("==========================\n");
refresh ();
while (weiter) {
move (10, 0);
switch (zeich = getch ()) {
case KEY_UP:
printw ("'Pfeil nach oben', Size: %d, %d", LINES, COLS);
break;
case KEY_DOWN:
printw ("'Pfeil nach unten'");
break;
case KEY_LEFT:
printw ("'Pfeil nach links'");
break;
case KEY_RIGHT:
printw ("'Pfeil nach rechts'");
break;
case 27:
printw ("'Escape'");
weiter = 0;
break;
}
clrtoeol ();
if (weiter) {
move (12, 0);
printw ("Weiter...\n");
}
refresh ();
}
endwin ();
exit (0);
}
|