OpenSesame
Rapunzel Code Editor
DataMatrix
Support forum
Python Tutorials
MindProbe
Supported by Bestel Een wereld vol denkers door Sebastiaan Mathôt via suchwasnot.com

Keyboard responses

Keyboard responses are collected with the keyboard_response item.

Response variables

The keyboard_response sets the standard response variables as described here:

Key names

Keys are generally identified by their character and/ or their description (depending on which is applicable). For example:

  • The / key is named 'slash' and '/'. You can use either of the two names.
  • The a is named 'a'.
  • The left-arrow key is named 'left'.

If you don't know what a particular key is named, you can:

  • Click on the 'List available keys' button; or
  • Create a simple experiment in which a keyboard_response is immediately followed by a feedback item with the text '{response}' on it. This will show the name of the previously collected response.

Correct response

The Correct response field indicates which response is considered correct. After a correct response, the correct variable is automatically set to 1; after an incorrect response (i.e. everything else), correct is set to 0; if no correct response is specified, correct is set to 'undefined'.

You can indicate the correct response in three main ways:

  • Leave the field empty. If you leave the Correct response field empty, OpenSesame will automatically check if a variable called correct_response has been defined, and, if so, use this variable for the correct response.
  • Enter a literal value. You can explicitly enter a response, such as 'left' in the case of a keyboard_response item. This is only useful if the correct response is fixed.
  • Enter a variable name. You can enter a variable, such as '{cr}'. In this case, this variable will be used for the correct response.

Allowed responses

The Allowed responses field indicates a list of allowed responses. All other responses will be ignored, except for 'Escape', which will pause the experiment. The allowed responses should be a semicolon-separated list of responses, such as 'a;left;/' for a keyboard_response. To accept all responses, leave the Allowed responses field empty.

Timeout

The Timeout field indicates a timeout value in milliseconds, or 'infinite' for no timeout. When a timeout occurs, the following happens:

  • response_time is set to the timeout value, or rather to the time it takes for a timeout to be registered, which may deviate slightly from the timeout value.
  • response is set to 'None'. This means that you can specify 'None' for the correct response a timeout should occur; this can be useful, for example, in a go/no-go task, when the participant should withold a response on no-go trials.

Collecting keyboard responses in Python

You can use the keyboard object to collect keyboard responses in Python: