在Linux中实时监控鼠标坐标

我需要一个python编码来在Linux中实时监控鼠标坐标。 我发现下面的编码,它运作良好,但鼠标坐标信息将显示在一个popup的GUI窗口。 现在我不需要在GUI窗口中显示,只需要将鼠标坐标信息保存到文本文件(日志文件)。 有人可以帮助我吗? 谢谢! 另外,如果能按小时保存鼠标坐标信息,那就太好了。

#!/usr/bin/env python """ Corrected, the thread stops now. """ import sys import os from time import sleep import gtk gtk.gdk.threads_init() import threading # uses the package python-xlib # from http://snipplr.com/view/19188/mouseposition-on-linux-via-xlib/ # or: sudo apt-get install python-xlib from Xlib import display old_stdout = sys.stdout sys.stdout = open(os.devnull, 'w') def mousepos(): """mousepos() --> (x, y) get the mouse coordinates on the screen (linux, Xlib).""" data = display.Display().screen().root.query_pointer()._data return data["root_x"], data["root_y"] class MouseThread(threading.Thread): def __init__(self, parent, label): threading.Thread.__init__(self) self.label = label self.killed = False def run(self): try: while True: if self.stopped(): break text = "{0}".format(mousepos()) self.label.set_text(text) sleep(0.01) except (KeyboardInterrupt, SystemExit): sys.exit() def kill(self): self.killed = True def stopped(self): return self.killed class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("Mouse coordinates 0.1") self.set_size_request(250, 50) self.set_position(gtk.WIN_POS_CENTER) self.connect("destroy", self.quit) label = gtk.Label() self.mouseThread = MouseThread(self, label) self.mouseThread.start() fixed = gtk.Fixed() fixed.put(label, 10, 10) self.add(fixed) self.show_all() def quit(self, widget): self.mouseThread.kill() gtk.main_quit() if __name__ == '__main__': app = PyApp() gtk.main() 

Solutions Collecting From Web of "在Linux中实时监控鼠标坐标"

查看您提供的代码。 你想要的信息来自def mousepos() 。 所以只是

 from Xlib import display data = display.Display().screen().root.query_pointer()._data data["root_x"], data["root_y"] 

你得到当前的鼠标位置,把它放在一个循环中,然后写/附加到一个文件中。 这应该够了吧。