#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); int user_lflag = term.c_lflag; term.c_lflag &= ~(ECHO | ICANON); tcsetattr(0, TCSANOW, &term); // read next mouse location int w,x,y; char b; scanf("\e[<%d;%d;%d%c", &w, &x, &y, &b); // 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 |= user_lflag; tcsetattr(0, TCSANOW, &term); }