Seite 1 von 1

Mausklicks aufzeichnen. Wer kennt Quellen?

Verfasst: Samstag 28. April 2007, 13:02
von htw7448
Hallo.

da ich momentan schwer am python üben bin, hab ich mir folgende Aufgabe gestellt. Ich möchte ein kleines Tool schreiben welches jeden Mausklick mit Zeit und Anwendung in einem XML File speichert.

Kann mir jemand nützliche Literatur bzw Links geben?

Verfasst: Samstag 28. April 2007, 13:11
von BlackJack
Das dürfte sehr betriebssystemabhängig sein. Unter Linux/Unix müsste man sich wahrscheinlich mit dem X-Server auseinandersetzen. Dazu gibt's eine Anbindung: http://python-xlib.sourceforge.net/

XML ist kein gutes Format für "Logdateien", weil man nicht einfach Datensätze anhängen kann. Für so einfache Datensätze ist eine CSV-Datei das einfachste Format.

Verfasst: Samstag 28. April 2007, 16:52
von htw7448
Das Programm soll unter MacOS laufen, sollte also mit deinem gefundenen Link funktionieren. Danke

Verfasst: Samstag 28. April 2007, 17:27
von BlackJack
Bei MacOS ist der X-Server aber optional oder? Ich weiss jedenfalls aus der StarOffice-Newsgroup, dass Mac-Benutzer immer jammern das SO nur unter X läuft und das Sch**e aussähe.

Verfasst: Samstag 28. April 2007, 21:11
von birkenfeld
Jaja, ob bzw. wie es funktioniert, ist auf dem Mac eher Nebensache... ;)

Verfasst: Sonntag 29. April 2007, 01:17
von htw7448
genau, hauptsache der Anwender kann eine gut gestylte Brotbüchse sein eigen nennen ;).

Verfasst: Mittwoch 2. Mai 2007, 14:03
von htw7448
Eine Frage an die Experten.

Könnte es mit dem OpenGL Modul gehen sofern ein OpenGL Driver installiert ist? Zumindest könnte ich dann schonmal die Anzahl der Events zählen lassen. Für Direct3D wird es wohl kein Modul geben das es nicht OpenSource ist.

http://pyopengl.sourceforge.net/pydoc/O ... vents.html

Verfasst: Mittwoch 2. Mai 2007, 14:07
von BlackJack
Falls es mit OpenGL geht, dann wäre das sehr indirekt, da OpenGL keine Maus kennt, im Grunde nicht einmal eine Grafik*anzeige*. Ich hatte das so verstanden, dass Du diese Mausereignisse global aufzeichnen willst, also nicht auf ein Fenster Deiner Anwendung beschränkt!?

Verfasst: Mittwoch 2. Mai 2007, 16:02
von htw7448
Ja die Events sollen global über das ganze OS aufgezeichnet werden. OpenGL wird leider nur von wenigen Programmen genutzt insofern fällt das schon unter den Tisch und meine obige Anmerkung wird wertlos.

Unter Windows ist soetwas wohl nur mit VB machbar, jedenfalls erhält man keinerlei Hinweise im Web zu vorhandenen Schnittstellen.

Aber auch für Linux , wo es doch eigentlich über gtk machbar sein sollte, finden sich 0 Anwendungsbeispiele bzw Hinweise.

Offen gestanden bin ich etwas ratlos ob sich soetwas überhaupt umsetzen läßt.

Verfasst: Mittwoch 2. Mai 2007, 16:30
von BlackJack
Die xlib-Anbindung von Python ist ziemlich Low-Level, da sollte also fast alles machbar sein, was auch mit C geht. Vielleicht lohnt sind ein Blick in den Quelltext von grafischen Spielereien wie die Augen, die immer in Richtung Mauszeiger schauen.

http://en.wikipedia.org/wiki/Xeyes

Verfasst: Mittwoch 2. Mai 2007, 16:38
von lunar
htw7448 hat geschrieben:Unter Windows ist soetwas wohl nur mit VB machbar, jedenfalls erhält man keinerlei Hinweise im Web zu vorhandenen Schnittstellen.
Nein, man kann auch mit Python unter Windows arbeiten. Dazu benötigt man pywin32 und muss sich dann mit Kooking beschäftigen... Damit kann man unter Windows globale Event-Handler für alles mögliche installieren. Genaueres kann ich dir allerdings nicht sagen, ich hab immer versucht die Windows API nach Möglichkeit zu meiden ;)
Aber auch für Linux , wo es doch eigentlich über gtk machbar sein sollte, finden sich 0 Anwendungsbeispiele bzw Hinweise.
Das ist keine GTK Sache, da die Maus unabhängig vom verwendeten Toolkit ist. Sie wird über den X Server gesteuert (genau wie die Schriftarten).
Deswegen solltest du dich von einem spezifischen Toolkit wegbewegen und dich mit der X Lib beschäftigen.