我需要一个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()
使用Python获取鼠标三angular洲! (在Linux中)
如何在没有任何DLL注入的情况下返回一个窗口的句柄?
通过写入/ dev / input / mice来控制鼠标
编程检测鼠标和键盘是否插入
移动鼠标光标在C#
查看您提供的代码。 你想要的信息来自def mousepos() 。 所以只是
from Xlib import display data = display.display().screen().root.query_pointer()._data data["root_x"],data["root_y"]