我对将笔记本电脑触控板用作绘图板很感兴趣,即使用绝对坐标而不是相对坐标,类似于OSX的Inklet。
2010年5月在ubuntuforums.org中提出了相同的问题,但从未有人回答。我想知道这是否已经在Linux上完成。我还试图找出要使用的搜索字词。我搜索了“ Linux笔记本电脑触摸板绝对模式”,然后想到了触控板驱动程序出现问题,从而使触控板进入了绝对模式。但我真的找一个程序,它使用的绝对位置,而不是驱动程序设置。
我对将笔记本电脑触控板用作绘图板很感兴趣,即使用绝对坐标而不是相对坐标,类似于OSX的Inklet。
2010年5月在ubuntuforums.org中提出了相同的问题,但从未有人回答。我想知道这是否已经在Linux上完成。我还试图找出要使用的搜索字词。我搜索了“ Linux笔记本电脑触摸板绝对模式”,然后想到了触控板驱动程序出现问题,从而使触控板进入了绝对模式。但我真的找一个程序,它使用的绝对位置,而不是驱动程序设置。
Answers:
您不会找到执行此操作的程序,因为驱动程序尝试将这三种类型的触摸板抽象为应用程序的单个表示形式:
不幸的是,即使您具有完全能够报告所有绝对值的触摸板,大多数触摸板驱动程序也不允许您在Linux应用程序中使用它们。绝对数据确实存在,例如,驱动程序可以检测您是否在边缘触摸它以进行滚动。evtest
在虚拟终端中使用自己进行测试(挂起X)。我的Synaptics触摸板报告的绝对位置如下:
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 3332
Min 1472
Max 5648
Fuzz 8
Resolution 39
Event code 1 (ABS_Y)
Value 2017
Min 1408
Max 4806
Fuzz 8
Resolution 79
最近在驱动程序中的此提交已删除了在Xorg中将Synaptics设备实际置于绝对模式的功能xf86-input-synaptics
:
Remove absolute mode Moving a touchpad in absolute mode is unusual - touchpads are disconnected from the output device, so direct interaction is hard. There appears to be little usage of it (I haven't seen bug reports from people claiming to use it). Joe Shaw, author of the code and only known user doesn't have a use for it anymore, so purge it from the repo.
我认为目前在Linux中实现此目标的唯一方法是使用evdev
Xorg中的驱动程序。在2010年的Xorg邮件列表中对此进行了讨论(以下摘录):
我必须获得手指在触摸板上的绝对位置,而不仅仅是相对移动。
synaptics驱动程序不执行此操作,但是evdev驱动程序执行此操作。因此,您需要将X服务器配置为将evdev驱动程序用于触摸板。如果您正在运行服务器1.8或更高版本,则以下配置片段将为您完成此操作。
Section "InputClass" Identifier "evdev touchpad" MatchIsTouchpad "on" Driver "evdev" Option "Mode" "absolute" EndSection
将其另存为,
/etc/X11/xorg.conf.d/99-evdev-touchpad.conf
然后重新启动服务器。请注意,这只会更改触摸板本身的行为,不会更改事件中的数据,但是无论如何,该数据始终始终是绝对的。而且,通过使用evdev而不是突触,您将失去两指滚动,轻击等功能。
我在突触驱动程序(可能还有其他)的上游Bugtracker上看到了对功能请求的空间。在Xorg中拥有一个接口,以能够读取触摸板的绝对位置值将非常有用。我看到的主要障碍是,这可能是非常特定于硬件的,因此很难实现。
我认为与Joe Shaw和Peter Hutterer交谈也很有价值,以了解其中的确切历史,如何使其成为出色的功能请求以及可以从中获得什么。