Mouse-Jiggler mit CircuitPython auf Raspberry Pi PICO

In Zeiten von Homeoffice und elektronischer Kontrolle der Anwesenheit, ist dieses Script überaus beliebt geworden. Der Mouse-Jiggler bzw. Simulator verhindert das Aktivieren der Bildschirmsperre oder eines Timeouts am Rechner, gegen versehentliche Sperrung.

Einkaufsliste zum Beitrag

Der Mouse-Jiggler ist in CircuitPython geschrieben und soll die virtuelle Maus zyklich alle paar Minuten hin und her bewegen, um eine eventuelle Bildschirmsperre oder einen Timeout bei bestimmten Operationen am PC verhindern.

Das wird benötigt

Sie benötigen die folgenden Komponenten für den Mouse-Jiggler

Das Pico-Board mit USB Kabel

Die Bibliothek

Wenn Sie die Bibliothek von GitHub herunter geladen haben, erhalten Sie in der Regel ein ZIP-File, darin enthalten finden Sie den Ordner adafruit_hid. Kopieren Sie diesen Ordner einfach mittels Dateiexplorer auf den Raspberry Pi Pico in das Verzeichnis lib hinein. Diese wird im Code in Zeile 005 automatisch geladen.

Der Code - code.py

Der Code ist ist recht übersichtlich aufgebaut und kann unten kopiert und angepasst werden. Startet der Code auf dem Pico, signalisiert die interne LED das Bewegen des Mauszeigers alle 30 Sekunden. Speichern Sie das folgende Script als code.py auf dem Raspberry Pi Pico ab.

001  import time
002  import usb_hid
003  import board
004  import digitalio
005  from adafruit_hid.mouse import Mouse
006
007  mouse = Mouse(usb_hid.devices)
008
009  led = digitalio.DigitalInOut(board.GP25)
010  led.direction = digitalio.Direction.OUTPUT
011
012  led.value=False
013  time.sleep(5)
014
015  while True:
016      led.value=True
017      mouse.move(x=100)
018      time.sleep(1)
019      led.value=False
020   
021      time.sleep(30)
022   
023      led.value=True
024      mouse.move(x=-100)
025      time.sleep(1)
026      led.value=False
027   
028      time.sleep(30)

Natürlich kann dieses Script auch dahingehend angepasst werden, damit die Maus kleinere (nicht komplexe) Arbeitsschritte automatisiert abarbeitet. Dazu ist es allerdings erforderlich, das die Maus feste Koordinaten ansteuert, um sichere Referenzpunkte anfahren zu können die sich nicht ändern. mouse.move(x=-2000) und mouse.move(y=-2000) bewirkt, das die Maus garantiert immer oben links als festen Referenzpunkt starten kann.

Autor

About me


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Programmier-Sprachen und Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 24 Jahren arbeite ich als Entwickler in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen und seit etwa 37 Jahren im EDV-Sektor mit wechselnden Aufgaben.

Meta: Instagram CMSWorkbench.de GIMP-Handbuch.de Kontakt Impressum Datenschutz