如果可能的话,我想从Python中获取Wacom数位板的压力敏感输入.有没有可用的Python库可以做到这一点?
我正在尝试使用IE Edge,jQuery,Pointer Events Polyfill(jQuery PEP)和我的Wacom Intuos Pro 5 Medium Tablet(驱动程序已安装并正常工作)来实现新的Pointer Events模型.笔事件总是记录0.5表示压力,0表示tiltX,0表示tiltY.我究竟做错了什么?
http://jsfiddle.net/skibulk/5avcz377/4/
$('#pointerTarget').on('pointerdown pointerup pointermove pointerover pointerout pointerenter pointerleave',
function pointerHandler(event)
{
$('#pressure span').html(event.originalEvent.pressure);
$('#tiltX span').html(event.originalEvent.tiltX);
$('#tiltY span').html(event.originalEvent.tiltY);
}
);
Run Code Online (Sandbox Code Playgroud)
更新:它适用于我的Wacom Cintiq 22HD Touch!任何人都可以尝试使用他们的Intuos平板电脑来缩小问题范围吗?
我正在尝试在Linux上为Synergy添加压力敏感性支持.我认为第一步应该是检测服务器端的压力值.当调用XNextEvent时,手写笔移动作为MotionNotify事件进入.但是,当使用触控笔时,此线不输出压力值:
case MotionNotify:
XDeviceMotionEvent* motionEvent = reinterpret_cast<XDeviceMotionEvent*>(xevent);
LOG((CLOG_INFO "tablet event: pressure=%d", motionEvent->axis_data[2]));
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我猜测我可能没有"订阅"这样的信息,所以按照我在网上找到的一些例子,我试图打开Wacom设备:
void
CXWindowsScreen::openWacom()
{
// init tablet (e.g. wacom)
int deviceCount;
XDeviceInfo* deviceInfo = XListInputDevices(m_display, &deviceCount);
for (int i = 0; i < deviceCount; ++i) {
if (CString(deviceInfo[i].name).find("stylus") != CString::npos) {
LOG((CLOG_INFO "tablet device: name='%s', id=%d",
deviceInfo[i].name, deviceInfo[i].id));
XDevice* tabletStylusDevice = XOpenDevice(m_display, deviceInfo[i].id);
if (tabletStylusDevice == NULL) {
LOG((CLOG_ERR "failed to open tablet device"));
return;
}
XEventClass eventClass;
DeviceMotionNotify(tabletStylusDevice, m_tabletMotionEvent, eventClass);
XSelectExtensionEvent(m_display, m_window, &eventClass, 1);
LOG((CLOG_INFO "tablet motion …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个为触控设备实现特定功能的网站.我的目标是智能手机,平板电脑以及使用触摸屏作为主要输入的所有内容.
为了达到这个目的,我正在使用Modernizr Modernizr.touch
但是,对于安装了Wacom数位板的计算机,这将返回true.(与Wacom Intuos 5确认).显然,这些计算机上的主要输入设备是键盘和鼠标,而不是触摸屏.这会造成误报,因为我想为这些计算机而不是触摸屏用户体验提供桌面用户体验.
有没有办法检查"触摸屏功能",而不是"触摸功能"?或者任何其他创造性的方法来解决这个并避免误报?
我想从Wacom Bamboo中检索事件,并将它们用于Qt Quick 2应用程序中的缩放,平移和旋转行为.
看一下photosurface示例,看起来他们正在做类似的事情:
MouseArea
{
id: dragArea
hoverEnabled: true
anchors.fill: parent
onWheel:
{
if (wheel.modifiers & Qt.ControlModifier)
{
...
}
else
{
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,轮子事件不能提供足够的信息来确定所执行的手势.而photosurface示例与Wacom Bamboo无法正常工作.
那么,将Wacom设备与Qt Quick 2应用程序集成的正确方法是什么?
如果Qt Quick 2站点上没有解决方案,那么可以将Wacom设备与C++ Qt Widget应用程序集成吗?
附加信息
泛
我得到的事件是(更改值被"<< >>"包围,相对于其他手势的特定值被"== =="包围):
wheel.buttons: 0
wheel.modifiers: == 0 ==
wheel.pixelDelta: QPoint(0, 0)
wheel.angleDelta: QPoint(0, << 21 >>)
wheel.x: 205
wheel.y: 279
Run Code Online (Sandbox Code Playgroud)
这里,垂直和水平平移只有一个值发生了变化.
放大
我得到的事件是(更改值被"<< >>"包围,相对于其他手势的特定值被"== =="包围):
在这里,相同的值正在改变.请注意,捏合手势作为"Ctrl +鼠标滚轮"事件发送
wheel.buttons: 0
wheel.modifiers: == 67108864 ==
wheel.pixelDelta: QPoint(0, 0)
wheel.angleDelta: QPoint(0, << …
Run Code Online (Sandbox Code Playgroud) 几年来,我一直在使用 Java Swing + 我的 Wacom Graphire 数位板在几个 Java 应用程序中遇到问题,现在我自己也遇到了。
我在单击鼠标时使用数位板来解决手腕问题,它在 Windows 下工作正常,除非我使用 Java 应用程序。在 Java 应用程序中,单击笔无法正常工作。(通常问题只出现在文件选择对话框或树形控件上。)数位板还带有一个无线鼠标,可与同一数位板配合使用,并且单击也能正常工作。
我不知道问题是出在 WACOM 驱动程序中,还是出在 Windows 的 Java Swing 运行时中,或者两者都有。有没有人遇到过这个?我想向 WACOM 提交错误报告,但我不知道该告诉他们什么。
我已经能够在我自己的应用程序中重现这一点,该应用程序有一个 JEditorPane,其中包含一个我添加了 HyperlinkListener 的 HTML 文档。每次用鼠标单击时我都会收到 HyperlinkEvent.ACTIVATED 事件,但每次用笔单击时我都没有收到 HyperlinkEvent.ACTIVATED 事件。
笔和鼠标之间的一大区别在于,当您单击鼠标上的按钮时,很容易在没有鼠标移动的情况下导致单击按钮。在数位板上很难做到这一点,这似乎与缺少 HyperlinkEvent.ACTIVATED 事件有关——如果我在点击数位板时非常小心地不移动笔的位置,我想我可以得到 ACTIVATED事件。
有什么建议可以尝试,以便我可以向 WACOM 提供有关此错误的一些好信息?不能在 Java 应用程序中使用我的笔真的很令人沮丧,尤其是因为笔在“常规”Windows(非 Java)应用程序中工作正常。
通常我不会在这里问这个问题,但我想从程序员的角度找出可能发生的事情,以便我可以提交一个好的错误报告。
我正在使用Wacom Bamboo Pen平板电脑,我希望能够在我用C#编写的应用程序中获得笔压值.我怎么做?可能有一个API允许人们在Windows 7上获得笔值吗?
我正在尝试使用指针事件来检测包括笔压力在内的数位板输入,但 Chrome 和 Firefox 似乎无法正确读取数位板设备 (Wacom Intuos 4)。所有指针事件都返回与我的鼠标相同的指针 ID 和指针类型,默认压力读数为 0.5。我正在使用的代码如下所示:
container.addEventListener("pointerdown", (event) => {
console.log(event.pointerId);
console.log(event.pointerType);
console.log(event.pressure);
}, true);
Run Code Online (Sandbox Code Playgroud)
这将输出“1”、“鼠标”和“0.5”。这发生在“pointerdown”、“pointermove”和“pointerup”事件中。
我已经在安装了适当驱动程序的 Windows 和 Linux 上尝试过这个,其他应用程序会检测笔压力(例如 Krita)。
Chrome 和 Firefox 是否还不能正确支持图形平板电脑,或者我只是做错了什么?
有没有办法python-evdev
在Mac OS上安装库?当我尝试安装它时,Mac说The linux/input.h header file is missing.
(当然).可以在Mac下安装它吗?或者你知道其他任何选择吗?
我有一个读取Wacom输入的应用程序,/dev/input/wacom
它在Linux上运行良好,但我也试图在Mac下运行它.
Wacom 没有官方的 Python SDK。尽管如此,PyQt 有一个 QTabletEvent 来处理这些平板电脑。
唉,我没有发现这方面的工作 python 示例。
可以在此处查看 C++ 示例。
任何人都可以请我参考一个python示例吗?
有人可以告诉我如何在ubuntu 18.04中安装Wacom ONE手写板驱动程序吗?