Map inputted ASCII characters
JavaScript (ES6) + HTML, 114 + 16 = 130 bytes

Saved 16 bytes thanks to @Shaggy



a=Array(96).fill` `;onkeypress=k=&gt;(a[k.key.charCodeAt()-32]=k.key,O.innerText=a.join` `.match(/.{1,32}/g).join`
`)
&lt;pre id=O&gt;&lt;/pre&gt;




It's so unbelievably satisfying to just mash the keyboard...