Feature Request - Text Entry Backspace Trigger When Pressed, not Released

Hey Gdevs! I have a request.

What: Currently, the Text Entry object applies the backspace action only once the backspace key is released. With any other text software, a character is deleted immediately as soon as the backspace key is pressed.

Why: This is the behavior that computer keyboard users are used to. The particular issue that I’m running into is that my text input system for my text adventure game works great except for backspace. If the user types something, then quickly hits the backspace key to delete a few characters, the Text Entry object behaves poorly; if a new character is typed too quickly after the backspace key is hit, it is not recognized, or it is recognized but then deleted. The current system is okay for 90% of users, but anyone who types quickly will not have an optimal experience (I’m one of those people, which is why I noticed this).

Addendum: It would also be nice to include the backspace held behavior that users are used to as well (where characters are deleted rapidly if the backspace key is held for a certain amount of time). I was able to create events to recreate this, but overall, after all of my work, the Text Entry object is primitive compared to modern text processors.

Note: I do realize that there is a new Text Input (Experimental) object. This new object is fantastic and doesn’t have any of the issues I’m describing here. However, I am not using it in my game because it requires the player to click inside the object each time he/she wants to enter a new command. Maybe a better feature request is to allow this new object to allow text input without this requirement. My current game is designed so that, any time the player types something, a speech bubble appears on screen with their input. This isn’t possible with Text Input (Experimental).

Having become more familiar with how Gdevelop reads events, I think I understand why the backspace key only works upon release. If it’s triggered when the key is pressed, it will delete characters rapidly by default. And at 60 frames per second, it’s too quick for a human key press. Regardless, the current Text Entry object is very basic and a weak point in Gdevelop.

Thank you!

2 Likes