终端中的键盘事件

时间:2011-11-25 18:35:34

标签: perl events terminal keypress keydown

我打算写基于终端的游戏。这将是实时的,所以我需要同时显示动画和阅读键盘事件。我怎样才能做到这一点?在JavaScript中,我会创建一个循环来显示游戏状态并将事件附加到自定义键。但我不知道如何在Perl和终端中做类似的事情。它必须是非阻塞的,并且必须允许同时对多个键做出反应。

2 个答案:

答案 0 :(得分:6)

Curses :: UI是一个基于终端的小部件集,带有键盘事件,这可能是一个不错的选择。

答案 1 :(得分:2)

我使用了POE::Wheel::TermKey,这是我问题的完美解决方案:)。在安装此模块之前,请不要忘记安装libtermkey。

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

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

如果您在安装Term::TermKey模块时遇到问题,请查看此处: Installing Term::TermKey returns error。 libtermkey很新,因此在许多Linux发行版的存储库中都没有。