在linux和windows的c++应用程序中,有没有一种标准的方法来捕获键盘输入?

Is there a standard way to capture keyboard inputs that works in a c++ application for linux and windows?

本文关键字:方法 标准 一种 输入 键盘 c++ windows linux 应用程序 有没有      更新时间:2023-10-16

对于一个c++游戏,所以它可以在linux机器或windows机器上运行?

像windows,我会使用钩子,但我想知道我怎么能做同样的事情,所以我的游戏可以在linux机器上运行了吗?

使用库来抽象平台之间的差异。

如果您正在编写一个简单的基于控制台的应用程序,那么c++标准库就足够了。对于图形应用程序,您可能希望使用LibSDL之类的东西。对于游戏来说,使用SDL是很常见的。这使得同一款游戏可以在Windows, Linux和OS X上运行,而无需在平台之间进行太多修改。

GLFW和SFML是其他一些备选方案。

如果你正在编写一个复杂的基于控制台的应用程序,如NetHack,你将需要一个库来进行控制台抽象,如ncurses。