如何在 Ubuntu 14.04 上配置 Touchegg

如何在 Ubuntu 14.04 上配置 Touchegg

如何在 ubuntu 14.04 上配置 touchegg 并使用手势而不是统一手势我有 Dell xps L502x 和 synaptics 触控板

答案1

我发现了一个更简单的解决方案:只需在您的主文件夹中创建一个包含以下内容的文件“.xprofile”:

synclient ClickFinger3=0
synclient TapButton3=0

touchegg &

前两行仅当您想使用三根手指的手势时才需要。如果您省略这两行,touchegg 将只识别四根或更多手指的手势。

或者,运行以下命令执行相同操作:

echo "synclient ClickFinger3=0
synclient TapButton3=0

touchegg &" > ~/.xprofile

Tochegg 也会在每次启动时启动。这在 Ubuntu 15.04 和 Ubuntu Gnome 15.04 上对我有用,在任何其他 Ubuntu 版本上也应该有效。

答案2

您不能就这样覆盖 Unity 的 3 和 4 手指手势。从Touchégg 的常见问题解答

Unity 保留了 3 和 4 个手势,因此 Touchégg 无法使用它。

在这篇文章中,作者解释了如何禁用修改 Unity 源代码的内置手势。是为 Ubuntu 12.10 编写的,但有些评论说它也适用于 14.04。与您的问题相关的部分是(复制粘贴)

我们通过以下方式获取 Unity 源代码:

sudo apt-get build-dep unity
cd /tmp
mkdir unity
cd unity
apt-get source unity

为了禁用其内置的多点触控手势,我们 /tmp/unity/unity-*/plugins/unityshell/src/unityshell.cpp使用文本编辑器(例如 gedit 或 Sublime Text 2)打开该文件。

找到该方法UnityScreen::InitGesturesSupport()(Unity 6.10.0 的第 3381 行,Unity 7.0.0 的第 3287 行)后,我们注释掉所有以gestures_开头的行。

它看起来是这样的:

void UnityScreen::InitGesturesSupport()
{
  std::unique_ptr<nux::GestureBroker> gesture_broker(new UnityGestureBroker);
  wt->GetWindowCompositor().SetGestureBroker(std::move(gesture_broker));
  /*
  gestures_sub_launcher_.reset(new nux::GesturesSubscription);
  gestures_sub_launcher_->SetGestureClasses(nux::DRAG_GESTURE);
  gestures_sub_launcher_->SetNumTouches(4);
  gestures_sub_launcher_->SetWindowId(GDK_ROOT_WINDOW());
  gestures_sub_launcher_->Activate();

  gestures_sub_dash_.reset(new nux::GesturesSubscription);
  gestures_sub_dash_->SetGestureClasses(nux::TAP_GESTURE);
  gestures_sub_dash_->SetNumTouches(4);
  gestures_sub_dash_->SetWindowId(GDK_ROOT_WINDOW());
  gestures_sub_dash_->Activate();

  gestures_sub_windows_.reset(new nux::GesturesSubscription);
  gestures_sub_windows_->SetGestureClasses(nux::TOUCH_GESTURE
                                         | nux::DRAG_GESTURE
                                         | nux::PINCH_GESTURE);
  gestures_sub_windows_->SetNumTouches(3);
  gestures_sub_windows_->SetWindowId(GDK_ROOT_WINDOW());
  gestures_sub_windows_->Activate();
  */
}

我们重新构建 Unity .deb 包并将其安装在我们的系统中。

cd /tmp/unity/unity-*
dpkg-buildpackage -us -uc -nc
cd ..
sudo dpkg -i *deb
sudo apt-get -f install
sudo apt-get autoremove

或者,我们可能希望阻止 Unity 软件包的升级。这样,我们不必在每次发布升级时重复修补步骤。但是,我们可能会错过重要的错误修复。

以下内容阻止对 Unity 的更新:

echo "unity hold"|sudo dpkg --set-selections

注销并登录后,我们可以看到(除其他外)Unity三指拖动手势已经消失。

另一个解决方案是获取不同的桌面。

答案3

我使用 Ubuntu 14.04,不需要对 Unity 进行任何更改。我记得在 Ubuntu 的上一个版本中这是一个必要的步骤。

下面是我很久以前做的一个视频;不过,正如我所说,我使用的是 Ubuntu 14.04,刚刚安装触摸蛋按照此链接(但不执行 Unity 更改部分):

适用于运行 Ubuntu 的 Macbook Pro 的类似 OS X 的多点触控手势

我自制的视频显示它工作正常(甚至五根手指都可以)。触摸蛋配置文件在视频描述中。

Ubuntu 12.10 多手势 (Pt) - 英文教程链接

希望它有效。

相关内容