I am using Psychopy to have people rate pictures. I want to freeze the mouse when somebody presses the left mouse button and unfreeze it when somebody presses the right mouse button (in my script it is ‘space’). If the mouse is frozen, a second mouse click should ideally continue the routine. I am pretty new to psychopy, and just can’t get this to work. I have an invisible event.Mouse (named mouse) and a visible custom mouse (named mouse_Like) in my script. Is there something like a pause function to stop updating the mouse location? I pasted the important parts below.
leftLimit=-.29, topLimit=.85, rightLimit=-.29, bottomLimit=-.85, showLimitBox=False, clickOnUp=False) mouse= event.Mouse(visible=False, win=win) x, y = mouse.getPos() ----------start of routine----------- while continueRoutine: mouse_Like.draw() win.flip() mouse1, mouse2, mouse3 = mouse.getPressed() ... # *mouse* updates if t >= 0.0 and mouse.status == NOT_STARTED: # keep track of start time/frame for later mouse.tStart = t mouse.frameNStart = frameN # exact frame index mouse.status = STARTED prevButtonState = mouse.getPressed() # if button is down already this ISN'T a new click if mouse.status == STARTED: # only update if started and not stopped! buttons = mouse.getPressed() if buttons != prevButtonState: # button state changed? prevButtonState = buttons if mouse3: # right click event.waitKeys(keyList='space') # freeze mouse and unfreeze with space if mouse3: #this makes it go on automatically after unfreezing break
Thanks!! Would be glad for any help!