0
Fixed

Datapad discards "too fast" keyboard input

Mr. Fusion 2 months ago in Controls • updated by Tyler Owen (Lead Developer) 1 month ago 6

The datapad seems to not react to keyboard inputs that happen "too fast" (not actually too fast, only fast for what's processing them) after one another (eg. quickly pressing and releasing the same direction arrow more than once), resulting in the selection not moving at all. Previously this wasn't the case: the datapad controls had a small delay, but you cold "queue" keypresses and all of them were effective with that small delay in between them.


Also, after some time datapad controls started to produce several (usually 2-3 per keypress) of the "clicks" that happen when the selection moves for a single keypress, and these clicks are heard even when the selection itself doesn't move for the above reason.

If/when keys are held down, they are repeated at a relatively slow rate, and then there's only one click per selection movement. But usually there's an extra click at the end when the key is released so I wonder if it's something like a separate instance of the "repeater" timer is initialized for each keypress and then they start to interfere with one another?

Planned

Yes, I noticed these issues as well with an intent to fix them in time. Definitely on my list.

No idea if it's related, but I'm seeing a lot of "Cancel Button Active" spam in the output log which I don't think was there before, at least not to this extent. Maybe those extra "clicks" are produced by some kind of phantom input fighting with the real user input at times?

Fixed

When I reworked the control system I originally just retrofitted a few old scripts to add references to the new plugin, but now I've converted to using a script that came from the plugin itself for handling input control and it seems to have solved these issues. I'll do more testing to be sure, but this should be good for the public release of 0.61.

It appears mostly fixed, however, on occasions there are still two clicks per keypress with the selection only moving once, and on rare occasions the selection actually moves twice for a single keypress. It seemed to be the most noticeable when clicking on a system component, then pressing "Left" to move the selection from repair to replace, sometimes resulting in the selection moving twice, to the Menu button in the left side column.


Is the repeat rate/interval of a key being held down set and controlled by the game itself? If so, maybe a slightly longer delay would be needed? I believe there is usually a separate, longer delay before the first repeat to avoid slighly longer single keypresses triggering the repeat, and after this first longer delay the repeat interval is shorter if the key is still held down.

The delay before repeating the input of a held down button has now been increased. Not sure about the audio clicks happening twice occasionally. Still looking into that bit, but hopefully the overall functionality of the inputs should feel better after the next patch update.