这是一个相当广泛的问题,所以我会尽量保持它的重点。
我目前拥有一台装有Ubuntu的联想笔记本电脑和触摸屏function,并拥有一个压敏蓝牙笔 ,并试图使这两个工作在一起,作为一个便宜的类似Cintiq的平板电脑。
不幸的是,这支笔仅支持iOS手机和平板电脑的特定应用程序。
所以经过大量的研究,我已经设法与笔接口并为它创build了一个uinput设备,所以当通过input控制器configuration设备时,我可以在笔上注册button点击和压力变化,甚至可以看到它们路由到GIMP菜单。
到目前为止我已经有了这个接口的代码可以在这里find 。
如何使用GIMP编写自定义自动裁剪脚本?
从控制台运行gimp
如何从PSD文件中提取文本?
如何从命令行cmd窗口gimp运行gmic
尝试使用GIMP进行testing时,麻烦就开始了。
从我收集的内容来看,这是因为GIMP假定wacom设备报告自己的位置,将触摸屏触摸视为鼠标移动,并且一次只允许来自单个设备的input。
我的问题是,我怎么能解决这个问题?
更具体地说,如何创build一个可以像wacom平板电脑一样运行的uinput设备,并取代/阻止我描述的行为?
或者,如果有不同的解决scheme,例如修补GIMP或为其编写插件。
更新(2014-06-07)
上面提到的代码现在可以工作。
我已经写了一篇博客文章了解这个工作的过程: http : //gerev.github.io/laptop-cintiq
正如你所说,Gimp期望你在驱动程序中提供ABS_X和ABS_Y以及ABS_PRESSURE – 这并不奇怪,因为你使用虚拟设备作为输入,所以从一个ABS_X和ABS_Y坐标中选择一个没有什么意义设备和ABS_PRESSURE(虽然在这种情况下它们总是相同的)。 也许你可以只读鼠标的当前坐标,并将它们复制为自己的设备坐标。
作为一个例子, Gfxtablet项目与你正在尝试的东西类似,他们有一个带有笔的平板电脑的AndroID应用程序,并使用uinput来创建虚拟设备,就像在linux上使用压敏笔一样工作。 我已经使用了它,它在GIMP和我的笔记本电脑上的功能像一个魅力,我没有任何问题与鼠标(或触摸板)在同一时间作为输入设备(我认为Krita增加了对通用压敏设备)。 你可以在这里看看驱动程序的源代码(非常简单,公平)。
请注意,这不是Gimp的错误行为,因为这是平板电脑设备所期望的。 查看事件代码内核文档页面 ,在上一部分(指南)中,平板电脑必须报告ABS_X和ABS_Y。 此外,他们应该使用BTN_STYLUS和BTN_STYLUS2来报告工具按钮和一些BTN_TOol_ *(例如BTN_TOol_PEN)来报告活动(你可以在input.h中找到所有可用的代码)。 然而,最后这些似乎并不重要,因为Gfxtablet没有实现它们,没有问题。
我真的不知道正确的答案。
但谷歌的“linux开源触摸笔驱动程序”带我到→ linuxwacom sourceforge项目 ←。
这似乎是解决你有问题, 有源代码下载和分析(今年更新),有人要问:)
总结以上是内存溢出为你收集整理的创build一个类似Wacom的Linuxinput设备,用于使用触摸屏和笔全部内容,希望文章能够帮你解决创build一个类似Wacom的Linuxinput设备,用于使用触摸屏和笔所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)