当我单击右上角我的名字,然后单击“系统设置”,然后单击“鼠标和触摸板”,然后单击“键入时禁用触摸板”时,它会影响我的鼠标移动。我必须等待两秒钟才能使用触摸板移动指针。
一般来说,我喜欢“打字时禁用触摸板”功能,因为它可以防止我意外升起另一个窗口而不是我正在输入的窗口,但是我可以让该功能仅影响触摸板的点击而不影响我移动的尝试吗鼠标周围?
我在 Fedora 16 上使用 GNOME 3.2.1
答案1
在我的运行 GNOME 3 的 ThinkPad X220T 上,很容易在打字时意外碰撞触摸板,导致除您正在打字的窗口之外的其他窗口升起。
表面上,解决此问题的方法是单击右上角您的名字,然后单击“系统设置”,然后单击“鼠标和触摸板”,然后单击下面的“键入时禁用触摸板”,如屏幕截图所示http://www.thinkwiki.org/wiki/Synaptics_TouchPad_driver_for_X。
这将导致syndaemon
(http://linuxcommand.org/man_pages/syndaemon1.html)以以下选项启动:
syndaemon -i 2.0 -K -R
以下是这些选项的含义:
-i <idle-time>
How many seconds to wait after the last key press before
enabling the touchpad. (default is 2.0s).
-k Ignore modifier keys when monitoring keyboard activity.
-K Like -k but also ignore Modifier+Key combos.
-R Use the XRecord extension for detecting keyboard activity
instead of polling the keyboard state.
让 syndaemon 使用这些选项运行可以消除最初的问题,但它绝对会降低我的生产力,因为该-t
选项是不是启用:
-t Only disable tapping and scrolling, not mouse movements, in
response to keyboard activity.
如果没有-t
,一旦我停止打字并尝试移动指针,我就无法移动。我必须等待 2 秒,指针才会移动。
现在,回到“鼠标和触摸板”界面,我没有看到任何方法来配置提供哪些选项syndaemon
,据我所知,这些选项是硬编码的:
解决方案是双重的。我无法遵守syndaemon
其默认选项,因此我未选中“打字时禁用触摸板”。然后,为了syndaemon
开始使用我想要的选项,我运行gnome-session-properties
打开“启动应用程序首选项”对话框。从那里,我单击“添加”,填写一个名称(我将其命名为“0pdurbin-disable-touchpad-while-typing”,因此它会显示在顶部)和一个命令,对我来说如下:
syndaemon -i 1.0 -K -R -t
同样,主要的变化是添加了-t
sosyndaemon
不会使我的指针瘫痪,但是当我在那里时,我将空闲时间减少到一秒。
我希望这对某人有帮助,因为这让我发疯。
为了避免使用像这样的 GUI 工具,gnome-session-properties
你可以设置一个像这样的文件,在我的例子中创建了这个文件:
[pdurbin@tabby ~]$ cat ~/.config/autostart/syndaemon.desktop
[Desktop Entry]
Type=Application
Exec=syndaemon -i 1.0 -K -R -t
Hidden=false
X-GNOME-Autostart-enabled=true
Name[en_US]=0pdurbin-disable-touchpad-while-typing
Name=0pdurbin-disable-touchpad-while-typing
Comment[en_US]=
Comment=
[pdurbin@tabby ~]$
顺便说一句,这似乎是一个非常完整的自动启动应用程序列表,其中列出了gnome-session-properties
:find /etc/xdg/autostart /usr/share/autostart /usr/share/gdm/autostart/ /usr/share/gnome/autostart
答案2
创建上述syndaemon.desktop
文件后,请确保禁用“打字时禁用触摸板选项“ 在下面鼠标和触摸板重新启动桌面之前的设置。
否则,您将运行两个 syndaemon 进程,并且 2 秒时间的原始进程将优先!