Have a look at illwill this does double buffering the output and read the input keys asyncronously
<https://github.com/johnnovak/illwill> If you need buttons etc you could also have a look at my illwillwidgets library: <https://github.com/enthus1ast/illwillWidgets> Or as araq suggest use sdl2 or one of the other pure nim game engines, or godot (there is also a nim binding to godot)
