如何在 Ubuntu 12.10 上打字时禁用 Elantech 触摸板?

如何在 Ubuntu 12.10 上打字时禁用 Elantech 触摸板?

我有一台上周购买的华硕笔记本电脑(非 Zenbook)。它上面有一个 Elantech 触摸板。以下是它的工作原理:

  • 边缘滚动或双指滚动。
  • 三指和二指。
  • 左键单击、右键单击并双击。

唯一不完美的是,当我打字时,有时我的手掌恰好碰到触摸板,然后事情就变得很疯狂。这在编写代码时真的很麻烦。

有人可以帮忙吗?

以下是 的输出xinput list

 Virtual core pointer                       id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech 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)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ ASUS USB2.0 Webcam                        id=9    [slave  keyboard (3)]
    ↳ Asus WMI hotkeys                          id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]

输出:ps aux | grep syndaemon

jason 2911 0.0 0.0 20208 948 ? S Feb13 0:53 syndaemon -i 2.0 -K -R -t

jason 10256 0.0 0.0 13584 928 pts/2 S+ 14:18 0:00 grep syndaemon

答案1

我知道这不是您真正想要的(完全自动化?),但有一个简单的键盘快捷键可以禁用和启用触摸板。

从你的xinput listID你的触摸板12. 使用此命令来禁用它:

xinput set-prop 12 "Device Enabled" 0

使用它来启用它:

xinput set-prop 12 "Device Enabled" 1

将这些命令绑定到您的自定义快捷方式(键盘/快捷方式/自定义快捷方式)。也许可以将其制作成脚本?

答案2

我知道有两种方法可以在打字时禁用触摸板。第一种是图形方式。单击 Dash 并输入:触摸板,然后单击“鼠标和触摸板”以打开并勾选“在打字时禁用触摸板”框

在此处输入图片描述

第二种(我认为是一样的)是终端方式..打开终端(CTRL+ALT+T)并写入

syndaemon -i 2 -d 

-i 后面的数字表示最后一次按下按键后触摸板需要多少秒才能重新工作。-d 选项用于 syndaemon 继续在后台运行(作为守护进程)。

答案3

启动 synaptiks。我遇到了一点问题,因为它有时无法启动。尝试再次启动它,直到看到 GUI 对话框。

在对话框中,您可以设置“键盘活动时自动关闭触摸板”和“再次打开触摸板之前等待的时间”。

您还可以设置“如果插入鼠标则自动关闭触摸板”。

答案4

我使用刚刚做的这个脚本。根据 xinput --list 的输出更改键盘和鼠标设备

kbidle () # disable ELAN touchpad while typing. By Zibri
{ 
    sleep 3;
    xinput test "ITE Tech. Inc. ITE Device(8910) Keyboard" | ( while true; do
        if read -t 1 a; then
            xinput disable "ELAN1200:00 04F3:3090 Mouse";
        else
            xinput enable "ELAN1200:00 04F3:3090 Mouse";
        fi;
    done )
}

相关内容