Bluethooth Mouse Jiggler

Von Michael Gisbers 19. März 2025

Es ist nicht mein erster und wird vielleicht auch nicht mein letzter Mouse Jiggler sein. Den ersten hatte ich mir für ein Bank Projekt gekauft bei dem die Firmenpolicy vorgegeben hat alle 10 Minuten den Bildschirmschoner und -sperre einzuschalten.

Eigentlich keine schlechte Idee, wenn man davon ausgeht, dass ein Anwender - wenn für 10 Minuten nichts über Maus oder Tastatur eingegegeben wurde - den Rechner verlassen und ungesperrt zurückgelassen hat. Der Rechner ist dann gesperrt und niemand ist in der Lage schöne E-Mails an die gesamte Belegschaft zu schreiben oder mal nach Daten zu sehen auf die man sonst keinen Zugriff hat.

Oftmals kommt es aber auch dazu, dass dieser Schutz genau dann stört, wenn es nicht sinnvoll ist. Wie z. B. bei unseren Testläufen für die Einrichtung von Remote-Systemen. Bei denen wir die Konsole der entfernten Rechner lokal beobachten mussten.

Dazu starrt man in der Regel nicht die komplette Zeit auf den Monitor, sondern erledigt parallel - auf einem anderen Rechner - Aufgaben. Und zack, ist der Bildschirm wieder gesperrt und man muss ihn mit einem Kennwort, einer Pin, mit beidem oder einem leichten Lächeln in die Kamera wieder entsperren.

Wie schön wäre es für solche Zwecke einfach die Zeitspanne auf 30 Minuten setzen zu können oder vielleicht abzuschalten solange das aktuell offene Fenster angezeigt wird.

Mhhhh… Was da fehlt sind dann die Rechte für die lokale Administration, ohne die ein solcher Eingriff nicht erlaubt ist. Die Anwender könnten - wahrscheinlich würden es auch einige tun - die Sicherung komplett ausschalten und damit den Rechner ungeschützt in der feindlichen Umgebung des Arbeitsplatzes zurücklassen.

Um es klarzustellen: Ich bin nicht gegen die Sperren als solches, aber sie sollten ein wenig besser an die jeweiligen Bedürfnisse der Anwender angepasst sein.

Solange die Administratoren sich darauf nicht einlassen wollen, muss man sich eben selber helfen.

Leider kann ich diesmal dafür nicht meinen schönen Hardware Mouse Jiggler nehmen, den ich online für 15 € gekauft hatte. Die USB - ID des Gerätes ist in dem Unternehmen schon bekannt und die Administratoren haben ihn gesperrt.

Also habe ich mich zunächst nach einem anderen Modell umgesehen um dann ein recht simples Projekt auf GitHub gestoßen.

Dieses Projekt verspricht einen Mouse Jiggler, der einfach die Maus regelmäßig um einen Pixel hin und her bewegt, als eine normale Maus per Bluetooth zur Verfügung zu stellen. Dabei werden die IDs von üblichen Geräten benutzt, die eine Firma nicht ohne weiteres sperren wird.

Alles was benötigt wird ist ein ESP32 mit einem Bluetooth Modul. In meinem Fall ein Wemos D1 Mini ESP32 mit einem ESP32-Wroom-32 Modul. Es gibt aber auch eine große Auswahl an anderen Modellen, die passen. Zufällig habe ich noch ein paar von diesen.

Optimal an dem Projekt ist, dass man keinerlei Änderungen am dem Modul macht, sondern nur das Kabel anschließt und direkt installieren kann.

Auch wenn in der Anleitung zusätzlich zu dem Programm platformio noch VS Code benutzt werden soll, ist das eigentlich unter Linux nicht notwendig.

Auf meinem Rechner ist platformio schon installiert und mit wenigen Befehlen konnte ich direkt das Projekt herunterladen, bauen und installieren.

cd /tmp
git clone https://github.com/joedust/esp32-ble-mouse-jiggler.git
cd esp32-ble-mouse-jiggler
platformio run -e mx-anywhere-3
platformio run -t upload -e mx-anywhere-3 --port /dev/ttyUSB0

Mit dem Parameter -e wird die Umgebung festgelegt, die angibt welches Gerät simuliert werden soll. Über platformio run --list-targets lassen sich auch die anderen verfügbaren Umgebungen anzeigen.

Mit dem Parameter -t upload wird das Projekt auf den ESP32 installiert. Der dafür notwendige Port wird nach dem Parameter --port angegeben.

Falls ein anderer ESP32 benutzt wird kann dieser in der Datei platformio.ini festgelegt werden.

Nachdem sich der ESP32 nach dem Upload resettet hat wartet er darauf per Bluetooth angesprochen zu werden. Einfach am Rechner nach Bluetooth Zusatzgeräten suchen und - in diesem Fall - nach der ‘Logitech MX Anywhere 3’ und sie verbinden.

Und schon bewegt sich die Maus alle 30 Sekungen um einen Pixel hin und her.

Dann noch ein schönes Gehäuse drucken und schon ist das Gerät einsatzbereit.

Aber bitte nicht vergessen: Für das Sperren des Rechners sind nun wir Anwender zuständig. Solange das Gerät in der Nähe ist wird die Sperre umgangen.

Eine Idee zur Erweiterung: Dem ESP32 einen Akku spendieren und das Gerät in die Hosentasche stecken. Wenn man dann den Rechner verlässt gehen die 10 Minuten für die Sperre los und der Rechner sperrt sich wieder normal.

Oder einfach beim weggehen manuell sperren. Das ist immer eine gute Idee.