我考虑将键盘上的一些键映射到鼠标按钮,但仅当平板电脑处于活动状态时(笔悬停在平板电脑上)。有没有办法在全球范围内追踪此类事件?我使用 Wacom Bamboo Pen&Touch 数位板和 Windows 7 SP1。

有帮助吗?

解决方案

3.28。我可以使用什么工具来确定平板电脑是否正在发送消息?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_INPUT 消息获取原始输入。

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

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

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

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

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

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

最后,我在 Wacom 文档中看到了这条消息:6.2.5.wt_proximity描述wt_proximity消息将在光标进入或离开上下文接近时发布到拥有窗口和任何经理窗口。参数描述WPARAM包含光标正在输入或离开的上下文的句柄。lparam当光标输入上下文时,低阶单词在离开上下文时为零。当光标离开或进入硬件邻近时,高位字不为零。

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

看来这个消息会被发送到所有管理器窗口,即使它不是焦点。祝你好运。

其他提示

http://www.wacomeng.com/windows/

Wacom有自己的API用于开发人员使用

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top