Cedrus Button Box Component

This component allows you to connect to a Cedrus Button Box to collect key presses.

Note that there is a limitation currently that a button box can only be used in a single Routine. Otherwise |PsychoPy| tries to initialise it twice which raises an error. As a workaround, you need to insert the start-routine and each-frame code from the button box into a code component for a second routine.



Everything in a PsychoPy® experiment needs a unique name. The name should contain only letters, numbers and underscores (no punctuation marks or spaces).

Start :

The time that the button box is first read. See Defining the onset/duration of components for details.

Stop :

Governs the duration for which the button box is first read. See Defining the onset/duration of components for details.

Force end of Routinetrue/false

If this is checked, the first response will end the routine.


What information to save, how to lay it out and when to save it.

Allowed keysNone, or an integer, list, or tuple of integers 0-7

This field lets you specify which buttons (None, or some or all of 0 through 7) to listen to.

Store(choice of: first, last, all, nothing)

Which button events to save in the data file. Events and the response times are saved, with RT being recorded by the button box (not by PsychoPy®).

Store correcttrue/false

If selected, a correctness value will be saved in the data file, based on a match with the given correct answer.

Discard previoustrue/false

If selected, any previous responses will be ignored (typically this is what you want).


Parameters for controlling hardware.

Device number: integer

This is only needed if you have multiple Cedrus devices connected and you need to specify which to use.

Use box timertrue/false

Set this to True to use the button box timer for timing information (may give better time resolution)

See also

API reference for iolab

Back to top