我正在编写一个C ++应用程序,如果按下箭头键,则必须读取。 我只发现了一些仅适用于Windows的功能。
答案 0 :(得分:1)
你有这样的问题,因为你只是问错了问题。如果你的应用程序是一个命令行工具并且可以从终端访问,那么由于终端可能远离运行应用程序的机器而且更重要的是,它不可能知道当前按下了哪些键,没有理由终端向你发送箭头按键,因为终端可以使用它们进行文本导航。
因此,您可以搜索如何让终端向您发送按键。不是每个终端都会支持它,但是,我认为,现代操作系统中的大多数现代终端都支持它。
如果您有一个gui应用程序用于本地运行并假设您从插入的键盘控制它。比您应该搜索gui工具包的文档。 (Qt
,wxWidgets
,原始xorg
,Windows API等。)
因此,对于这个问题,没有原生的C ++解决方案,因为你在很多情况下都没有意义。
因此,您可以使用某些控制台库,如ncurses
或gui工具包,例如Qt
,或者在您的特定情况下搜索本机解决方案,但不要指望这种最后的方式可以在没有任何其他代码的情况下工作在其他机器上。
或者只是搜索可以允许你这样做的其他库。
答案 1 :(得分:1)
正如您所说,您只找到了Windows的资料,我假设您正在寻找Linux-Unix方式。像我这样的老恐龙记得我们只有真正的游戏机(只有键盘和80x25显示屏)的时间。在这些早期,存在低级库来解释键盘传输的键,并将光标定位在几乎任何终端的屏幕上,而更高级别的库则将屏幕用作(仅文本)GUI。
您应该为高级库查找curses
或ncurses
,并为低级别功能查找terminfo。