如何在Linux或Solaris下使用C检测箭头键被按下?

发布于 2024-07-14 02:39:34 字数 162 浏览 5 评论 0原文

在 Linux 或 Solaris 下检测 C 程序中按下箭头键的最佳方法是什么?

据我所知,没有标准的 C 函数可以做到这一点。 我不想使用 int86 函数。 我需要以便携的方式做到这一点。

编辑:我问的是控制台应用程序。

What is the best way to detect in a C program that arrow key is pressed under Linux or Solaris?

As I know there is no standard C function that can do it.
I don't want to use int86 function. I need to do it in a portable way.

Edit: I am asking about console applications.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

兮颜 2024-07-21 02:39:34

您应该查看curses/ncurses 库,它将为您提供控制台应用程序的高级屏幕和键盘处理。

有很多可用于curses的文档,这是一个内容广泛的库。

关于这个问题有一篇文章此处

You should look at the curses/ncurses library which will give you advanced screen and keyboard handling for console applications.

There is a lot of documentation available for curses, which is an extensive library.

There is a write-up on this very question available here

挽手叙旧 2024-07-21 02:39:34

我相信你的程序应该切换到 非规范mode 能够读取特殊字符

I believe your program should switch into non-canonical mode to be able to read special characters

﹎☆浅夏丿初晴 2024-07-21 02:39:34

如果您想在不使用 SDL 之类的情况下执行此操作,您应该研究 select() 语句以及如何使用它从控制台输入读取。

If you wanted to do this without using something like SDL, you should look into the select() statement and how to use it to read from console input.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文