#include #include int main() { // one way to enable mouse tracking printf("\e[?1000h\e[?1006h"); // disable echo and line buffering for mouse struct termios term; tcgetattr(0, &term); term.c_lflag &= ~(ECHO | ICANON); tcsetattr(0, TCSANOW, &term); // read next mouse location int x,y; scanf("\e[<0;%d;%dM", &x, &y); // disable mouse tracking, maybe misordered printf("\e[?1000l"); // output mouse location printf("%d %d\n", x, y); // enable echo and line buffering term.c_lflag |= ECHO | ICANON; tcsetattr(0, TCSANOW, &term); }