【发布时间】:2009-02-20 02:13:32
【问题描述】:
在 C 程序中检测在 Linux 或 Solaris 下按下箭头键的最佳方法是什么?
据我所知,没有标准的 C 函数可以做到这一点。 我不想使用 int86 函数。我需要以便携的方式进行。
编辑:我问的是控制台应用程序。
【问题讨论】:
-
您指的是控制台应用程序(即没有窗口)吗?
在 C 程序中检测在 Linux 或 Solaris 下按下箭头键的最佳方法是什么?
据我所知,没有标准的 C 函数可以做到这一点。 我不想使用 int86 函数。我需要以便携的方式进行。
编辑:我问的是控制台应用程序。
【问题讨论】:
您应该查看 curses/ncurses 库,该库将为您提供控制台应用程序的高级屏幕和键盘处理。
有很多 documentation 可用于 curses,这是一个广泛的库。
有一篇关于这个问题的文章here
【讨论】:
我相信你的程序应该切换到non-canonical mode 才能读取特殊字符
【讨论】:
如果您想在不使用 SDL 之类的东西的情况下执行此操作,您应该查看 select() 语句以及如何使用它来读取控制台输入。
【讨论】: