I'm guessing it works out how many digits to expect for each codepoint by looking at the first digit (i.e. if it starts with a 1 then it has to be 3 digits, otherwise it is only 2).
Does this mean it's impossible to type a newline character, or a backspace, for example?
No idea, I didn't build the thing, just suggesting how it could work. If you want to cover [extended] ASCII, then every first digit could indicate a one or two digit code, one and two also a three digit code. So one possibility would be to have three digits for first digits zero, one, and two and otherwise two digits. All single digit ASCII codes require two leading zeros and all two digits ASCII codes starting with one or two require one leading zero. You could of course also make everything three digits with leading zeros as needed, would be easier at the cost of more dialing. Or use a timeout, if no new digits arrives within a specific time, then a new character starts.
You both are 100% correct! Originally I was going to have a wait (say, no new digits after 3 seconds, mark the ascii character), but I figured just scrapping everything after 20 as an immediate character and anything under as a 3 digit one, it made typing a lot faster.
A few decades ago, you could make ASR-33 teletype printer with an acoustic modem print…something…by whistling into the modem. Why go mechanical when you can be artisanal/organic?
Currently waiting on a small oled screen to print out the # inputs and corresponding last-typed character.