希望有人能帮我解决这个问题。我有一台联想 Ideapad Z510,配有 ALPS 触摸板。操作系统 = Kubuntu 14.04(同时还有 Windows 8.1)
触摸板被检测为 PS/2 鼠标。使用本指南https://askubuntu.com/a/417518/262262,并进行了一些小修改,我设法让它工作了,多点触控也正常工作了。但重启后,所有设置都恢复到了 psmouse-dkms-alpsv7 修改之前的状态。
可以使更改永久生效吗?
更改前:
触摸板被检测为 PS/2 鼠标:
chp@chp-Lenovo-IdeaPad-Z510-kubuntu:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=13 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:4027 id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Lenovo EasyCamera id=10 [slave keyboard (3)]
↳ Ideapad extra buttons id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
dmesg 写道:
chp@chp-Lenovo-IdeaPad-Z510-kubuntu:~$ dmesg | grep -i alps
[ 1.457466] psmouse serio1: alps: Unknown ALPS touchpad: E7=73 03 0a, EC=88 b6 06
变化:
我开始按照指南(https://askubuntu.com/a/417518/262262),但每次我重启电脑时,GIT 文件夹都会被删除。所以我把它移到了 /msp。(chmod 777)
文件=安装.sh
#!/bin/bash # changed from: #!/bin/bash
#old line: MDIR="/usr/lib/modules/$(uname -r)"
MDIR="/lib/modules/$(uname -r)"
#old line: NEWMDIR="$MDIR/${DEST_MODULE_LOCATION[0]}"
NEWMDIR="$MDIR${DEST_MODULE_LOCATION[0]}"
文件 = dkms.conf
#old line: DEST_MODULE_LOCATION[0]="/updates"
DEST_MODULE_LOCATION[0]="/updates/dkms"
然后安装它。 上述文件中的修改,避免了安装时的错误。
结果:
chp@chp-Lenovo-IdeaPad-Z510-kubuntu:/psm/psmouse-dkms-alpsv7$ sudo ./install.sh
[sudo] password for chp:
────── Building with dkms ───────
Error! DKMS tree already contains: psmouse-dkms-alpsv7-1.0
You cannot add the same module/version combo more than once.
Module psmouse-dkms-alpsv7/1.0 already built for kernel 3.13.0-32-generic/4
** Old module backed up as:
'/lib/modules/3.13.0-32-generic/kernel/drivers/input/mouse/psmouse.ko.orig'
────── Installing with dkms ───────
Module psmouse-dkms-alpsv7/1.0 already installed on kernel 3.13.0-32-generic/x86_64
Install succeded:
'/lib/modules/3.13.0-32-generic/updates/dkms/psmouse.ko' found and copied to:
'/lib/modules/3.13.0-32-generic/kernel/drivers/input/mouse/psmouse.ko'
──→ rmmod psmouse
──→ modprobe psmouse
ok.
新输入:
chp@chp-Lenovo-IdeaPad-Z510-kubuntu:/psm/psmouse-dkms-alpsv7$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:4027 id=14 [slave pointer (2)]
⎜ ↳ ALPS PS/2 Device id=13 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS GlidePoint id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Lenovo EasyCamera id=10 [slave keyboard (3)]
↳ Ideapad extra buttons id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
dmesg:
chp@chp-Lenovo-IdeaPad-Z510-kubuntu:/psm/psmouse-dkms-alpsv7$ dmesg | grep -i alps
[ 1.457466] psmouse serio1: alps: Unknown ALPS touchpad: E7=73 03 0a, EC=88 b6 06
[ 2072.514926] input: ALPS PS/2 Device as /devices/platform/i8042/serio1/input/input18
[ 2072.536678] input: AlpsPS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input17
同步客户端:
chp@chp-Lenovo-IdeaPad-Z510-kubuntu:/psm/psmouse-dkms-alpsv7$ synclient -l
Parameter settings:
LeftEdge = 614
RightEdge = 3481
TopEdge = 307
BottomEdge = 1740
FingerLow = 12
FingerHigh = 15
MaxTapTime = 180
MaxTapMove = 201
MaxDoubleTapTime = 180
SingleTapTimeout = 180
ClickTime = 100
EmulateMidButtonTime = 75
EmulateTwoFingerMinZ = 141
EmulateTwoFingerMinW = 7
VertScrollDelta = 91
HorizScrollDelta = 91
VertEdgeScroll = 1
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 1
HorizTwoFingerScroll = 0
MinSpeed = 1
MaxSpeed = 1.75
AccelFactor = 0.0436872
TouchpadOff = 0
LockedDrags = 0
LockedDragTimeout = 5000
RTCornerButton = 2
RBCornerButton = 3
LTCornerButton = 0
LBCornerButton = 0
TapButton1 = 1
TapButton2 = 3
TapButton3 = 0
ClickFinger1 = 1
ClickFinger2 = 1
ClickFinger3 = 0
CircularScrolling = 0
CircScrollDelta = 0.1
CircScrollTrigger = 0
CircularPad = 0
PalmDetect = 0
PalmMinWidth = 10
PalmMinZ = 100
CoastingSpeed = 20
CoastingFriction = 50
PressureMotionMinZ = 15
PressureMotionMaxZ = 80
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
ResolutionDetect = 1
GrabEventDevice = 1
TapAndDragGesture = 1
AreaLeftEdge = 0
AreaRightEdge = 0
AreaTopEdge = 0
AreaBottomEdge = 0
HorizHysteresis = 22
VertHysteresis = 22
ClickPad = 0
答案1
您只需安装一次 DKMS 包,它将被复制到/var/lib/dkms/
。所以,/tmp/
没问题,而且您真的不应该创建/msp/
任何一个,因为它违反了文件系统层次结构指南。
我猜想这psmouse
被视为一个关键模块,在 Ubuntu 启动时应该可用,因此最终会出现在初始 ramdisk 中。由于您的新模块替换了现有模块 ( psmouse
),您可以尝试运行sudo update-initramfs -u
以将新模块放入 initrd 中。您只需执行一次此操作,因为进一步的内核更新将自动触发此操作。