In Map inputted ASCII characters, I asked you to .. map inputted ASCII characters. This time, you will do the opposite, by immediately mapping all ASCII characters, and then mapping spaces over them.
This program will have practical uses, such as seeing what characters you have left in a restricted-source challenge submission.
Challenge
Your job is to write a program that un-maps inputted ASCII characters. As soon as the program is run, it will display this exact map (except color, font, size, etc.):
Each time the user inputs a printable ASCII character, you will print a space over it.
Rules
- The initial output must be exactly as shown in the first image above: a 6x16 grid with ASCII characters in their respective positions, with the space (32) at the top left and the tilde (126) at one character left from the bottom right.
- Your program only needs to display the printable ASCII characters,
0x20
to0x7E
. - Your program must not terminate and continue to print spaces over characters until all printable ASCII characters have been overwritten. From here, your program can either terminate or run off into Neverland.
- Your reverse map must be updated in realtime (as soon as it receives user input).
- If your program does not read input silently, it must put the cursor out of the way, so the text won't get in the way of the map.
Here's a useful ASCII table for reference.
Scoring
The answer with the least bytes in each language wins. Have fun!
Your program only needs to display the printable ASCII characters, 0x20 to 0x7E
\$\endgroup\$