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);
gboolean have_mouse;
gboolean have_touchpad;
gboolean have_touchscreen;
- gboolean have_synaptics;
gboolean left_handed;
GtkGesture *left_gesture;
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;
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);
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;