禁用触摸板加载

禁用触摸板加载

我目前正在尝试修复 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

相关内容