Отключить жесты Unity Multitouch (Unity 7.3.3, Ubuntu 15.10)
Я до сих пор не нашел ответ для Unity V7.3+ и / или Ubuntu 15+. Неужели все еще есть случай, когда есть нулевые варианты их отключения без перекомпиляции Unity?
У меня монитор с сенсорным экраном, Acer 232HL, а не тачпад.
Согласно комментариям отсюда, эта модификация исходного кода остается в силе, по крайней мере, до 7.2.2. Я бы предпочел не перекомпилировать Unity, но если нет другого пути...
Спасибо, что нашли время, чтобы прочитать это.
1 ответ
Не могу найти другие варианты. Единственный способ, которым я мог найти, - это перекомпилировать Unity. По крайней мере, это прямо.
Кредит идет парням здесь.
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
Теперь вы ищете файл /tmp/unity/unity-7.3.2/plugins/unityshell/src/unityshell.cpp
Вот строки, которые нужно закомментировать. Я перекомпилировал 7.3.2, они запускаются в строке 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();
*/
}
Перестройте Unity:
cd /tmp/unity/unity-7.3.2
dpkg-buildpackage -us -uc -nc
cd ..
sudo dpkg -i *deb
Перезагружать.
Наконец, отправьте запрос на добавление функции, чтобы он где-то был в качестве опции конфигурации.