2

有没有人在 Surface Pro 或其他 Microsoft Wacom 笔平台上找到了 Java Swing 鼠标事件计时的解决方案?

目标是在绘图类型应用程序中创建响应式笔划输入,包括在笔划开始时。

此问题出现在运行 Windows 8 的 Surface Pro 上。我之前在运行 XP 的东芝 TabletPC 上观察到它。在这两种设备上,我相信笔传感器是 Wacom。

问题在于 mousePressed 和 mouseDragged 事件的时间安排。一个简单的程序将让 mousePressed 事件启动一个笔划,随后的 mouseDragged 事件为其添加点。

从表面上看,鼠标和笔在触发这些事件时的行为应该相似。

但事实上我观察到时间是非常不同的。对于鼠标,mouseDragged 事件在 mousePressed 事件之后大约 8 毫秒发生。凉爽的。

但是,使用笔时,行为很奇怪。当笔被按下时,会立即触发 mousePressed 事件。但是在第一个 mouseDragged 事件被发送之前有一个显着的延迟。这破坏了笔画的开始。调用 System.currentTimeMillis() 会返回欺骗性的答案。这些调用表明 mousePressed 事件和随后的 mouseDragged 事件同时发生。这是不可能的,因为活动地点大相径庭。

O/S、Wacom 驱动程序和 Java 之间肯定发生了一些有趣的事情。有没有人遇到过这个,或者更好的解决方案?

4

0 回答 0