Events 如何跟踪Wacom平板电脑的悬停事件?

Events 如何跟踪Wacom平板电脑的悬停事件?,events,windows-7,wacom,Events,Windows 7,Wacom,我曾想过将键盘上的一些键映射到鼠标按钮,但只有在平板电脑处于活动状态时(笔悬停在平板电脑上)。有没有办法在全球范围内追踪此类事件? 我使用Wacom竹笔触摸屏和Windows 7 SP1。 wacom有自己的API供开发者使用。我可以使用什么工具来确定平板电脑是否正在发送消息? WinDDK中的hclient工具是确定平板电脑是否发送笔信息的好方法。此工具不依赖于Wintab;相反,它连接到平板电脑的HID描述符,因此可以在平板电脑数据从HID内核堆栈发送时对其进行监控。只需从hclient已枚

我曾想过将键盘上的一些键映射到鼠标按钮,但只有在平板电脑处于活动状态时(笔悬停在平板电脑上)。有没有办法在全球范围内追踪此类事件? 我使用Wacom竹笔触摸屏和Windows 7 SP1。


wacom有自己的API供开发者使用。我可以使用什么工具来确定平板电脑是否正在发送消息? WinDDK中的hclient工具是确定平板电脑是否发送笔信息的好方法。此工具不依赖于Wintab;相反,它连接到平板电脑的HID描述符,因此可以在平板电脑数据从HID内核堆栈发送时对其进行监控。只需从hclient已枚举的HID设备列表中选择设备(请注意,供应商ID=0x56a,用于Wacom)。确保用法页面=0xD,用法=0x1。按下对话框底部的“阻塞读取数据”按钮,当数据对话框出现时,按下“连续异步读取”按钮。将笔触到平板电脑以查看数据

我认为原始输入对您更有帮助: 原始输入模型

以前,键盘和鼠标通常生成输入数据。系统以消除原始信息中设备特定细节的方式解释来自这些设备的数据。例如,键盘生成特定于设备的扫描代码,但系统向应用程序提供虚拟键代码。除了隐藏原始输入的详细信息,窗口管理器还不支持所有新的HID。要从不受支持的HID获取输入,应用程序必须做很多事情:打开设备、管理共享模式、定期读取设备或设置I/O完成端口,等等

原始输入模型和相关API的开发允许从所有输入设备(包括键盘和鼠标)简单访问原始输入

原始输入模型与键盘和鼠标的原始Windows输入模型不同。在原始输入模型中,应用程序以消息的形式接收独立于设备的输入,这些消息发送或发布到其窗口,例如WM_CHAR、WM_MOUSEMOVE和WM_APPCOMMAND。相反,对于原始输入,应用程序必须注册它想要从中获取数据的设备。此外,应用程序通过WM_输入消息获取原始输入

原始输入模型有几个优点:

应用程序不必检测或打开输入设备

应用程序直接从设备获取数据,并根据需要处理数据

应用程序可以区分输入源,即使它来自同一类型的设备。例如,两个鼠标设备

应用程序通过指定设备集合中的数据或仅指定特定设备类型来管理数据流量

HID设备可以在市场上可用时使用,无需等待新的消息类型或更新的操作系统在WM_APPCOMMAND中使用新命令

最后,我在Wacom文档中看到了以下信息: 6.2.5.WT_接近度 描述 当光标进入或离开上下文近似时,WT_接近消息将发布到拥有窗口和任何管理器窗口。   参数 描述   wParam 包含光标正在进入或离开的上下文句柄。   lParam 低阶字在光标进入上下文时为非零,在离开上下文时为零。当光标离开或进入硬件时,高阶字为非零

评论 邻近事件与常规平板电脑事件分开处理。即使应用程序没有请求事件消息,也会收到邻近消息


此消息似乎会发送到所有管理器窗口,即使它不是焦点。祝您好运。

此链接可能会回答问题,但它是,并提供链接供参考。只有链接的答案可能会变得无效,如果链接页面更改半年后,我很高兴你为我找到了这个。非常感谢!顺便说一句,确切的解决办法就在这里:经过大量的研究,我发现了这个。遗憾的是,在这一点上,一个全局处理程序是不可能的。我不知道这是一种全局钩住自定义窗口消息的方法,但在wacom FAQ页面中,有一种方法可以直接从usb端口监视wacom消息,下面是我在该页面上找到的答案:FAQ3.28使用winDDK监视wacom。