2014-05-08 7 views
1

J'essaie de suivre le mouvement de la souris sur une variété d'applications, comme le bureau ou certaines applications Web. Il s'agit de comprendre et de capturer le comportement des utilisateurs (ceux qui sont analphabètes sur ordinateur, qui essaient de comprendre comment ils se comportent et interagissent avec le système). Par exemple, si je fais asseoir un tel utilisateur devant un bureau et que je le quitte, mon programme devrait suivre tous les mouvements qu'il effectue avec la souris, ce que je peux plus tard correspondre à la conception du système. J'ai écrit un petit programme dans pygame pour faire la même chose.Programme de suivi de mouvement de souris avec python

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() 

Je souhaite changer l'écran "= pygame.display.set_mode ((640, 400))". Je ne veux pas qu'une nouvelle fenêtre soit ouverte par pygame. Je veux la même fenêtre sur laquelle je travaille, et elle suit les mouvements de la souris. Même si je ferme mon éditeur, le programme devrait fonctionner. Il ne devrait pas y avoir d'écran séparé. Comment fait-on ça ?

+0

connexes: [CAPTURE événements cliquez sur Windows avec Python] (https://stackoverflow.com/questions/7365247/capturing-windows-click-events-with-python) , [Comment puis-je capturer mouseevents et keyevents en utilisant python en arrière-plan sur Linux] (https://stackoverflow.com/questions/12384772/how-can-i-capture-mouseevents-and-keyevents-using-python-in-background -on-linux), [Puis-je utiliser Python pour capturer les événements clavier et souris sous OSX?] (https://stackoverflow.com/questions/9865446/can-i-use-python-to-capture-keyboard-and- mouse-events-in-osx) – sloth

Répondre

0

oui vous pouvez dans ce cas j'ai changé votre code de sorte que si la souris est à la coordonnée (300200), il change la taille de l'écran (400, 500)

P.S. regardez ce que j'ai ajouté au début:

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()