#include #include #include #include "read_events.h" #include "read_file.h" /* #include #include #include */ /* void write_mouse_event(mouse_event *event, FILE *file) { fwrite(event, sizeof(mouse_event), 1, file); fflush(file); } */ /* void listen() { FILE *ptr = fopen("t", "a"); if (ptr == NULL) return -1; mouse_event *my_event = (mouse_event *) malloc(sizeof(mouse_event)); Display *display; Window root_window; XEvent event; display = XOpenDisplay(0); root_window = DefaultRootWindow(display); int fd, bytes; unsigned char data[3]; const char *pDevice = "/dev/input/mice"; // Open Mouse fd = open(pDevice, O_RDWR); if(fd == -1) { printf("ERROR Opening %s\n", pDevice); return -1; } int left = 0; int right = 0; int middle = 0; signed char x, y; while(!left || !right) { // Read Mouse bytes = read(fd, data, sizeof(data)); if(bytes > 0) { left = data[0] & 0x1; right = data[0] & 0x2; middle = data[0] & 0x4; XQueryPointer( display, root_window, &event.xbutton.root, &event.xbutton.subwindow, &event.xbutton.x_root, &event.xbutton.y_root, &event.xbutton.x, &event.xbutton.y, &event.xbutton.state); if ((left || right) && !(left && right)) { my_event->infos &= 0x00; // rese;t my_event->infos = 0x80 | (0x01 * left) | (0x02 * right) | (0x03 * middle); my_event->x = event.xmotion.x; my_event->y = event.xmotion.y; printf("%d - %d\n", my_event->x, my_event->y); write_mouse_event(my_event, ptr); } //printf("====== %d\n", event.xbutton.button); printf("x=%d, y=%d, left=%d, middle=%d, right=%d\n", event.xmotion.x, event.xmotion.y, left, middle, right); } } // flush the middle button bytes = read(fd, data, sizeof(data)); fclose(ptr); return 0; // TODO on ecoute la souris // TODO on repete ce qu'on a entre } */ /* void readfile() { FILE *ptr = fopen("t", "r"); xdo_t *x_t = xdo_new(NULL); if (ptr == NULL) return -1; mouse_event *my_event = (mouse_event *) malloc(sizeof(mouse_event)); int left, right, x, y; while (!feof(ptr)) { printf("Souris \n"); fread(my_event, sizeof(mouse_event), 1, ptr); left = my_event->infos & 0x01; right = my_event->infos & 0x02; x = my_event->x; y = my_event->y; printf("%d - %d - %d\n", my_event->infos, x, y); xdo_move_mouse(x_t, x, y, 0); sleep(1); if (left) { xdo_click_window(x_t, CURRENTWINDOW, 1); } if (right) { xdo_click_window(x_t, CURRENTWINDOW, 3); } sleep(5); } xdo_free(x_t); } */ int main() { FILE *file = fopen("t", "w+"); if (file == NULL) return -1; int t = listen(file); if (t) return t; printf("Fin\n"); rewind(file); printf("On commence\n"); sleep(5); readfile(file); fclose(file); return 0; }