diff -Nru gnome-control-center-3.27.92/debian/changelog gnome-control-center-3.27.92/debian/changelog --- gnome-control-center-3.27.92/debian/changelog 2018-03-11 04:54:34.000000000 +0800 +++ gnome-control-center-3.27.92/debian/changelog 2018-03-16 16:20:36.000000000 +0800 @@ -1,3 +1,10 @@ +gnome-control-center (1:3.27.92-1ubuntu2) bionic; urgency=medium + + * Add expose-synaptics-v2.patch to make touchpad settings work with + xserver-xorg-input-synaptics (LP: #1686081) + + -- Daniel van Vugt Fri, 16 Mar 2018 16:20:36 +0800 + gnome-control-center (1:3.27.92-1ubuntu1) bionic; urgency=medium [ Jeremy Bicha ] diff -Nru gnome-control-center-3.27.92/debian/control gnome-control-center-3.27.92/debian/control --- gnome-control-center-3.27.92/debian/control 2018-03-11 04:54:34.000000000 +0800 +++ gnome-control-center-3.27.92/debian/control 2018-03-16 16:20:36.000000000 +0800 @@ -1,5 +1,5 @@ # This file is autogenerated. DO NOT EDIT! -# +# # Modifications should be made to debian/control.in instead. # This file is regenerated automatically in the clean target. Source: gnome-control-center diff -Nru gnome-control-center-3.27.92/debian/patches/expose-synaptics-v2.patch gnome-control-center-3.27.92/debian/patches/expose-synaptics-v2.patch --- gnome-control-center-3.27.92/debian/patches/expose-synaptics-v2.patch 1970-01-01 08:00:00.000000000 +0800 +++ gnome-control-center-3.27.92/debian/patches/expose-synaptics-v2.patch 2018-03-16 16:20:36.000000000 +0800 @@ -0,0 +1,87 @@ +Description: Expose touchpad settings if synaptics is in use. + Upstream is aggressively pushing for libinput over synaptics. However that + creates a factually incorrect situation where gnome-control-center thinks + there is no touchpad unless you're using the xserver-xorg-input-libinput. + This patch adds support for both drivers, removing the code that would + hide the touchpad settings when xserver-xorg-input-synaptics is in use. + . + This patch is only appropriate for Ubuntu right now though, because it + depends on mutter supporting xserver-xorg-input-synaptics too, which is only + true in Ubuntu. +Author: Daniel van Vugt +Bug-Ubuntu: https://launchpad.net/bugs/1686081 +Forwarded: no +Last-Update: 2018-03-16 + +diff --git a/panels/mouse/cc-mouse-caps-helper.c b/panels/mouse/cc-mouse-caps-helper.c +index acbe9c94a..108fde235 100644 +--- a/panels/mouse/cc-mouse-caps-helper.c ++++ b/panels/mouse/cc-mouse-caps-helper.c +@@ -37,6 +37,13 @@ touchpad_check_capabilities_x11 (gboolean *have_two_finger_scrolling, + unsigned long nitems, bytes_after; + unsigned char *data; + ++ if (cc_synaptics_check ()) { ++ *have_two_finger_scrolling = TRUE; ++ *have_edge_scrolling = TRUE; ++ *have_tap_to_click = TRUE; ++ return TRUE; ++ } ++ + display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); + prop_scroll_methods = XInternAtom (display, "libinput Scroll Methods Available", False); + prop_tapping_enabled = XInternAtom (display, "libinput Tapping Enabled", False); +diff --git a/panels/mouse/gnome-mouse-properties.c b/panels/mouse/gnome-mouse-properties.c +index 4d0920b2d..7ae7f6fad 100644 +--- a/panels/mouse/gnome-mouse-properties.c ++++ b/panels/mouse/gnome-mouse-properties.c +@@ -61,7 +61,6 @@ struct _CcMousePropertiesPrivate + gboolean have_mouse; + gboolean have_touchpad; + gboolean have_touchscreen; +- gboolean have_synaptics; + + gboolean left_handed; + GtkGesture *left_gesture; +@@ -81,10 +80,6 @@ setup_touchpad_options (CcMousePropertiesPrivate *d) + gboolean have_edge_scrolling; + gboolean have_tap_to_click; + +- gtk_widget_set_visible (WID ("touchpad-frame"), !d->have_synaptics); +- if (d->have_synaptics) +- return; +- + gtk_widget_set_visible (WID ("touchpad-frame"), d->have_touchpad); + if (!d->have_touchpad) + return; +@@ -306,7 +301,10 @@ device_changed (GsdDeviceManager *device_manager, + GsdDevice *device, + CcMousePropertiesPrivate *d) + { +- d->have_touchpad = touchpad_is_present (); ++ d->have_touchpad = touchpad_is_present () || cc_synaptics_check (); ++ /* ^^^^^^^^^^^^^^^^^^^^^ ++ * Workaround https://gitlab.gnome.org/GNOME/gtk/issues/97 ++ */ + + setup_touchpad_options (d); + +@@ -387,11 +385,11 @@ cc_mouse_properties_init (CcMouseProperties *object) + G_CALLBACK (device_changed), d); + + d->have_mouse = mouse_is_present (); +- d->have_touchpad = touchpad_is_present (); ++ d->have_touchpad = touchpad_is_present () || cc_synaptics_check (); ++ /* ^^^^^^^^^^^^^^^^^^^^^ ++ * Workaround https://gitlab.gnome.org/GNOME/gtk/issues/97 ++ */ + d->have_touchscreen = touchscreen_is_present (); +- d->have_synaptics = cc_synaptics_check (); +- if (d->have_synaptics) +- g_warning ("Detected synaptics X driver, please migrate to libinput"); + + d->changing_scroll = FALSE; + +-- +2.15.1 + diff -Nru gnome-control-center-3.27.92/debian/patches/series gnome-control-center-3.27.92/debian/patches/series --- gnome-control-center-3.27.92/debian/patches/series 2018-03-11 04:54:34.000000000 +0800 +++ gnome-control-center-3.27.92/debian/patches/series 2018-03-16 16:18:23.000000000 +0800 @@ -17,3 +17,4 @@ connectivity-switch.patch privacy-panel-whoopsie.patch ubuntu-white-lists.patch +expose-synaptics-v2.patch