Howdy, Stranger!

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

Supported by

Holding space bar as key response

Hello,

I'm trying to program with "in line_script" a visual imagery experiment where participants must respond by holding down the space bar and releasing it only when they feel they accomplished the task. While they are holding the space bar, some stimuli will be displayed on the screen. I would need to register the exact time when the space bar began to be pressed, when it was released, and what was on the screen at the moment

Do you guys know a code line to do that? In the image below you can see what I've done so far. Thanks in advance for any help.


Comments

  • Hi Gio,

    have you seen this (old) discussion? Especially Sebastiaan's code? It might give you a good starting point how to deal with keyrelease responses.

    I would need to register the exact time when the space bar began to be pressed, when it was released, and what was on the screen at the moment

    Perhaps there are other ways, but what comes to my mind is a while loop that has 2 stages. In the first stage it waits for a keydown response, once it registers it, it changes to the second stage and polls for key release responses. All the while, measuring the passing time and adjusting the visual stimulation (independently from the key actions). Something like that:

    key_pressed = False
    start_time = clock.time()
    while True:
        # poll responses
        if not key_pressed: 
               k, t = getDownkey # that isn't a real function, just pseudocode)
               if k is not none:
                    key_pressed = True
         elif key_pressed:
                k, t = getUpkey # also just pseudocode
                break
         # independent of the response, we also measure time and present stimuli
         if clock.time() - start_time > stim_duration: 
               presentNextStimulus() # pseudocode
    
          # if some timeout has been reached, leave the loop
          break
    

    Another thing that might be important is that you seem to use forms. That complicates things, because forms are quite disruptive of the overall experiment. That means, you can't interrupt your form for executing other code (nothing runs in the background of a code, also no releaseKey code). So, there is a fair chance that you need to adapt your code.

    Hope this helps,

    Eduard

    Buy Me A Coffee

Sign In or Register to comment.