Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

[solved] impatient chimps make the screen blink

edited September 2014 in OpenSesame

I have finally finished a program that I am using with chimpanzees (thanks to the amazing help from the forum!). In my testing of the program everything worked great. But, as usual, the chimpanzees found a flaw in the experiment and I am not sure what the problem is.

During the intertrial interval (~5 seconds) if the chimps touch the touchscreen repeatedly the screen will blink so that the program goes away and for a split second you can see the opensesame interface, then the program returns. This often happens when they get a trial incorrect. They get quite impatient. I can recreate the issue fairly reliably and it only happens during the ITI (which is a sketchpad item set to display for 5 seconds).

I am not at all sure how to track down what the issue is. The computer is running windows 8 (which is evil) and I am using the xpyriment backend.

Does anyone have any thoughts?

image

Comments

  • edited 8:02PM

    Hi,

    I don't have Windows 8 myself, so I can't test, but my best guess is that these touches have a special meaning for Windows. (OpenSesame itself doesn't monitor key presses during a delay period.) Perhaps you open one of the system menus by touching a specific area of the screen, by tapping twice in rapid succession, or by a tap-and-hold gesture? I suspect it's something like that. Perhaps you could look at the system settings (and Google) to see if you can find something about mouse/ touch gestures.

    Any Windows 8 users that can shed some light on this? @Edwin, @dschreij any ideas?

    Cheers,
    Sebastiaan

  • edited August 2014

    How dare you suggest I'd be a Windows 8 user!? ;)

    What you might want to try, is to keep OpenSesame busy during the ITI, e.g. using an inline_script like the following:

    # get start timestamp
    t0 = self.time()
    
    # create a mouse object
    from openexp.mouse import mouse
    my_mouse = mouse(exp)
    
    #set timeout
    timeout = 5000 # milliseconds
    
    # run until the timeout is over
    while self.time() - t0 < timeout:
        # check for user input
        button, position, timestamp = my_mouse.get_click(timeout=1)
        # proceed to ignore any clicks, by doing absolutely nothing with the input
    

    Place the inline_script directly after the skechtpad you currently use, and set the sketchpad's duration to 0. This should monitor and catch all mouse/touch input, hopefully before the fancy gesture shortcuts do. Does that help?

  • edited 8:02PM

    Thanks all. I ended up writing more of the program in an inline script and that seems to have solved it. Specifically, I moved my stimuli from a sketchpad item to an inline script canvas. I have no idea why this made a difference, but it seems to be stable now.

Sign In or Register to comment.