X-Mausereignisse mit Zeitstempel erfassen und ein Video mit benutzerdefiniertem Mauszeiger rendern?

X-Mausereignisse mit Zeitstempel erfassen und ein Video mit benutzerdefiniertem Mauszeiger rendern?

Normalerweise verwende ich es, recordmydesktopum eine Anwendungsinteraktion aufzuzeichnen. Auf meinem System wird jedoch recordmydesktopimmer derselbe Mauszeiger/Cursor (der Pfeil) angezeigt – unabhängig davon, ob er sich in Wirklichkeit (sagen wir) beim Ändern der Fenstergröße in einen Eckpfeil geändert hat. Außerdem bräuchte ich etwas, das auf dem Video anzeigt, wann eine Maus (eine beliebige Taste) gedrückt wird, wann die Taste gedrückt gehalten wird und wann die Taste losgelassen wird – was Desktops selbst normalerweise nicht anzeigen (es sei denn, eine bestimmte Anwendung verarbeitet diese Ereignisse).

Das ist also, was ich dachte - vielleicht kann ich recordmydesktopmit der Option --no-cursor"Zeichnen des Cursors deaktivieren" arbeiten und andererseits Rohdaten der Mausereignisse (Position und Klicks) aufzeichnen. Ich fandJeden Tastendruck aufzeichnen und in einer Datei speichernUndWie erhalte ich die Mausklickposition?und so erfuhr ich vonXnee(Handbuch), das alle Mausdaten in einer einfachen Textdatei aufzeichnen kann.

Ich habe mich gefragt, ob es, abgesehen vom Schreiben eines eigenen Parsers, ein Programm gibt, das

  • cneekönnte ein (oder ein eigenes) Format für die Aufzeichnung von Mausdaten verwenden ; dann
  • Akzeptieren Sie so etwas wie ein transparentes animiertes GIF für „Maus links/rechts drücken/loslassen“-Ereignisse sowie transparentes PNG für „links/rechts runter/hoch“-Zustände
  • Akzeptieren Sie eine Einstellung für die Frames pro Sekunde sowie die Pixelbreite und -höhe des Ausgabevideos
  • eine Bildsequenz mit der angeforderten Geschwindigkeit und Größe rendern, mit den angegebenen .gifs/.pngs an der Mausposition – gemäß den Mausdaten des Rekorders – als einzigem Inhalt eines Rahmenbildes (das ansonsten transparent ist)?

Dann könnte ich recordmydesktop --no-cursores cnee --record --mouse -o /tmp/xnee.xnsparallel ausführen; wenn ich fertig bin, würde ich ein separates transparentes „Masken“-Video nur der benutzerdefinierten Mauszeigerbewegung rendern und schließlich die „Maske“ des Mauszeigers mit dem Originalvideo überlagern.

Wenn es dafür bereits ein Programm gibt, würde ich natürlich gerne davon erfahren – denn selbst wenn es ein Programm für die oben beschriebene Funktion gäbe, wäre es meiner Meinung nach immer noch schwierig, wenn man einen Desktopbereich aufnimmt, der größer als die Videogröße ist, und etwas wie recordmydesktop --follow-mouse„Wenn diese Option aktiviert ist, folgt der Aufnahmebereich dem Mauszeiger“ verwenden möchte.

verwandte Informationen