I have a problem using non-ascii characters (in my case German umlauts) as response keys specificly if I enter them into the
keyList parameter of the
event.getKeys function (PsychoPy version 1.84).
There is no error unless the target umlaut char (i.e.
u'ä') is pressed and therefore contained in the
keyList and only if I request a
Traceback (most recent call last):
File "***\AmbiQ_Practice.py", line 21, in <module>
for i in range(trainingTrials): Trial(window, (random.choice(trainingShapes),), shock=False, fixationCross=fixationCross, ratingTexts=ratingTexts, textStim=text, feedback=True, log=False)
File "***\AmbiQ.py", line 340, in Trial
(key, rt) = evaluateRating(event.getKeys(keyList=[u'\xe4'], timeStamped=clock))
File "***\psychopy-1.84.2-py2.7.egg\psychopy\event.py", line 345, in getKeys
relTuple = [filter(None, (k, modifiers and modifiers_dict(k) or None, k - timeBaseDiff)) for k in targets]
IndexError: tuple index out of range
It seems like tuple entries with umlaut keys are dropped at some point.
Update: I tried to work around by not providing a
keyList attribute and filtering the result manually but this also leads to the error. It does work, however, if I call with
timeStamped=False (but I need the RT). So it definitely has to do with
(umlautKey, time) pairs.
Thanks for your help!