import time from pynput import keyboard, mouse import pyautogui from ast import literal_eval # Classe pour enregistrer les événements class InputRecorder: def __init__(self, file_name="events_log.txt"): self.events = [] self.file_name = file_name # Fonction pour gérer les événements du clavier def on_press_key(self, key): try: self.events.append(('keyboard', 'press', key.char, time.time())) except AttributeError: self.events.append(('keyboard', 'press', key.name, time.time())) def on_release_key(self, key): print(key, "############ key released", keyboard.Key.esc) self.events.append(('keyboard', 'release', key, time.time())) if key == keyboard.Key.esc: return False # Fonction pour gérer les événements de la souris def on_click(self, x, y, button, pressed): if pressed: self.events.append(('mouse', 'click', button.name, (x, y), time.time())) # Fonction pour démarrer l'enregistrement def start_recording(self): print("Appuie sur Échap pour arrêter l'enregistrement...") with keyboard.Listener(on_press=self.on_press_key, on_release=self.on_release_key) as kl, mouse.Listener(on_click=self.on_click) as ml: kl.join() ml.join() # Sauvegarder les événements dans un fichier with open(self.file_name, "w") as f: for event in self.events: f.write(str(event) + "\n") print(f"Les événements ont été sauvegardés dans {self.file_name}") if __name__ == "__main__": # Enregistrement des événements recorder = InputRecorder() recorder.start_recording()