2

I have yet to find an answer for Unity V7.3+ and/or Ubuntu 15+, is it really still the case that there are zero options for disabling these without recompiling Unity?

I have a touchscreen monitor, Acer 232HL, not a touchpad.

According to comments from here this modification to the source code is still valid at least up until 7.2.2. I would rather not recompile Unity but if there is no other way...

Thanks for taking your time to read this.

1 Answer 1

0

Couldn't find any other options. Only way I could find was to recompile Unity. At least it is straight forward.

Credit goes to the guys here.

sudo apt-get build-dep unity
cd /tmp  #It can be done somewhere else, feel free to change the base location.
mkdir unity
cd unity
apt-get source unity

Now the file you're looking for is /tmp/unity/unity-7.3.2/plugins/unityshell/src/unityshell.cpp

Here's the lines that need to be commented out. I wound up recompiling 7.3.2, they start on line 4086.

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();
  */
}

Rebuild Unity:

cd /tmp/unity/unity-7.3.2
dpkg-buildpackage -us -uc -nc
cd ..
sudo dpkg -i *deb

Reboot.

Finally file a feature request to have this as a configuration option somewhere.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.