我正在寻找一种方法来确定我的游戏运行的计算机是否连接了鼠标或触控板,因此我可以相应地设置默认控件。我试图区分您在台式机上找到的典型键盘+鼠标设置,而不是可能有或没有外置鼠标但内置触控板的笔记本电脑。
在伪代码中,这正是我想要实现的目标:
if (hasMouse())
{
setUpMouseControls();
}
else if (hasTrackPad())
{
setUpTrackPadControls();
}
是否有API可以实现这一目标?我的支持目标是Windows 7+。我正在用C ++编写游戏。
答案 0 :(得分:0)
某些触控板具有可与特殊驱动程序一起使用的特殊功能(如触控板边框处的滚动条)。在这种情况下,可能会检测到某个设备驱动程序的存在(例如Acme Trackpad驱动程序)。
Howerver这只适用于某些履带板型号!
您始终可以通过VID / PID检测USB触控板。
但是,这两种方法仅适用于程序已知的触控板模型。
其他触控板(尤其是PS / 2触控板 - 可能内置于笔记本电脑中)不会将它们识别为触控板 - 它们会“告诉”计算机它们是普通鼠标。
没有机会检测到这样的触控板!
答案 1 :(得分:0)
请点击此链接:http://msdn.microsoft.com/en-us/library/ms645600%28VS.85%29.aspx
您可以使用RegisterRawInputDevices函数来接收WM_INPUT消息。使用此消息,您可以确定输入设备的类型,然后设置默认控件。