I am trying to create a lexical decision experiment using the builder mode in Psychopy2 (v. 1.85.1) on Mac OS X. Psychopy includes a special component for using cedrus button boxes, but my experiment throws an error when I try to use it. I have attempted using the rb-740 with multiple DIP settings, all of which result in the following error:

6.3865 ERROR could not find a Cedrus device.

I have downloaded the newest drivers for using the button box as a keyboard. This did not change the behavior.

I have also reinstalled pyxid (pure python library for communicating with Cedrus XID devices) to no avail. Any suggestions?

A developer has looked into this experiment for you. Since it uses pyxid, the RB has to be in response pad mode in order to be detected. If the Device Manager sees it as a keyboard it won't be picked up. However, that isn't the problem here.

The error youíre seeing is coming from the experiment itself, rather than pyxid or PsychoPy. Youíre seeing it because PsychoPy generated code incompatible with pyxid. Iím attaching a sample showcasing the exact problem with the code that was generated (it borrows from the experiment heavily). You should be able to run the *.py in PsychoPy Coder, and if there isnít anything else wrong, you should see output similar to this:

The problem is that the code attempts to scan for Cedrus devices multiple times and use the new scan results every time. Instead, you should only scan once and then refer back to the devices you found. Weíre working on an updated version of pyxid that works differently and avoids this issue, but it wonít be out until some time next year. In the meantime, someone will have to manually edit the Python code generated by the Builder to only refer to a single set of scan results.