我目前正在尝试修复 Advent 4211 上网本(重新命名的 MSI Wind) - 每当我使用触摸板时,鼠标(甚至是外部 USB 鼠标)都会停止工作 - 当我运行 xev 时,它不会注册任何鼠标事件。
我想阻止系统加载触摸板驱动程序或将其全部禁用 - 有没有办法做到这一点?我只是希望能够“触摸”触摸板而不损坏我的外接鼠标。
运行的发行版是开放的 suse 11.04 lxde。
答案1
可以从命令行禁用触控板,类似于所描述的这里。首先,我们需要带有“xinput list”的 Synaptics Trackpad 的设备名称或 ID
nostromo ~ $ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft Basic Optical Mouse v2.0 id=9 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ HP Webcam-50 id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ HP WMI hotkeys id=13 [slave keyboard (3)]
nostromo ~ $
在我的电脑上,触摸板的设备名称是“SynPS/2 Synaptics TouchPad”,id 为 12。但您的设备可能有所不同。
我们的下一步是使用“xinput list-props”查找设备的属性。因此,使用从上一步获得的设备名称,
nostromo ~ $ xinput list-props 'SynPS/2 Synaptics TouchPad'
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (135): 1
Coordinate Transformation Matrix (137): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (253): 1
Device Accel Constant Deceleration (254): 2.500000
Device Accel Adaptive Deceleration (255): 1.000000
Device Accel Velocity Scaling (256): 12.500000
Synaptics Edges (270): 1753, 5211, 1628, 4336
Synaptics Finger (271): 24, 29, 255
我没有列出整个输出。但靠近列表顶部的是属性“Device Enabled”,其值为 1,这意味着它已启用。
要禁用触控板,我们需要将设备“SynPS/2 Synaptics TouchPad”的“Device Enabled”值更改为 0。因此,在命令行中,我们可以输入
xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Device Enabled' 0
事实上,xinput 命令可以更简洁地表达。从上面的列表中,对于我的 PC,“SynPS/2 Synaptics TouchPad”的设备 ID 为 12,“设备已启用”的属性 ID 为 135。同样,这些数字可能因您的 PC 而异。因此,使用这些数字,可以将禁用触摸板的 xinput 命令输入为...
xinput set-prop 12 135 0
您需要在 PC 上运行这些命令,以确保为您的笔记本电脑找到正确的设备 ID 等。祝你好运。
答案2
我创建了一个用于切换的脚本,您可以将其链接到快捷方式。
file='.touchpad_enabled'
TOUCH_PAD_ENABLED=0
if [ -a $file ]
then
TOUCH_PAD_ENABLED=0
rm $file
else
TOUCH_PAD_ENABLED=1
echo "TOUCH_PAD_ENABLED=1" > $file
fi
echo $TOUCH_PAD_ENABLED
xinput set-prop "ImPS/2 Generic Wheel Mouse" "Device Enabled" $TOUCH_PAD_ENABLED