Künstlichen Mauslag programmieren

Servus!

Ich bräuchte mal dringend Hilfe, da ich leider nicht die leiseste Ahnung habe...

Ich führe im Rahmen meiner Masterthesis in der Psychologie ein Experiment zum Thema Flowerleben durch und bin auf eine für mich recht große Hürde gestoßen.
Ich muss ein Delay in die Maus- oder Tastatursteuerung einbauen, dass randomisiert unterschiedliche Delays (am besten Bereich einstellbar) im Millisekundenbereich produziert. Also quasi ein künstliches Lag in der Steuerung. Dieses Delay soll sich auch im Spiel, welches ich die Versuchspersonen spielen lasse, wiederfinden.
Leider gibt es nach meiner Recherche kein solches Programm und ich habe leider nicht die leiseste Ahnung womit man soetwas am klügsten programmieren kann. Irgendwie müsste man sich ja (so nach meienr Laienmeinung) vor oder hinter den Treiber schalten, oder?
Dafür muss es doch irgendwie eine einfache Lösung geben, oder nicht?

Ich hoffe irgendjemand von Euch hat eine Idee dafür das wäre wirklich grandios!

Beste Grüße und Dank schoneinmal im Vorraus

Hasenkuchen
 
In der Regel bieten Betriebssysteme hier für direkt Programmierschnittstellen an, die sich dann mit beliebigen Programmiersprachen (z. B. C/C++) ansprechen lassen. Bei Windows wäre das dann z. B. die WIN32 API:

mouse_event function (Windows)

Den Algorithmus, wie und in welchen Zeitabständen dein geplanter Delay auftreten soll - und wie der sich dann verhalten soll, musst du dann natürlich selbst implementieren und entsprechend dann die WIN32 Schnittstelle aufrufen. Wie du die WIN32 API aus einer Sprache heraus aufrufst, kannst du dir zusammen googlen - da gibt es für C/C++ massig Beispiele für.

Du kannst dir auch mal OpenSource Programme anschauen, die prinzipiell Mausklicks/Bewegungen erzeugen, damit der PC nicht automatisch in den Ruhezustand gesetzt wird.

Mouse Jiggler - Home

In der GUI kannst du das zwar nicht nach deinen Ansprüchen customizen, aber die Funktionen die hier genutzt werden, tun eigentlich genau das, was du tun willst. Wenn man sich den Code ansieht wirst du feststellen, dass hier mittels C# auf die WIN32 API zurückgegriffen wird und genau die Funktionen aus der oben verlinkten WIN32 API Dokumentation aufgerufen werden. Als Ansatz sollte das ausreichen. Siehe:

Mouse Jiggler - Source Code

Ansonsten halt einfach mal einen Studenten an eurer Uni fragen, ob er sowas gegen eine kleine Entschädigung macht. Alternativ mal in einem C++ /C# Forum nachfragen, da tummeln sich bestimmt genug Studenten, die dir das zwecks Taschengeldaufbesserung runter programmieren.
 
Zuletzt bearbeitet:
Ich führe im Rahmen meiner Masterthesis in der Psychologie ein Experiment zum Thema Flowerleben durch und bin auf eine für mich recht große Hürde gestoßen.
Lass sie einfach mit seriellen Kugelmäusen arbeiten - auf einem Tisch wo fettige Chips lagen :D

Aber im ernst:
Einen echten Lag zu erzeugen ist nicht so einfach. Viel einfacher hingegen wäre es, wenn du in unregelmäßigen Abständen die aktuelle Mausposition abfragst, etwas addierst/abziehst und neu platzierst.
Das nervt ebenso tierisch und stört das "Flowerleben" erheblich. Und ob es Laggt oder springt, kann man eh nicht unterscheiden.

Das setzen des Mauszeigers geht sogar in VB ganz einfach mit "SetCursorPos".
Die Position auslesen und eine primitive Randomfunktion, kann man schnell zusammenkopieren.

Viel Spass!
 
Zurück
Oben