Я пытаюсь использовать DirectIN Rotary Controller на Mac OS X (yosemite) с помощью PsychoPy2 (версия 1.82.01). Я хотел бы провести двухсторонний эксперимент принудительного выбора и использовать кнопки на кнопке, чтобы ответить; однако я не могу заставить психопата признать устройство.Использование DirectIN Rotary Controller в PsychoPy2 в builder
Кто-то, у кого есть аналогичная проблема, смог сделать окно с кнопками в кодере (see here), и есть аналогичный вопрос, используя другой игровой контроллер here. До сих пор я собрал следующую информацию:
- Психопат распознает коробку кнопок в качестве джойстика.
- Мне нужно использовать компонент кода в пробной процедуре.
Сообщение от emprisoft форума дает следующий код:
import pyglet
joysticks = pyglet.input.get_joysticks()
for joy in joysticks:
if joy.device.name == 'Analog Scale Device':
joy.open()
break
def present_pair_joystick(trial,isi,curdata): #trial is a sound object, isis is the time to wait after response/end of sound, and curdata is a dictionary used to store response data
event.clearEvents()
while joy.buttons[0] or joy.buttons[1]:
continue
curdata['trial_start']=time.time()
trial.play()
dur = trial.getDuration()
while True:
if not (joy.buttons[0] and joy.buttons[1]):
if joy.buttons[0]:
curdata['rt'] = time.time() - curdata['trial_start']
curdata['resp'] = 'Word'
break
elif joy.buttons[1]:
curdata['rt'] = time.time() - curdata['trial_start']
curdata['resp'] = 'Nonword'
break
if 'escape' in event.getKeys():
core.quit()
if time.time() - curdata['trial_start'] > dur:
core.wait(isi)
else:
core.wait((dur - (time.time() - curdata['trial_start'])) + isi)
curdata['dur'] = dur
return
Так что я считаю, что я могу получить коробку кнопки, чтобы работать, если я включить этот код в коде компонент в строителе, но у меня есть не имел успеха с этим (я могу запустить эксперимент без ошибок, но ключевые ответы не записываются). Любая помощь будет оценена по достоинству.
Большое спасибо за ваш ответ. Я следовал вашим советам, и эксперимент не удался после ввода информации о участниках. Это результат: nameOfSomeTextComponent.text = 'Ожидание ответа ...' NameError: имя' nameOfSomeTextComponent 'не определено – babylinguist
Кроме того, если быть более конкретным, в ответ на нажатия кнопок, я хотел бы записать, какой ключ был нажат, и завершить пробную версию, как это обычно бывает в случае двух альтернативных принудительных выбор парадигмы. – babylinguist
Вам нужно прочитать код, а не просто копировать и вставлять его :-) 'nameOfSomeTextComponent' явно необходимо заменить фактическим именем созданного вами текстового компонента. –