我正在尝试在 Windows 7 上编写一个 python 脚本来与我的 Wacom Bamboo Pen 数位板交互。Wacom 建议使用 WinTab API,它运行良好,但不适用于我的应用程序。我不希望 Wacom 数位板充当指点设备(例如,它不应该移动光标)。我想要的只是来自设备的原始 x、y 数据。
实现这一点的最佳方法是什么?我是否必须为平板电脑编写不同的驱动程序才能允许这样做?或者我可以修改现有的 Wacom 驱动程序以不影响系统光标。
我认为,在 wintab 中,您可以获得原始坐标。至少在wintab 的 Python 包装器中,您可以访问它们:
cgkit.wintab.Packet.x
在绝对模式下,包含沿 x 轴缩放的光标位置。在相对模式下,包含光标位置的缩放变化。
cgkit.wintab.Packet.y
在绝对模式下,包含沿 y 轴缩放的光标位置。在相对模式下,包含光标位置的缩放变化。
我正在为自己调查是否有适用于平板电脑的跨平台 API,但如果您需要应该工作的纯 Windows 解决方案。
尽管它与问题无关(Wacom 除外),但一些读者可能会发现这很有用:
https://boutiqueretouching.com/fix-wacom-lag/
建议:用绳子将您的笔连接到数位板(或者始终将您的 wacom 笔存放在其底座中)......这样可以防止您的家人误以为它是干的毡尖,然后将其扔进垃圾箱。(整理时我自己做过一次 - 啊!)
如前所述,您必须使用 Python 计算机图形工具包cgkit。如果您不想从源代码构建它并且不介意使用旧版本的 Python,您可以使用二进制文件。
在 Windows 中测试的版本适用于 Python 3.2 32 位。从这里下载并安装 Python 然后从这里 下载并安装 Python Computer Graphics Kit
通过运行以下 2 行测试 Wintab 驱动程序是否可用
from cgkit import wintab
print(wintab.available())
如果你得到False那么你必须安装驱动程序。您可以从这里下载驱动程序
安装驱动程序后重新启动计算机并再次尝试 2 行你应该得到True。
现在要检索手写笔数据,请参阅Python wrapper for wintab