You can tell if you input something or not, based on the blinking cursor, in which case it is not "frozen".
I mean a trivial solution to all of these work around a could have been each keystroke registers a single asterisk that goes away after a delay. You wouldn't reveal the length and you'd had a standard way of informing the user that their keystroke was registered.
Unless you disable cursor blinking because you find it annoying (like I do).