Mausklicks aufzeichnen. Wer kennt Quellen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
htw7448
User
Beiträge: 51
Registriert: Montag 16. April 2007, 10:59
Wohnort: Messel(Hessen)
Kontaktdaten:

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?
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.
htw7448
User
Beiträge: 51
Registriert: Montag 16. April 2007, 10:59
Wohnort: Messel(Hessen)
Kontaktdaten:

Das Programm soll unter MacOS laufen, sollte also mit deinem gefundenen Link funktionieren. Danke
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.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Jaja, ob bzw. wie es funktioniert, ist auf dem Mac eher Nebensache... ;)
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
htw7448
User
Beiträge: 51
Registriert: Montag 16. April 2007, 10:59
Wohnort: Messel(Hessen)
Kontaktdaten:

genau, hauptsache der Anwender kann eine gut gestylte Brotbüchse sein eigen nennen ;).
htw7448
User
Beiträge: 51
Registriert: Montag 16. April 2007, 10:59
Wohnort: Messel(Hessen)
Kontaktdaten:

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
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!?
htw7448
User
Beiträge: 51
Registriert: Montag 16. April 2007, 10:59
Wohnort: Messel(Hessen)
Kontaktdaten:

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.
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
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.
Antworten