在ALPS触摸板上启用双指滚动

如何在不支持多个手指的ALPS触控板上设置双指滚动?

xinput list的相关输出如下:

  ⎡虚拟核心指针id = 2 [主指针(3)]
 ⎜⎜虚拟核心XTEST指针id = 4 [从指针(2)]
 ⎜⎜PS/ 2鼠标id = 12 [从指针(2)]
 ⎜⎜AlpsPS/ 2 ALPS GlidePoint id = 13 [从指针(2)] 

并且synclient -l的输出是:

 参数设置:
     LeftEdge = 153
     RightEdge = 870
     TopEdge = 115
     BottomEdge = 652
     FingerLow = 12
     FingerHigh = 14
     FingerPress = 127
     MaxTapTime = 180
     MaxTapMove = 56
     MaxDoubleTapTime = 180
     SingleTapTimeout = 180
     ClickTime = 100
     FastTaps = 0
     EmulateMidButtonTime = 75
     EmulateTwoFingerMinZ = 139
     EmulateTwoFingerMinW = 7
     VertScrollDelta = 25
     HorizScrollDelta = 25
     VertEdgeScroll = 1
     HorizEdgeScroll = 0
     CornerCoasting = 0
     VertTwoFingerScroll = 0
     HorizTwoFingerScroll = 0
     MinSpeed = 1
     MaxSpeed = 1.75
     AccelFactor = 0.156495
     TrackstickSpeed = 40
     EdgeMotionMinZ = 14
     EdgeMotionMaxZ = 79
     EdgeMotionMinSpeed = 1
     EdgeMotionMaxSpeed = 102
     EdgeMotionUseAlways = 0
     TouchpadOff = 1
     LockedDrags = 0
     LockedDragTimeout = 5000
     RTCornerButton = 2
     RBCornerButton = 3
     LTCornerButton = 0
     LBCornerButton = 0
     TapButton1 = 1
     TapButton2 = 3
     TapButton3 = 2
     ClickFinger1 = 1
     ClickFinger2 = 1
     ClickFinger3 = 1
     CircularScrolling = 0
     CircScrollDelta = 0.1
     CircScrollTrigger = 0
     CircularPad = 0
     PalmDetect = 0
     PalmMinWidth = 10
     PalmMinZ = 99
     CoastingSpeed = 20
     CoastingFriction = 50
     PressureMotionMinZ = 14
     PressureMotionMaxZ = 79
     PressureMotionMinFactor = 1
     PressureMotionMaxFactor = 1
     ResolutionDetect = 1
     GrabEventDevice = 1
     TapAndDragGesture = 1
     AreaLeftEdge = 0
     AreaRightEdge = 0
     AreaTopEdge = 0
     AreaBottomEdge = 0 

首先,要确定您拥有哪个触控板,请运行

 xinput list 

如果它显示类似的东西

 ... ↳ AlpsPS/2 ALPS GlidePoint id=14 [slave pointer (2)] ... 

那么你很可能没有多点触控支持。 阿尔卑斯触摸板倾向于没有多点触控,而他们使用与Synaptic触摸板相同的驱动器。

您可以使用synclient -l获取触摸板上的信息。

尽管如此,确定触摸板上支持多少手指的最终方法是

  1. 在xorg.conf文件中启用SHMConfig
  2. 运行synclient -m 100 ,它将实时显示触摸板的状态。 标记为f的第五列用于手指,因此您可以同时查看可以同时敲击多少个手指。

要在xorg.conf中启用SHMConfig,请参阅http://mjg59.livejournal.com/118588.html然后添加

 Section "InputClass" Identifier "enable synaptics SHMConfig" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "SHMConfig" "on" EndSection 

到你的xorg.conf。 您可以在执行测试后删除上述代码段。

我能够使用这篇文章描述的黑客来激活两个手指滚动:

http://ubuntuforums.org/showpost.php?p=9058534&postcount=2

不幸的是,每隔一段时间以及计算机进入睡眠状态时,其他守护进程都会重置这些选项。

希望有人能想出另一种方法来做到这一点。

在索尼VAIO VPCF136FM上,以下命令可以在Ubuntu 12.04(以及Linux Mint 11中的ALPS触摸板)上添加边缘滚动,如果有人关心的话:

从终端运行:

 echo "options psmouse proto=imps"|sudo tee -a /etc/modprobe.d/psmouse.conf; sudo modprobe -r psmouse; sudo modprobe psmouse 

或者,为了便于阅读,请遵循以下步骤,它们执行相同的操作:

在/etc/modprobe.d中创建一个名为“psmouse.conf”的文件:

 sudo vim /etc/modprobe.d/psmouse.conf 

将以下行添加到此文件,并保存:

 options psmouse proto=imps 

最后,重新加载驱动程序:

 sudo modprobe -r psmouse sudo modprobe psmouse 

虽然这不是双指滚动,但它是下一个最好的东西,也是我能够在这个平台上工作的唯一类型的触摸板滚动。 我很高兴,我希望它能帮助别人。

源代码来自奥斯卡的链接 :来源: [回归]阿尔法触摸板检测到,但滚动不工作LP错误#737051 ,但我不需要安装驱动程序或做该线程中提到的任何其他内容。 我甚至解除了我尝试的其他一些事情,只是为了确保/etc/modprobe.d中的psmouse.conf文件是我所需要的。

此外,请注意这是一个黑客攻击,因为触摸板作为ImPS / 2通用滚轮鼠标加载,触摸板选项卡从鼠标设置菜单中消失。 但是,这比每次我想滚动时将鼠标指针拖动到侧边栏要麻烦得多。

最后,我还没有在Linux Mint 11上重新启动(这并不重要),因此如果边缘滚动在重新启动后仍然存在,则可能需要将modprobe命令添加到启动脚本中。 但是,在AskUbuntu上重要的Ubuntu 12.04上,即使重启后滚动也会继续工作。

我刚从Latitude附带的ubuntu DELL图像中找到了驱动程序,请查看以下答案: https ://askubuntu.com/a/278133/65801