我想过将键盘上的某些键映射到鼠标按键,但只有当平板电脑处于活动状态时(笔悬停在平板电脑上)。有没有办法在全球范围内跟踪此类事件? 我使用Wacom Bamboo Pen& Touch平板电脑和Windows 7 SP1。
答案 0 :(得分:0)
http://www.wacomeng.com/windows/
wacom有自己的API供开发人员使用
答案 1 :(得分:0)
3.28。我可以使用什么工具来确定平板电脑是否正在发送消息? WinDDK中的hclient工具是确定平板电脑是否正在发送笔消息的好方法。这个工具不依赖于Wintab;而是它连接到平板电脑的HID描述符,因此可以监视从HID内核堆栈发送的平板电脑数据。只需从hclient枚举的HID设备列表中选择设备(请注意,供应商ID = 0x56a,用于Wacom)。确保Usage Page = 0xD,Usage = 0x1。按对话框底部的“Blocked Read Data”按钮,在数据对话框出现时按“Continuous Asynchronous Read”按钮。将笔触摸平板电脑即可查看数据。
我认为Raw输入对您更有帮助: 原始输入模型
以前,键盘和鼠标通常会生成输入数据。系统以消除原始信息的设备特定细节的方式解释来自这些设备的数据。例如,键盘生成特定于设备的扫描代码,但系统为应用程序提供虚拟键代码。除了隐藏原始输入的详细信息外,窗口管理器也不支持所有新的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的 当光标进入上下文时,低位字不为零,而当离开上下文时,低位字为零。当光标离开或进入硬件接近时,高位字不为零。
评论 邻近事件与常规平板电脑事件分开处理。即使应用程序未请求事件消息,应用程序也会收到邻近消息。
似乎这条消息将被发送到所有经理窗口,即使它不是焦点。好运。