22. Januar 2016, Kategorie:

Automatischer Mausschubser

Zwischendurch gibt es das Problem, dass ein PC nicht ausschalten soll. Meist hilft es, einfach den Stromsparmodus zu deaktivieren, aber manchmal müssen schwerere Geschütze aufgefahren werden. Zum Beispiel, wenn ein Chat-Client auf dem Status „Verfügbar“ gehalten werden muss.

Dieses „schwere Geschütz“ wiegt gerade mal 2.4g in meinem Fall und ist ein kleiner Digispark. Ein winziger ATtiny85 IC mit 8 Beinchen ist das Gehirn von dem Ding und hat dank dem Micronucleus Bootloader USB-Unterstützung. Das geht so weit, dass sich das Gerät als Maus am PC/Mac anmeldet und so den Mauszeiger bewegen kann.

Digispark

Was es noch braucht ist eine Arduino IDE und Unterstützung für die Digispark Boards.

Dieses kleine Programm hier schiebt dann die „virtuelle“ Maus einmal alle 10s ein wenig durch die Gegend.

#include <DigiMouse.h>

void setup() {
  DigiMouse.begin();
}

void loop() {
  DigiMouse.moveY(10); //down 10
  DigiMouse.delay(50);
  DigiMouse.moveX(10); //right 10
  DigiMouse.delay(50);
  DigiMouse.moveY(-10); //up 10
  DigiMouse.delay(50);
  DigiMouse.moveX(-10); //left 10
  DigiMouse.delay(50);

  DigiMouse.delay(10000); // 10s warten 
}

Das ist es auch schon. Sketch auf den Digispark laden und zuschauen, wie sich die Maus bewegt. Natürlich gibt’s da noch viel Raum für Verbesserungen. Zum Beispiel könnte der Digispark mit kurzem Blinken die Mausbewegung ankündigen. Vielleicht würde es auch reichen, wenn die Bewegung viel kürzer wäre, das habe ich jedoch nicht getestet. Obige Werte funktionieren problemlos um Windows 10 den Bildschirmschoner wegzunehmen.

Zugegeben, eine „langweilige“ Lösung, wenn man schaut, was andere so gebaut haben mit einem Kassettenrekorder. Diese Lösung wird wohl dem Tierschutz nicht gefallen…

Update: Der aktuelle Code (ein wenig aufgemotzt), befindet sich auf GitLab.

Ein Kommentar

  • Auch eine Möglichkeit bietet natürlich AutoHotkey.. 😉 Hier meine Lösung in AHK:

    Loop {
    MouseGetPos, px, py
    MouseMove, % px + 0, % py + 10
    Sleep, 50
    MouseMove, % px + 10, % py + 0
    Sleep, 50
    MouseMove, % px – 10, % py + 0
    Sleep, 50
    MouseMove, % px + 0, % py – 10
    Sleep, 50

    Sleep, 3000
    }


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert