Erlang 如何捕捉击键?

Erlang 如何捕捉击键?,erlang,erlang-shell,Erlang,Erlang Shell,我想做一个简单的Erlang控制台游戏。在那个游戏中,我需要通过按键控制我的“汽车”——上键或W键。有办法吗?我读到wx库有这样的功能,但我正在寻找一些简单的东西,在我看来wx库是矫枉过正的。我想抓取一个事件,而不是stdin中的角色 编辑: 好的,我已经选择了ncurses,并将其作为Erlang库。我只知道两种方法:gs和wx gs稍微简单一点,但文档的第一行是一个警告,告诉您不建议将gs用于新的应用程序,请改用wx:o) wx并没有那么复杂,但它的文档非常糟糕,只是引用了wxWidget

我想做一个简单的Erlang控制台游戏。在那个游戏中,我需要通过按键控制我的“汽车”——上键或W键。有办法吗?我读到wx库有这样的功能,但我正在寻找一些简单的东西,在我看来wx库是矫枉过正的。我想抓取一个事件,而不是stdin中的角色

编辑:


好的,我已经选择了ncurses,并将其作为Erlang库。

我只知道两种方法:gs和wx

gs稍微简单一点,但文档的第一行是一个警告,告诉您不建议将gs用于新的应用程序,请改用wx:o)

wx并没有那么复杂,但它的文档非常糟糕,只是引用了wxWidget one。至少有一些演示(演示、数独、xrc…)可以帮助开始构建一些东西。一旦你成功地让你的第一个面板和尺寸测量器工作,就很容易让按键或鼠标事件对它们做出反应。我的主要困难在于,即使最后只有几行代码(仅10秒),也要足够快速、流畅地显示图形


最后,erlang控制台用于评估erlang表达式,因此您不可能捕获简单事件并控制该环境中的显示(至少需要付出合理的努力).

您可以尝试研究
内核
的模块
用户\u drv
,但它们都有未记录的界面,并且可能会在任何未来的Erlang/OPT版本中发生更改。您还可以创建自己的驱动程序或NIF来处理
termios
设置,并创建自己的实现

顺便说一句,我肯定会坚持使用
wx