Hola:
Lo primero es que debes decir si la quieres para Linux o para windows, porque si es para windows, como ya tu lo sabes, el "getch" de la conio.h te puede ayudar con lo que quieres; pero si es para Linux tambien puedes usar el mismo "getch" y te haria la misma funcion, pero se encuentra en las librerias "ncurses" y "curses.h".
Ah, me parece que en windows tambien tienes "kbhit" que te puede funcionar como el "getch".
Si te interesa algun ejemplo en linux, aqui tienes el siguiente:
#include <stdio.h>
#include <ncurses.h>
#define KEY_ESC ' 33'
main ()
{
int c,x=1,y=1;
initscr(); //Inicializo Ncurses.
keypad(stdscr,TRUE); //Permito el mapeo de las teclas de funciones en la pantalla.
while ((c=getch())==KEY_RIGHT) //Leo la tecla presionada.
{
mvprintw(x,y,"A"); //Me muevo a las coordenadas (x,y) e imprime la letra "A".
if (y<=10) y=y+1; //Aumenta las columnas.
else {x=x+1;y=1;printw("n");} //Aumenta la fila, hace la columna 1 y baja a una nueva linea.
}
refresh(); //Refresco de pantalla para sacar los caracteres.
endwin(); //Finalizar Ncurses.
}
Lo compilas: gcc -o nombre nombre.c -l ncurses
Suerte, y espero y te ayude.
Ariel.