另外的10键键盘输入

时间:2012-11-30 20:38:01

标签: c++ windows keyboard directinput

我正在用C ++编写Windows DirectX 11软件,我希望从常规键盘和10键键盘接收输入。我希望次要用户能够从10键键盘输入而不会中断主要用户对全键盘的使用。例如,如果主要用户正在输入文本框,我希望次要用户能够将10键数据发送到软件以便单独处理,这样就不会影响文本框输入。

我目前正在使用鼠标和键盘的DirectInput。但是,如果有人知道通过Windows API的解决方案,我也会考虑这一点。

当我在DirectInput中创建键盘设备时,我当前正在使用GUID_SysKeyboard值,它将两个键盘合并为一个,这样我的软件就无法识别键盘输入的来源。是否可以使用EnumDevices来识别两个键盘并创建单独的DirectInput设备?我想它会是,但我不确定如何从提供给EnumDevices回调的DIDEVICEINSTANCE结构中识别每个设备。我想尽可能使它成为通用的,这样它就可以用于键盘的不同组合和型号/品牌。

提前感谢您的任何帮助或建议!

(注意:我在GameDev.net

上发布了同样的问题

1 个答案:

答案 0 :(得分:0)

我相信顶行(当然在F键之下)的数字与键盘数字的值相同,但为了兼容所有键盘而不仅仅是带有键盘的键盘,我建议将它放在顶部排行