psychopy.org | Reference | Downloads | Github

'space', 'backspace', punctuation don't work in TextBox on pavlovia

URL of experiment: https://run.pavlovia.org/hanbyeol/ms_exp

Description of the problem: I want to collect participant’s text response to word stimuli.

I used ‘TextBox’ in my experiment.

It works well in a local computer, Psychopy.

But, when I run the experiment on pavlovia,

‘space’, ‘backspace’, punctuation and English are not typed.

Only, Korean character can be typed.

and I set up ‘lctrl’, and ‘rctrl’ as keyboard components to change the screen.

but it does not work.

Could you help me solve a problem?

Is there any wrong in my code?

// key_response updates
if (t >= 0.0 && key_response.status === PsychoJS.Status.NOT_STARTED) {
// keep track of start time/frame for later
key_response.tStart = t; // (not accounting for frame time here)
key_response.frameNStart = frameN; // exact frame index

  // keyboard checking is just starting
  psychoJS.window.callOnFlip(function() { key_response.clock.reset(); });  // t=0 on next screen flip
  psychoJS.window.callOnFlip(function() { key_response.start(); }); // start on screen flip
  psychoJS.window.callOnFlip(function() { key_response.clearEvents(); });
}

frameRemains = 0.0 + 60.0 - psychoJS.window.monitorFramePeriod * 0.75;  // most of one frame period left
if (key_response.status === PsychoJS.Status.STARTED && t >= frameRemains) {
  key_response.status = PsychoJS.Status.FINISHED;

}

if (key_response.status === PsychoJS.Status.STARTED) {
  let theseKeys = key_response.getKeys({keyList: ['lctrl', 'rctrl'], waitRelease: false});
  _key_response_allKeys = _key_response_allKeys.concat(theseKeys);
  if (_key_response_allKeys.length > 0) {
    key_response.keys = _key_response_allKeys[_key_response_allKeys.length - 1].name;  // just the last key pressed
    key_response.rt = _key_response_allKeys[_key_response_allKeys.length - 1].rt;
    // a response ends the routine
    continueRoutine = false;
  }
}

Thank you so much!!

I guess that the problem is that you can’t yet use a Keyboard Response before (or simultaneously with) a TextInput.

Thanks! So i deleted the keyboard component.

But i still have a problem about the editable textbox.
The ‘space’, ‘backspace’, and punctuation keys are not work in editable textbox.

It works well in a local computer, Psychopy.

But, when I run the experiment on pavlovia,

It doesn’t work… can you give me some solution?

Thank you

Hi @hanbyeol, thanks for flagging, could you give me developer access so I can look into it? Here to help, s.

2 Likes

https://run.pavlovia.org/hanbyeol/ms_exp/?__pilotToken=9bf31c7ff062936a96d3c8bd1f8f2ff3&__oauthToken=6709150cfb93c932107d6eb3feaede114943d019384580578ba2b4b12f637650

Is it developer access? i am a beginner at pavlovia… :joy:

:+1:

I gave you developer access! Is there anything to do?

Hi @hanbyeol, thanks for giving me access, I was expecting the project might have been hosted on Pavlovia, but OK. Would upgrading to PsychoPy/JS version 2021.1.3 be an option for you? I believe you may have hit a bug that has since been fixed. Could you try that and let me know if the problem remains? Thanks, x

thanks for helping me!
I upgraded but It doesn’t still not work :disappointed_relieved:
could you tell me how can i do?
thanks!

No worries, here to help, let me take a closer look, x

1 Like

Hi @sotiri,
I changed all the ‘key component’ to ‘mouse component’. and the issue that i had is solved now!! So I can use the ‘space’, ‘backspace’ ect…
I appreciate your help :slightly_smiling_face:
But… I had an another issue :cry:
The response that i wrote in first textbox is remained next textbox…
So I had to delete the first response to write the next response.

thank you so much!!

here is my gitlab:

Please could you add your new issue to this current thread on the same topic?