Mausreaktionen
Mausklicks werden mit dem mouse_response-Element aufgenommen. mouse_response ist in erster Linie dafür vorgesehen, einzelne Mausklicks zu sammeln. Wenn Sie die Trajektorien des Mauszeigers erfassen möchten, schauen Sie sich die mousetrap-Plugins an:
Antwortvariablen
Das mouse_response-Element definiert die Standardantwortvariablen, wie hier beschrieben:
Maustastennamen
Maustasten haben eine Nummer (1
, usw.) sowie einen Namen (left_button
, usw.). Beide können verwendet werden, um korrekte und erlaubte Antworten anzugeben, aber die Variable response
wird auf eine Nummer gesetzt.
left_button
entspricht1
middle_button
entspricht2
right_button
entspricht3
scroll_up
entspricht4
scroll_down
entspricht5
Korrekte Antwort
Das Feld Korrekte Antwort gibt an, welche Antwort als korrekt betrachtet wird. Nach einer korrekten Antwort wird die Variable correct
automatisch auf 1 gesetzt; nach einer falschen Antwort oder einem Timeout (d.h. alles andere) wird correct
auf 0 gesetzt; wenn keine korrekte Antwort angegeben ist, wird correct
auf 'undefined' gesetzt.
Sie können die korrekte Antwort auf drei Hauptwegen angeben:
- Das Feld leer lassen. Wenn Sie das Feld Korrekte Antwort leer lassen, überprüft OpenSesame automatisch, ob eine Variable namens
correct_response
definiert wurde und wenn ja, verwendet diese Variable für die korrekte Antwort. - Einen Literalwert eingeben. Sie können eine Antwort explizit eingeben, wie zum Beispiel 1. Dies ist nur nützlich, wenn die korrekte Antwort festgelegt ist.
- Einen Variablennamen eingeben. Sie können eine Variable eingeben, wie
{cr}
. In diesem Fall wird diese Variable für die korrekte Antwort verwendet.
Beachten Sie, dass die korrekte Antwort sich darauf bezieht, welche Maustaste geklickt wurde, und nicht darauf, welche Region von Interesse (ROI) geklickt wurde; siehe untenstehender Abschnitt für weitere Informationen über ROIs.
Erlaubte Antworten
Das Feld Erlaubte Antworten gibt eine Liste von erlaubten Antworten an. Alle anderen Antworten werden ignoriert, außer 'Escape', was das Experiment pausiert. Die erlaubten Antworten sollten eine Semikolon-getrennte Liste von Antworten sein, wie '1;3', um die linke und rechte Maustaste zu erlauben. Um alle Antworten zu akzeptieren, lassen Sie das Feld Erlaubte Antworten leer.
Beachten Sie, dass die erlaubten Antworten sich darauf beziehen, welche Maustaste geklickt werden kann, und nicht darauf, welche Region von Interesse (ROI) geklickt werden kann; siehe untenstehender Abschnitt für weitere Informationen über ROIs.
Zeitüberschreitung
Das Feld Timeout gibt einen Timeout-Wert in Millisekunden an oder "unendlich" für keine Zeitüberschreitung. Wenn eine Zeitüberschreitung auftritt, geschieht Folgendes:
response_time
wird auf den Timeout-Wert gesetzt, oder eher auf die Zeit, die benötigt wird, um eine Zeitüberschreitung zu registrieren, die möglicherweise leicht von dem Timeout-Wert abweicht.response
wird auf 'None' gesetzt. Das bedeutet, dass Sie 'None' als richtige Antwort angeben können, wenn eine Zeitüberschreitung eintreten soll; dies kann zum Beispiel in einer Go-/No-Go-Aufgabe nützlich sein, wenn der Teilnehmer bei No-Go-Versuchen keine Antwort geben soll.
Koordinaten und Regionen von Interesse (ROIs)
Die Variablen cursor_x
und cursor_y
halten die Position des Mausklicks.
Wenn Sie ein verlinktes sketchpad angeben, wird die Variable cursor_roi
eine durch Kommas getrennte Liste von Namen von Elementen enthalten, die die geklickten Koordinaten enthalten. Mit anderen Worten, Elemente auf dem sketchpad dienen automatisch als Regionen von Interesse für den Mausklick.
Wenn die Korrektheit einer Antwort davon abhängt, welche ROI geklickt wurde, können Sie dafür nicht die Variable correct_response
verwenden, da diese derzeit nur darauf verweist, welche Maustaste geklickt wurde. Stattdessen müssen Sie ein einfaches Skript verwenden.
In einem Python inline_script können Sie dies folgendermaßen tun:
clicked_rois = cursor_roi.split(';')
correct_roi = 'my_roi'
if correct_roi in clicked_rois:
print('korrekt!')
correct = 1
else:
print('falsch!')
correct = 0
Mit OSWeb unter Verwendung eines inline_javascript können Sie dies folgendermaßen tun:
clicked_rois = cursor_roi.split(';')
correct_roi = 'my_roi'
if (clicked_rois.includes(correct_roi)) {
console.log('korrekt!')
correct = 1
} else {
console.log('falsch!')
correct = 0
}
Mausantworten in Python sammeln
Sie können das mouse
-Objekt verwenden, um Mausantworten in Python zu sammeln: