#include <curses.h>
#include <string.h>

// Compile:
// gcc -o coords coords.c -lncurses

void show_coords(int x, int y)
{
  mvprintw(0,0,"(%3d,%3d)", x, y);
  refresh();
}

int main(void)
{
  initscr();
  noecho();
  keypad(stdscr, TRUE);
  start_color();

  int x = COLS/2, y = LINES/2;

  while(1) {
    move(y,x);
    int ch = getch();
    if (ch == 'q' || ch == 'Q') break;

    if (ch == KEY_UP) y--;
    if (ch == KEY_DOWN) y++;
    if (ch == KEY_LEFT) x--;
    if (ch == KEY_RIGHT) x++;
    show_coords(x, y);
  }


  mvprintw(LINES-1,0, "Press any key to exit.");
  getch();

  echo();
  endwin();
  return 0;
}