Hi Josh,

To get non-blocking input in ncurses you have to change the input mode
using either nodelay or timeout. For example:

require 'ffi-ncurses'

def KEY(ch)
  ch[0].ord
end

include FFI::NCurses
initscr
begin
  cbreak
  noecho
  curs_set 0
  timeout(100) # delay in milliseconds
  counter = 0
  move 0, 0
  scrollok(stdscr, true)
  while (ch = getch) != KEY("q")
    flushinp
    addstr sprintf("You pressed %d\n", ch)
    refresh
  end
ensure
  endwin
end

See "man timeout" for more details. Thanks for the feedback. I'll add
this (and a threaded example) to the examples directory.

Regards,
Sean