SmaugWithACamera
|
|
Group: Forum Members
Posts: 19,
Visits: 29
|
Thanks, Dave! That solved it.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
#1: That's the expected behavior. Explanation: The /mask attribute is based on regular expressions; the various keywords (e.g. alphabetic) just map to standard, built-in regular expressions. As defined in the POSIX standard, alphabetic is supposed to match letters a-z (and spaces etc.), but *not* any other characters, including umlauts (ä, ö, etc.). The solution is to write a regular expression that matches those and use that in /mask. See: https://www.millisecond.com/forums/Topic5978.aspx#2: Your <openended> element allows for multiline input. This means that ENTER serves to insert a line break in the response, and thus cannot serve to submit the response. If you want to be able to advance on ENTER, you ought to restrict input to a single line. The behavior is detailed in the documentation for the <openended> element: "The respondent can advance past this trial by hitting ENTER if openended is single line expecting keyboard input, and Ctrl+ENTER if it's multiline or set to mouse input. The default input for openended is mouse input, which enables the respondent to advance by clicking the openended element's button."
|
|
|
SmaugWithACamera
|
|
Group: Forum Members
Posts: 19,
Visits: 29
|
Hello Dave, I'm sorry that I have to draw on your help again but we noticed that there are still some questions left open with the <openended> command. 1) At the moment the mask attribute is set to alphabetic but it only allows people to enter one word. Spacebar, symbols such as _./ (etc.) and special letters like ä/ö/ü are not accepted by the program. However looking at the possible specifications for / mask in the help section I didn't find any attribute that would allow this kind of input. The other options mainly specify different types of numeric answers. 2) The second issue is that we thought about letting subjects progress to the next trial page via hitting Enter on the keyboard. Right now subjects click in a "next" button with their mouse. I could change this to using ctrl + enter but this seems to be a bit unhandy to me. Is there a way to just let people press enter to let them reach the next trial page (that would be "confidence" in my case). Here is what my <openended> command looked like before changing it to "ctrl+enter mode". <openended Text> / stimulusframes=[1 = Text.text] / position = (50, 60) / linelength = 40 / numlines = 2 / charlimit = 200 /ontrialend = [values.datei = "dummy"] /showmousecursor = true / mask = alphabetic /required = true / buttonlabel = "Weiter" </openended> This is my command after inducing access to the next page by the use of enter: <openended Text> / stimulusframes=[1 = Text.text] / position = (50, 60) / linelength = 40 / numlines = 2 / charlimit = 200 /ontrialend = [values.datei = "dummy"] / mouse = false / mask = alphabetic /required = true / buttonlabel = "Weiter durch Strg + Enter" </openended>
Thank you very much
Smaug
|
|
|
SmaugWithACamera
|
|
Group: Forum Members
Posts: 19,
Visits: 29
|
Hello Dave,
great, that worked. Now the experiment looks exactly as I hoped it would!
Thanks a lot for your detailed help.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
One has nothing to do with the other. How stimuli are selected is determined by the respective *stimulus* element's settings:
<picture somepicture> ... / select = noreplace </picture>
will select its items randomly without replacement, while
<picture somepicture> ... / select = sequence </picture>
would select them sequentially.
How you select *trials* in a <block> does not affect this in any way, shape or form -- nor should it.
|
|
|
SmaugWithACamera
|
|
Group: Forum Members
Posts: 19,
Visits: 29
|
Hello Dave, if I use sequence will the stimuli still be randomised? This would be very important.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
You can't call *two* responsetrials from <trial objekt>
<trial objekt> /stimulusframes = [1 = objekt] /inputdevice = mouse /validresponse = (lbuttondown) /ontrialend = [values.datei = picture.objekt.currentitem] /responsetrial = (lbuttondown, Text, sicherheit) /showmousecursor = false </trial>
You'd have to do
<trial objekt> ... / responsetrial = (lbuttondown, text) </trial>
and then call <likert sicherheit> from
<openended text> ... / branch = [likert.sicherheit] </openended>
However, you should actually nix the /responsetrial etc. attributes entirely and simply do:
<block abfrage> /preinstructions = (inst.1) /screencolor = (0, 0, 0) /trials = [1 - 101 = sequence(objekt,text,sicherheit)] </block>
Re. values.file: It does exactly what I guessed it would do. It stores the file name of the image displayed in <trial objekt>. The the variable is then logged to the data file as you can see by looking at the <data> element's /columns.
|
|
|
SmaugWithACamera
|
|
Group: Forum Members
Posts: 19,
Visits: 29
|
Hello Dave,
thanks a lot for your help! The <openended> command does exactly what I was looking for!
After entering it I have another problem though. Even though there is no error message the confidence survey isn't working anymore. Now each trial consists of "picture -> open response". I would like to have a sequence of "picture -> open response -> confidence in your answer" though. Here is the (translated) script part that deals with the trial block:
<trial object> /stimulusframes = [1 = object] /inputdevice = mouse /validresponse = (lbuttondown) /ontrialend = [values.file = picture.object.currentitem] /responsetrial = (lbuttondown, Text, Confidence) /showmousecursor = false </trial> Do I have to specificy it in a a different way?
Regarding the values question: I attached my complete script. The "values" commands are at the same positions as they are in the original script so maybe this is enough to be insightful? (The script is in German but I hope you can work your way through. The commands are still English.)
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 104K
|
#1: You can use a <textbox> displayed on a <surveypage>. A <surveypage> is a kind of <trial> that can be run via a <block> just like any other <trial>. Better yet for your particular scenario would be using an <openended> element. An <openended> element is a special type of <trial> to collect typed free-form, open responses.
#2: A <values> entry is just a global variable. What that variable is used for cannot be gleaned from the <values> element alone. It entirely depends on what is done with it throughout the script. Since I have no knowledge about the script you are using, the person who wrote the original is most likely to be able to answer your question. (My guess would be that values.file stores the filename of whatever stimulus (picture, video) item was displayed by a given trial.)
|
|
|
SmaugWithACamera
|
|
Group: Forum Members
Posts: 19,
Visits: 29
|
Hi everyone, total newbie with regards to Inquisit here. I created a simple experiment where participants view images. After each image they are supposed to answer what object they saw by typing in a word (open response format) and how confident they are in their answer (likert skale). The whole experiment runs fine when no attempt of mine for an open response format is used. But as soon as I try to insert a page for typing in an answer the script fails. I tried to use textbox but it didn't work so I figured it can be used for survey pages only.
Is there a way to ask my participants open questions after each stimulus as you can do with a skale?
Also, if I want to implement it into my trial
(<trial object> /stimulusframes = [1 = objekt] /inputdevice = mouse /validresponse = (lbuttondown) /ontrialend = [values.file = picture.object.currentitem] /responsetrial = (lbuttondown, confidence) /showmousecursor = false </trial>)
would I have to indicate the part (here called "answer") in this line? :
/responsetrial = (lbuttondown, answer, confidence)
Bonus question: My script is based on another experiment by an experienced person so even though it works I don't understand all commands. In the beginning of the entire script that person wrote
<values> /file = "dummy" </values> I noticed that this values command gets picked up in the trial part but I didn't really understand yet what purpose it serves.
Thank you very much for reading
Smaug
|
|
|