在C中访问击键

在C中访问击键,c,linux,ubuntu,keyboard,C,Linux,Ubuntu,Keyboard,我正在尝试访问C中的击键。我可以访问字母数字键。如何访问控制键、Shift键和Alt键? 另外,我在某个地方读到,有时在控制台中输入文本时,操作系统会屏蔽退格键。我想知道用户按下退格键的位置。这与知道何时按下“\n”不同。 GNUC.Ubuntu11 Dietrich Epp在评论中回答说:使用ncurses图书馆 另见 您可以制作一个客户端图形应用程序;在这种情况下,请使用图形化工具箱库,如或 如果您想制作一个控制台应用程序,可以使用或 你的问题,从字面上看,毫无意义:严格的C标准不知道什么

我正在尝试访问C中的击键。我可以访问字母数字键。如何访问控制键、Shift键和Alt键?
另外,我在某个地方读到,有时在控制台中输入文本时,操作系统会屏蔽退格键。我想知道用户按下退格键的位置。这与知道何时按下“\n”不同。
GNUC.Ubuntu11

Dietrich Epp在评论中回答说:使用ncurses图书馆

另见

您可以制作一个客户端图形应用程序;在这种情况下,请使用图形化工具箱库,如或

如果您想制作一个控制台应用程序,可以使用或

你的问题,从字面上看,毫无意义:严格的C标准不知道什么是键或击键(标准中提到的唯一I/O操作与
文件相关)。这就是为什么大多数人使用额外的库和标准(除了ISO C要求的库和标准),例如……

简单的答案是“你不能”,至少不容易或不下载第三方库

大多数C程序不必知道键盘或屏幕的任何信息。标准C只涉及文件的读取和写入(键盘和屏幕是特殊情况文件)

假设您有很好的理由希望直接访问键盘,那么您应该查看ncurses库(http://www.gnu.org/software/ncurses/ncurses.html). Ncurses知道有多少不同的(虚拟的)终端和键盘在工作,它为它们提供了一个统一的接口。它允许您仅使用文本块绘制屏幕和创建替代图形界面


由于您使用Ubuntu,请尝试运行“aptitude”命令,以查看ncurses可以做什么的好例子。

使用ncurses库。可能重复