I'm unsure if this is the cause of Python or Curses. Whenever a user presses a key, that input is saved into a "queue". The next time the program asks for user input, it will accept whatever is in that queue. I'm wondering if there is a way to disable this, so that whenever the program asks for input, it waits for a user to give input rather than use whatever is in the queue.
Here's my code: https://github.com/lucash-diskkun/curseslibtcod/blob/master/norbak/Norbak.py
Flush all input buffers. This throws away any typeahead that has been typed by the user and has not yet been processed by the program.