I finally managed to get pyxid working (it turns out that the standalone version of Psychopy 1.84.1 had older versions of pyserial and pyxid, without some necessary bug fixes). In the end I had to follow the instructions to install Python and Psychopy manually (which wasn't that straightforward), but at least it now works. Kinda.
When I use the cedrus suggested python code and report (using print) the content of "response" i.e.
from __future__ import division
from psychopy import visual, core
# get a list of all attached XID devices
#devices = pyxid.get_xid_devices()
buttonBox = None
for n in range(10): # doesn't always work first time!
devices = pyxid.get_xid_devices()
buttonBox = devices
break # found a device so can break the loop
if not buttonBox:
logging.error('could not find a Cedrus device.')
dev = devices # get the first device to use
if dev.response_queue_size() > 0:
response = dev.get_next_response()
# do something with the response
Then for each trigger or button press on the Lumina I get two lines of response - presumably for the button down and up. Is there any way to limit the response to solely the button down?