我正在尝试在各种应用程序(如桌面或某些Web应用程序)上跟踪鼠标移动。这是为了理解和捕获用户行为(那些计算机文盲的用户,试图了解他们的行为方式和与系统的交互)。例如,如果我让这样的用户坐在桌面前离开他,我的程序应该跟踪他用鼠标做出的所有动作,我可以稍后将其与系统的设计相对应。
我在pygame中编写了一个小程序来做同样的事情。
import pygame
x = y = 0
running = 1
screen = pygame.display.set_mode((640, 400))
while running:
event = pygame.event.poll()
if event.type == pygame.QUIT:
running = 0
elif event.type == pygame.MOUSEMOTION:
print "mouse at (%d, %d)" % event.pos
screen.fill((0, 0, 0))
pygame.display.flip()
我希望更改" screen = pygame.display.set_mode((640,400))"。我不希望pygame打开一个新窗口。我想要我正在处理的窗口,它跟踪鼠标移动。即使我关闭了我的编辑器,程序也应该运行。应该没有单独的屏幕。我该怎么做?
答案 0 :(得分:0)
是的,你可以在这种情况下改变你的代码,这样如果鼠标位于坐标(300,200),那么它将屏幕大小改为(400,500)
P.S。看看我在开头添加的内容:
import pygame
from pygame.locals import * #just so that some extra functions work
pygame.init() #this turns pygame 'on'
x = y = 0
running = 1
screen = pygame.display.set_mode((640, 400))
while running:
event = pygame.event.poll()
if event.type == pygame.QUIT:
running = 0
elif event.type == pygame.MOUSEMOTION:
print "mouse at (%d, %d)" % event.pos
if event.pos == (300,200):
screen = pygame.display.set_mode((400, 500))
screen.fill((0, 0, 0))
pygame.display.flip()
答案 1 :(得分:0)
我有类似的问题。我意识到,如果窗口未聚焦或当前鼠标不在窗口中,则pygame无法记录日志或跟踪鼠标事件。如果您正在寻找一个键盘记录器/鼠标事件记录器,请尝试使用pyHook在pynpnut上,具体取决于您使用的是python 2还是3。这些模块可以与pip一起安装