我正在构建一个应用程序,用户可以将其Android平板电脑用作图形平板电脑,例如https://play.google.com/store/search?q=gfxtablet
我的服务器程序是用Java编写的,我成功地能够通过UDP从我的平板电脑向服务器发送手写笔坐标和压力值,并能够在Paint,Photoshop等应用程序中绘图.
问题:
我无法找到在Windows中注入此压力值的方法(根据手写笔压力绘制粗细线).我知道它可以在Linux中轻松完成,但我无法找到适合Windows的方法.
我甚至尝试过Java的JNA库,但它似乎也没有适当的方法来输入压力值.我知道JPEN和JTABLET库的存在但这些不允许你在Paint,Photoshop,GIMP等中绘图.
小智 0
您可以尝试使用java中的Robot类来模拟本机系统输入事件。然后存储局部变量以测试输入并通过 Robot 类触发这些事件。
基本上,对于 Windows Paint,只要您的压力大于之前的压力,就会触发 Robot 事件,发送组合键 CTRL 和 + 以增加画笔宽度。
如果您还在测试打开的应用程序,那么您可以设置一个单独的代码部分来确定要发送的组合键(因为在 Photoshop 中键绑定是 [ 和 ]),或者有一个部分允许用户指定他们的键绑定是什么。
虽然当前迭代使用 awt,但Robot 在 3.0 中被添加到 JavaFX/Lombard 中。
我确信有更好的解决方案,但这就是我会做的,直到我有更好的解决方案。:)