Обработка событий Ruby Keyboard

Здравствуйте, я использую curses для разработки небольшого консольного приложения.

У меня есть секция основного цикла, которая ожидает ввода пользователя, она использует функцию getstr, конечно, она ждет, когда пользователь нажмет ввод.

Я хотел бы захватить нажатия клавиш вверх и вниз и вкладки. Я полагаю, что это не может быть сделано с gettr.

У кого-нибудь есть идеи, как это сделать?

РЕДАКТИРОВАТЬ: я пытался использовать STDIN.getc, который блокирует запуск приложения, а getch не ловит клавиши со стрелками

РЕДАКТИРОВАТЬ # 2: я пытаюсь этот код на окнах. Кажется, что Curses.getch работает для Linux, но в Windows я не получаю ключ для стрелки вверх.