События клавиатуры в терминале - PullRequest
2 голосов
/ 25 ноября 2011

Я собираюсь написать терминальную игру. Это будет в реальном времени, поэтому мне нужно одновременно отображать анимацию и читать события клавиатуры. Как я могу это сделать? В JavaScript я бы делал цикл, отображающий состояние игры, и прикреплял события к пользовательским ключам. Но я понятия не имею, как сделать что-то подобное в Perl и Terminal. Он должен быть неблокирующим и позволяет одновременно реагировать на несколько ключей.

Ответы [ 2 ]

6 голосов
/ 26 ноября 2011

Curses :: UI - это основанный на терминале виджет с событиями клавиатуры, вероятно, это хорошая ставка.

2 голосов
/ 29 ноября 2011

Я использовал POE::Wheel::TermKey, и это идеальное решение моей проблемы :). Не забудьте установить libtermkey перед установкой этого модуля.

http://metacpan.org/pod/POE::Wheel::TermKey

http://www.leonerd.org.uk/code/libtermkey/

Если у вас проблемы с установкой Term::TermKey модуля, посмотрите здесь: Установка Term :: TermKey возвращает ошибку . libtermkey довольно новый, поэтому он недоступен в репозиториях многих дистрибутивов Linux.

...