recording timing and output of multiple keystrokes (using a set of specific keys) during a single...


Author
Message
mlleng13
mlleng13
Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)
Group: Forum Members
Posts: 14, Visits: 71
Is it possible to record multiple key strokes/responses during a single trial while a video is playing using Inquisit 4? Also, would it be possible to record the timing of each of the key strokes in the trial?

I am trying to set up a trial that plays a video while keeping track of participant's responses throughout the duration of the video. Essentially I need/want a way to keep track of when participants identify, and indicate (by pressing 1 of 2 valid keys) they have seen, a piece of information from the video. The problem is that the video needs to be played continuously, therefore the responses cannot be separated into multiple trials.

So far, it appears that it isn't possible but I wanted to be sure before I gave up. For the record this is my second day using Inquisit so you may have to bare with me. 
Edited 5 Years Ago by mlleng13
Dave
Dave
Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)
Group: Administrators
Posts: 10K, Visits: 59K
There are two options:

#1: You can display your video via a <block>'s /bgstim. In this case, you *can* separate the responses into multiple trials.

<block someblock>
/ bgstim = (somevideo)
/ trials [1=sometrial]
/ timeout = [approximate length of video in milliseconds]
</block>

<trial sometrial>
/ ontrialend = [values.timeofresponse = block.someblock.elapsedtime]
/ validresponse = ("a", "b")
/ branch = [trial.sometrial]
...
</trial>

#2: It is possible to have a single <trial> record multiple key presses. That requires some trickery using the /isvalidresponse attribute. See this example to get an idea:

https://www.millisecond.com/forums/FindPost15812.aspx


mlleng13
mlleng13
Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)
Group: Forum Members
Posts: 14, Visits: 71
Thank you, this was extremely helpful.
Blazer
Blazer
Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)Expert (1.5K reputation)
Group: Forum Members
Posts: 11, Visits: 94
Hey Dave,

I just had a couple of comments/questions about your options.

First, I just wanted to mention that the timeout attribute gets out of sync with the video if the block has preinstructions. Factoring in that people take different amounts of time to read, the video will get cut off early or get paused at the final frame depending on how long they stayed on the preinstructions and how many buffer milliseconds you added. A surveypage can serve essentially the same purpose, but I guess you would have to put the surveypage in a separate block so that it won't be covered by the bgstim video. Is there a feasible workaround for that, such as adding a kind of "trialduration" of the preinstructions to a calculated timeout?

Second, I have to say that concatenating method that you suggested for me on option #2 works just as I want it to--giving me the exact number of times the participant hit the spacebar, plus the timestamps of each press--but I only have one valid key press. When you have two possible reponses, is it possible to match each time stamp to the key press that went with it using the concatenate method? If not, then I would guess that option #1 is more preferable, since it's automatically recording that data.
Dave
Dave
Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)Supreme Being (856K reputation)
Group: Administrators
Posts: 10K, Visits: 59K
Re. #1: You can also have your instruction pages displayed by a separate <block>. Alternatively you can determine the timeout dynamcally, e.g. by using setting it to the desired value in the 1st trial (i.e., after the instruction pages).

Re. #2: Yes, you can use the method to also record which key was pressed in the same way. Simply concatenate the trial's response property to another value.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search