add time between two clicks
This commit is contained in:
parent
55a4f5d8ab
commit
6126d62097
4 changed files with 39 additions and 8 deletions
|
@ -5,8 +5,17 @@
|
||||||
#include "event.h"
|
#include "event.h"
|
||||||
#include "read_file.h"
|
#include "read_file.h"
|
||||||
|
|
||||||
void readfile(FILE *file)
|
args_readfile * args_rf_init(FILE *file, int time_sleep)
|
||||||
{
|
{
|
||||||
|
args_readfile *ret = (args_readfile *) malloc(sizeof(args_readfile));
|
||||||
|
ret->file = file;
|
||||||
|
ret->time_sleep = time_sleep;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void readfile(args_readfile *args)
|
||||||
|
{
|
||||||
|
FILE *file = args->file;
|
||||||
xdo_t *x_t = xdo_new(NULL);
|
xdo_t *x_t = xdo_new(NULL);
|
||||||
|
|
||||||
event *current_event = new_event();
|
event *current_event = new_event();
|
||||||
|
@ -19,7 +28,7 @@ void readfile(FILE *file)
|
||||||
fread(current_event, sizeof(event), 1, file);
|
fread(current_event, sizeof(event), 1, file);
|
||||||
if (ferror(file))
|
if (ferror(file))
|
||||||
{
|
{
|
||||||
printf("Erreur !!");
|
fprintf(stderr, "Erreur à la lecture du fichier");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,13 +40,12 @@ void readfile(FILE *file)
|
||||||
y = current_event->y;
|
y = current_event->y;
|
||||||
|
|
||||||
xdo_move_mouse(x_t, x, y, 0);
|
xdo_move_mouse(x_t, x, y, 0);
|
||||||
sleep(1);
|
|
||||||
|
|
||||||
if (left) xdo_click_window(x_t, CURRENTWINDOW, 1);
|
if (left) xdo_click_window(x_t, CURRENTWINDOW, 1);
|
||||||
if (middle) xdo_click_window(x_t, CURRENTWINDOW, 2);
|
if (middle) xdo_click_window(x_t, CURRENTWINDOW, 2);
|
||||||
if (right) xdo_click_window(x_t, CURRENTWINDOW, 3);
|
if (right) xdo_click_window(x_t, CURRENTWINDOW, 3);
|
||||||
|
|
||||||
sleep(5);
|
sleep(args->time_sleep);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(current_event);
|
free(current_event);
|
||||||
|
|
|
@ -1,4 +1,19 @@
|
||||||
#ifndef READ_FILE
|
#ifndef READ_FILE
|
||||||
#define READ_FILE
|
#define READ_FILE
|
||||||
void readfile(FILE *file);
|
|
||||||
|
/*
|
||||||
|
* Arguments pour la lecture du fichier.
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
/* le fichier à lire */
|
||||||
|
FILE *file;
|
||||||
|
/* le temps entre chaque clic */
|
||||||
|
int time_sleep;
|
||||||
|
} args_readfile;
|
||||||
|
|
||||||
|
/* Initialise les arguments. Doit être libérer par l'appelant. */
|
||||||
|
args_readfile * args_rf_init(FILE *file, int time_sleep);
|
||||||
|
|
||||||
|
/* Lit un fichier et répète les clics avec une pause entre chaque. */
|
||||||
|
void readfile(args_readfile *args);
|
||||||
#endif
|
#endif
|
||||||
|
|
12
src/ui.c
12
src/ui.c
|
@ -15,10 +15,13 @@ ui_infos * init_ui(char *name)
|
||||||
strcpy(ret->name, name);
|
strcpy(ret->name, name);
|
||||||
ret->file = fopen(name, "w+");
|
ret->file = fopen(name, "w+");
|
||||||
ret->is_recording = 0;
|
ret->is_recording = 0;
|
||||||
|
ret->args_rf = args_rf_init(ret->file, 1);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void free_ui(ui_infos *ptr)
|
void free_ui(ui_infos *ptr)
|
||||||
{
|
{
|
||||||
|
if (ptr->args_rf != NULL) free(ptr->args_rf);
|
||||||
if (ptr->file != NULL) fclose(ptr->file);
|
if (ptr->file != NULL) fclose(ptr->file);
|
||||||
if (ptr->name != NULL) free(ptr->name);
|
if (ptr->name != NULL) free(ptr->name);
|
||||||
free(ptr);
|
free(ptr);
|
||||||
|
@ -41,9 +44,8 @@ int draw_ui(ui_infos *ptr)
|
||||||
* Liste déroulantes des fenetres pour savoir où faire les clics
|
* Liste déroulantes des fenetres pour savoir où faire les clics
|
||||||
*/
|
*/
|
||||||
|
|
||||||
igText("Fichier : %s", ptr->name);
|
|
||||||
igBegin("Test", NULL, ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoDecoration);
|
igBegin("Test", NULL, ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoDecoration);
|
||||||
igText("Test");
|
igText("Fichier : %s", ptr->name);
|
||||||
|
|
||||||
if (ptr->is_recording)
|
if (ptr->is_recording)
|
||||||
{
|
{
|
||||||
|
@ -71,10 +73,14 @@ int draw_ui(ui_infos *ptr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
igSetNextItemWidth(100.0);
|
||||||
|
igInputInt("Temps de repos entre chaque clic (s)", &ptr->args_rf->time_sleep, 1, 10, 0);
|
||||||
|
if (ptr->args_rf->time_sleep <= 0) ptr->args_rf->time_sleep = 1;
|
||||||
|
|
||||||
if (igButton("Replay", (ImVec2) {0, 0}))
|
if (igButton("Replay", (ImVec2) {0, 0}))
|
||||||
{
|
{
|
||||||
rewind(ptr->file);
|
rewind(ptr->file);
|
||||||
readfile(ptr->file);
|
readfile(ptr->args_rf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
2
src/ui.h
2
src/ui.h
|
@ -1,12 +1,14 @@
|
||||||
#ifndef UI
|
#ifndef UI
|
||||||
#define UI
|
#define UI
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
#include "read_file.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char *name;
|
char *name;
|
||||||
FILE *file;
|
FILE *file;
|
||||||
char is_recording;
|
char is_recording;
|
||||||
pthread_t pid;
|
pthread_t pid;
|
||||||
|
args_readfile *args_rf;
|
||||||
} ui_infos;
|
} ui_infos;
|
||||||
|
|
||||||
ui_infos * init_ui(char *name);
|
ui_infos * init_ui(char *name);
|
||||||
|
|
Loading…
Reference in a new issue