C++ 跨平台键盘/鼠标输入建议

C++ 跨平台键盘/鼠标输入建议,c++,c,input,cross-platform,C++,C,Input,Cross Platform,有人对一个好的跨平台输入库有什么建议吗? 我想得到: * at least keyboard and mouse input * on at least the big three operating systems * Small/fast * C or C++ * permissive licensing gpl2/mit/free/etc. 到目前为止,我已经看到: * OIS (used in Ogre) http://sourceforge.net/projects/wgois/ *

有人对一个好的跨平台输入库有什么建议吗? 我想得到:

* at least keyboard and mouse input
* on at least the big three operating systems
* Small/fast
* C or C++
* permissive licensing gpl2/mit/free/etc.
到目前为止,我已经看到:

* OIS (used in Ogre) http://sourceforge.net/projects/wgois/
* SDL (used everywhere it seems, might be a clue) http://www.libsdl.org/index.php
* Allegro http://www.talula.demon.co.uk/allegro/readme.html
有没有人用过这些,或者知道其他可能有用的东西


感谢SDL,它在游戏开发中非常流行(至少是小游戏)

我已经使用SDL很长时间了,但它仍然不支持多个窗口,而且

因此,除了你提到的那些,我还要加上以下2点:


我最终为此使用了Qt框架


它非常完整,支持良好,有很多功能,现在有更好的许可。它可以和Ogre3d库一起使用,所以对我来说效果很好。我还发现《英雄之城》MMO将其用于用户界面。

这通常会与输出库相耦合,即将内容放在屏幕上的库。您打算在屏幕上显示任何内容吗?我不打算任何输出耦合。我尽可能使用“关注点分离”模型@jweyrich给出了一些很好的建议,但看起来他们都不仅仅是做输入。我建议OOIS(OpenInputSystem),该库在理论上支持多个mice。在实践中,我遇到了兼容性和编译问题(它在windows上使用DX,不会在windows上使用GCC进行编译),当与其他窗口系统(SFML)一起使用时,它也会导致问题,并在两个站点上寻求帮助,结果是“这是另一个库的错误”。所以我仍然在等待多个键盘和鼠标的支持!u、 uVoting关闭为工具rec。这两个看起来都是优秀的候选者:)SDL现在支持多个窗口。@Jordan真的!我更新了我的答案以反映这一点:-)谢谢!