我想编写一个在 Surface Book 上获取笔输入的应用程序。
主要动机是新的 Surface Pen Platinum 宣传倾斜和 4096 级压力,但我找不到倾斜响应(可能不是 4096 级灵敏度)。我试图理解并记录这一点。
Surface Book 使用 N-Trig 笔而不是 Wacom 笔。我注意到 Corel Painter、Krita 和 Rebelle 等绘图应用程序提供了执行 WinTab 或使用 Windows 实现的选项,并且似乎可以使用任何一种方式。我正在使用 Photoshop CS5,它在 N-Trig 时代之前,根本没有任何此类选项,但仍然有效。
此 Surface Book 上未安装 Wacom 驱动程序。在 Surface 计算机的早期,您可以从 Microsoft 下载 WinTab 驱动程序,这显然解决了 Photoshop 问题。您仍然可以下载驱动程序,这些驱动程序的当前版本是 Wintab_x64_1.0.0.20。它们的日期为 2015 年 1 月 12 日,包括两个 DLL:wintab32、dll 和 DHid.dll。这些都没有出现在这本 Surface Book 上。
我从 Wacom SDK 下载了 TiltTest 应用程序,并让它在另一台安装了 Wacom 驱动程序并使用 Wacom Pen 的计算机上工作。有了代码,我可以看到它提供了倾斜信息(高度和方位角)和 1024 级压力(值至少从 0 到 1023)。如果我尝试在 Surface Book 上运行此应用程序,它只是说找不到 wintab32.dll 并且无法运行,即使 Microsoft wintab32.dll 与 .exe 位于同一目录中也是如此。使用目录中的 Wacom wintab32.dll,它可以通过,但找不到平板电脑服务。它正在使用 WM_PACKET 消息,这显然是特定于 Wacom 的。
我注意到一种可能性似乎是使用 WM_POINTER API。但是,这显然是从 Windows 8.1 开始的,并且不会被 Photoshop CS5 使用。
所以问题是 Photoshop 在这个环境中是如何工作的,以及其他应用程序在做什么来实现 WinTab 或其他东西。我将如何在一个简单的应用程序中使用它来查看我是否正在获得瓷砖以及压力水平。