Я использую Builder в автономном PsychoPy 1.80.07 в Windows. Я пытаюсь понять, как создать компонент кода для получения ответов от геймпада Logitech F310. В идеале я хотел бы просто использовать триггеры. Я не получаю никакого кода ошибки, когда запускаю эксперимент (который представляет собой демонстрацию ввода-вывода клавиатуры Stroop с кодом компонента кода клавиатуры ввода-вывода, замененным приведенным ниже кодом). Кажется, он работает нормально, но он просто показывает первую пробную версию и ждет ответа субъекта, так как думает, что не слышит геймпад. Кроме того, я могу запустить XInput Gamepad Coder Demo, и все работает отлично. Я новичок в кодировании, поэтому любая помощь в указании на то, где я допустил ошибки, будет очень признательна!
Вот что у меня есть в моем компоненте кода:
#Begin Experiment
try:
from psychopy import visual, core
from psychopy.iohub import launchHubServer, EventConstants
from psychopy.data import getDateStr
kwargs={'psychopy_monitor_name':'default','xinput.Gamepad':{}}
io=launchHubServer(**kwargs)
gamepad=io.devices.gamepad
except Exception, e:
import sys
print "!! Error starting ioHub: ",e," Exiting..."
sys.exit(1)
#Begin Routine
response_event=None
trial_start=0
io.clearEvents()
#Each Frame
if frameN == 0:
io.clearEvents('all')
trial_start=core.getTime()
else:
gamepadState=gamepad.getEvents()
for anyState in gamepadState:
if anyState in [u'left_trigger',u'right_trigger']:
response_event=gamepadState
continueRoutine = False
break
#End Routine
trials.addData("trial_start_time", trial_start)
if response_event:
trials.addData("resp.time", response_event.time)
trials.addData("resp.rt", response_event.time-trial_start)
trials.addData("resp.duration", response_event.duration)
trials.addData('resp.keys',response_event.key)
trials.addData('resp.corr', response_event.key.lower()==corrAns)
else:
trials.addData("resp.time",-1.0)
trials.addData("resp.rt", -1.0)
trials.addData("resp.duration", -1.0)
trials.addData('resp.keys','None')
trials.addData('resp.corr', False)
#End Experiment
io.quit()