#include #include #include #include #include #include char *directions = "UDLR"; int cf; void handler(int signal){ close(cf); printf("Ok, we closed the file!\n"); exit(0); } int main(){ struct sigaction action; action.sa_handler = handler; sigaction(SIGINT, &action, 0); cf = open("/proc/mousectl", O_WRONLY); for(;;){ int n = random() % 2; char d = directions[random()%4]; char message[16]; message[0] = d; sprintf(message+1, "%d", n); write(cf, message, strlen(message)); usleep(1000); n = random() % 10; if(n == 5){ strcpy(message, "C1"); write(cf, message, strlen(message)); usleep(1000); strcpy(message, "C0"); write(cf, message, strlen(message)); } } }