- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是一个相当宽泛的问题,所以我会尽量集中注意力。
我目前拥有一台安装了 Ubuntu 和触摸屏功能的联想笔记本电脑,并拥有一个 pressure-sensitive Bluetooth pen ,并一直在努力使两者一起作为廉价的类似 Cintiq 的平板电脑工作。
遗憾的是,这款笔仅支持 iOS 手机和平板电脑的特定应用程序。
因此,经过大量研究,我设法与笔连接并为其创建了一个 uinput
设备,这样我就可以在笔上记录按钮点击和压力变化,甚至可以看到它们被路由到 GIMP 时通过输入 Controller 菜单配置设备。
到目前为止,我为该接口(interface)编写的代码是 available here .
当尝试使用 GIMP 对其进行测试时,问题就开始了。
据我所知,这是因为 GIMP 假定 Wacom 设备报告它们自己的位置,将触摸屏触摸视为鼠标移动,并且一次只允许来自单个设备的输入。
我的问题是,我该如何解决这个问题?
更具体地说,我如何创建一个像 Wacom 数位板一样运行的 uinput
设备并取代/阻止我描述的行为?
或者如果有不同的解决方案,例如修补 GIMP 或为其编写插件。
上面提到的代码现在可以工作了。
我已经写了一篇关于让它工作的过程的博文:http://gerev.github.io/laptop-cintiq
最佳答案
正如您所说,Gimp 希望您在驱动程序中提供 ABS_X 和 ABS_Y 以及 ABS_PRESSURE - 这并不奇怪,因为您使用虚拟设备作为输入,所以选择 ABS_X 和 ABS_Y 没有多大意义来自一台设备的坐标和来自另一台设备的 ABS_PRESSURE(尽管在这种情况下它们将始终相同)。或许你可以直接读取鼠标的当前坐标并将其复制为你自己的设备坐标。
例如,项目 GfxTablet做一些类似于你正在尝试的事情,他们有一个用于带笔的平板电脑的 Android 应用程序,并使用 uinput 创建在 Linux 上像压力感应笔一样工作的虚拟设备。我已经使用过它,它在我的笔记本电脑上的 Gimp 和 mypaint 中工作起来就像一个魅力,而且我没有问题让鼠标(或触摸板)与 uinput 设备同时处于事件状态(我认为 Krita 添加了对通用的支持最近压敏设备)。可以看看驱动源码here (公平地说,出奇地简单)。
请注意,这不是 Gimp 的错误行为,因为这是类似平板电脑的设备所期望的。看看 event codes kernel documentation page ,在最后一节(指南)中,据说平板电脑必须报告 ABS_X 和 ABS_Y。此外,他们应该使用 BTN_STYLUS 和 BTN_STYLUS2 来报告工具按钮和一些 BTN_TOOL_*(例如 BTN_TOOL_PEN)来报告事件(您可以在 input.h 中找到所有可用的代码);然而,最后这些似乎并不那么重要,因为 GfxTablet 没有实现它们并且可以正常工作。
关于linux - 创建一个类似 Wacom 的 Linux uinput 设备,用于使用触摸屏和笔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23149093/
我正在尝试在 Windows 7 上编写一个 python 脚本来与我的 Wacom Bamboo Pen 数位板交互。 Wacom 建议使用 WinTab API,它工作正常,但不适用于我的应用程序
有什么方法可以从 Wacom 平板电脑读取数据而不在 Linux 上引发鼠标事件? 我现在使用的是 Ubuntu 12.04 LTS 和 Wacom Intuos 5。在 Ubuntu 上使用平板电脑
我想知道 Cocoa/Carbon 是否可以检测组合键(例如 Ctrl + Z)是否来自 Wacom 按钮或键盘本身。 谢谢最好的异音 最佳答案 我只能假设 Wacom 平板电脑的驱动程序伪造了绑定(
我目前正在尝试使用我的 wacom intous 在浏览器中的 Canvas 上绘制一些内容。 代码非常基本,除了查找鼠标的位置并在单击鼠标时绘制路径之外什么也不做。 当我使用鼠标时,这会按预期工作。
Wacom 没有官方的 Python SDK。然而,PyQt 有一个 QTabletEvent 来处理这些平板电脑。 唉,我找不到这样的工作 python 示例。 可以看到一个 C++ 示例 here
Wacom 没有官方的 Python SDK。然而,PyQt 有一个 QTabletEvent 来处理这些平板电脑。 唉,我找不到这样的工作 python 示例。 可以看到一个 C++ 示例 here
我有 Wacom 设备 STU 500 。我正在开发一个用于签署 pdf 文件的项目模块。我没有找到任何 Java SDK-API 来查询设备。有没有一种优雅的方法可以从java代码中做到这一点? 最
我在配置 Wacom 数位板签名时遇到问题。我没有问题地做了这个例子,但是当我把它集成到我的程序中时,它坏了。 问题是,当我单击“签名”按钮时,需要 5-10 秒才能显示签名捕获。在此之后,它运行正常
我刚从 wacom 那里得到一个签名板 STU 430,我想集成到我的 Java 应用程序中。 我下载了 SDK 签名,安装了它,然后我安装了示例来尝试它,但是有一个问题。 我不能执行任何代码,所以我
我正在尝试使用指针事件来检测图形输入板输入,包括笔压,但 Chrome 和 Firefox 似乎无法正确读取数位板设备 (Wacom Intuos 4)。所有指针事件都返回与我的鼠标相同的 point
几年来,我在多个 Java 应用程序中一直遇到 Java Swing + 我的 Wacom Graphire 平板电脑的问题,现在我自己也遇到了这个问题。 我使用数位板来解决点击鼠标时出现的手腕问题,
我正在 try catch 所有笔数据:触摸、某一点的压力、触摸的坐标... 有什么建议吗? SigCtl sigCtl = new SigCtl(); DynamicCapture dc = new
如果可能的话,我想用 Python 捕捉来自 Wacom 数位板的压力敏感输入。是否有可用的 Python 库可以执行此操作? 最佳答案 你或许可以看看 software描述 here .它是一个用
知名数位板、绘图设备制造商 Wacom 发布了一款 VR 绘图笔。这款绘图笔不仅有着传统的压感功能,能够在数位板上使用,而且能够无缝衔接 2D、3D 创作,在 VR 空间里进行 3D 创作。
我出售基于 WPF (.net 3.5SP1) 的时间跟踪应用程序,该应用程序没有与平板电脑/钢笔/墨水相关的功能。 我与 Wacom 平板电脑存在兼容性问题,在装有 Wacom 平板电脑的计算机上,
但是,我正在尝试通过 Java 小程序捕获 WACOM 数位板的事件。我必须做点什么,但我捕捉这些事件就好像它们是鼠标事件。 问题是,当我使用平板电脑在小程序中绘图时,我不想让他离开绘图区。据我所知,
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我创建了一个 pygtk 程序来监视任何应用程序的键盘状态和鼠标点击(即不仅仅是我的应用程序)。它使用 Micah Dowty 的 evdev,它基本上监视/dev/input/event* 的输出并
我在 Visual Studio (.Net 4.5) 中创建了一个新的 WPF 应用程序,并且刚刚向主窗口添加了一个 slider : 如果我使用启用了 W
这是一个相当宽泛的问题,所以我会尽量集中注意力。 我目前拥有一台安装了 Ubuntu 和触摸屏功能的联想笔记本电脑,并拥有一个 pressure-sensitive Bluetooth pen ,并一
我是一名优秀的程序员,十分优秀!