Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

“Dancing” Keyboard Problem when accessing pyschpy textbox on Android devices #565

Open
srajwal1 opened this issue May 2, 2023 · 6 comments

Comments

@srajwal1
Copy link

srajwal1 commented May 2, 2023

Screenrecorder-2023-04-19-11-18-05-929.0.mp4

For the last month, my team and I have been facing this flickering keyboard problem (which we now call the “dancing” keyboard problem in our team) only on Android in both Chrome & Firefox browsers. When a user tries to enter something on the textbox, the Android keyboard appears (normal behavior). But then it starts flickering very quickly and never stops. As a result, a participant is not able to type anything and not even able to click the “next” button below the textbox. Please note that this problem does not occur on iOS.

For everyone’s reference, I have shared the video of the behavior and you can try it on your own too. Can someone please let us know what could be the issue as we have potentially tried everything possible from our side?

We posted this problem two times on the discourse page: one on March 27 and the other on April 19.

Hope to receive some solution around it from Pavlovia since our study is literally at a halt due to this major issue.
Thanks in advance!

@peircej
Copy link
Member

peircej commented May 12, 2023

This looks like an issue more for PsychoJS than the Python team so I'll move it to there.

In the meantime, if the only reason you need text input is for the Prolific ID then the recommended way would be to include that on the way over from Prolific as part of the URL using query strings. Is there a reason you aren't wanting to do that?

@peircej peircej transferred this issue from psychopy/psychopy May 12, 2023
@srajwal1
Copy link
Author

This looks like an issue more for PsychoJS than the Python team so I'll move it to there.

In the meantime, if the only reason you need text input is for the Prolific ID then the recommended way would be to include that on the way over from Prolific as part of the URL using query strings. Is there a reason you aren't wanting to do that?

Thank you for your reply. Actually, that was just an example to showcase the keyboard problem. We need other textual inputs from participants too.

@peircej
Copy link
Member

peircej commented May 26, 2023

I see, no problem.

@lightest has actually made some progress understanding this. The issue is that android sends a resize signal when the keyboard opens but PsychoJS detects that resize and pretty much starts rendering from scratch because all stimuli need recalculating etc, but that means the textbox and the keyboard are removed.

We need to detect that this resize is for text entry and stimuli should be rendered untouched

@srajwal1
Copy link
Author

srajwal1 commented Jun 5, 2023

Thank you so much @peircej for the update and @lightest for figure the issue out!

In the meanwhile, can you please suggest a possible work around so that my users can write their answers (free text)? We, unfortunately, have to use the textual input because half of our participants finished the task last year (when the dancing keyboard problem didn't exist).

Thank you a lot!

@apitiot
Copy link
Contributor

apitiot commented Jun 16, 2023

Dear @srajwal1 ,

I believe I have a fix for this issue, which I have integrated in PsychoJS 2023.2.1.
I have just updated your test experiment, https://run.pavlovia.org/noxlab/testbox_test, to 2023.2.1.
Would you like to give it a go and tell me how it fares? There is no dancing on my end any longer :-)

Alain

@srajwal1
Copy link
Author

Hello @apitiot,

Thank you very much for your time! We implemented your changes to our actual complex project. There is just one issue we observed again on Android platform only.

When the text box is displayed, the keyboard appears smoothly without any dancing. The user can input values successfully. However, if the user attempts to tap anywhere on the screen, the keyboard does not disappear as expected. Additionally, pressing the back button on the keyboard initiates the dancing.
In our actual game, there is important information scattered across the screen, which sometimes requires the user to dismiss the keyboard in order to view/read that information. For your kind reference, here is the Android video:

Screenrecorder-2023-06-19-18-08-52-468.mp4

Thanks once again for understanding the problem!

Swati

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants