From 56b31a08cff8d445c9795be38b3e88dd244fea90 Mon Sep 17 00:00:00 2001 From: jsg Date: Thu, 15 Jan 2015 01:30:40 +0000 Subject: [PATCH] Recognise the synaptics with sw buttons mouse type and set the clickpad and has_secondary_buttons properties. Initial diff from myself with additional changes from matthieu@ --- driver/xf86-input-synaptics/Makefile.am | 2 +- driver/xf86-input-synaptics/Makefile.in | 2 +- driver/xf86-input-synaptics/src/wsconscomm.c | 6 ++++++ xserver/config/wscons.c | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/driver/xf86-input-synaptics/Makefile.am b/driver/xf86-input-synaptics/Makefile.am index 13b1ba995..678124ce3 100644 --- a/driver/xf86-input-synaptics/Makefile.am +++ b/driver/xf86-input-synaptics/Makefile.am @@ -24,7 +24,7 @@ DISTCHECK_CONFIGURE_FLAGS = \ --with-sdkdir='$${includedir}/xorg' \ --with-xorg-conf-dir='$${datadir}/X11/xorg.conf.d' -SUBDIRS = include src man tools +SUBDIRS = include src man tools conf MAINTAINERCLEANFILES = ChangeLog INSTALL pkgconfigdir = $(libdir)/pkgconfig diff --git a/driver/xf86-input-synaptics/Makefile.in b/driver/xf86-input-synaptics/Makefile.in index d83fcfdef..85a2fda7f 100644 --- a/driver/xf86-input-synaptics/Makefile.in +++ b/driver/xf86-input-synaptics/Makefile.in @@ -347,7 +347,7 @@ DISTCHECK_CONFIGURE_FLAGS = \ --with-sdkdir='$${includedir}/xorg' \ --with-xorg-conf-dir='$${datadir}/X11/xorg.conf.d' -SUBDIRS = include src man tools +SUBDIRS = include src man tools conf MAINTAINERCLEANFILES = ChangeLog INSTALL pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xorg-synaptics.pc diff --git a/driver/xf86-input-synaptics/src/wsconscomm.c b/driver/xf86-input-synaptics/src/wsconscomm.c index 0e0c81ded..df3512d71 100644 --- a/driver/xf86-input-synaptics/src/wsconscomm.c +++ b/driver/xf86-input-synaptics/src/wsconscomm.c @@ -60,6 +60,7 @@ WSConsIsTouchpad(InputInfoPtr pInfo, const char *device) } if (wsmouse_type == WSMOUSE_TYPE_SYNAPTICS || + wsmouse_type == WSMOUSE_TYPE_SYNAP_SBTN || wsmouse_type == WSMOUSE_TYPE_ALPS || wsmouse_type == WSMOUSE_TYPE_ELANTECH) rc = TRUE; @@ -250,6 +251,7 @@ static void WSConsReadDevDimensions(InputInfoPtr pInfo) { SynapticsPrivate *priv = (SynapticsPrivate *)pInfo->private; + SynapticsParameters *para = &priv->synpara; struct wsmouse_calibcoords wsmc; int wsmouse_type; @@ -287,6 +289,10 @@ WSConsReadDevDimensions(InputInfoPtr pInfo) switch (wsmouse_type) { default: + case WSMOUSE_TYPE_SYNAP_SBTN: + para->clickpad = TRUE; + para->has_secondary_buttons = TRUE; + /* FALLTHROUGH */ case WSMOUSE_TYPE_SYNAPTICS: priv->model = MODEL_SYNAPTICS; priv->has_width = TRUE; diff --git a/xserver/config/wscons.c b/xserver/config/wscons.c index 686d6026c..e05847714 100644 --- a/xserver/config/wscons.c +++ b/xserver/config/wscons.c @@ -237,6 +237,7 @@ wscons_add_pointers(void) case WSMOUSE_TYPE_SYNAPTICS: case WSMOUSE_TYPE_ALPS: case WSMOUSE_TYPE_ELANTECH: + case WSMOUSE_TYPE_SYNAP_SBTN: wscons_add_pointer(devname, "synaptics", ATTR_TOUCHPAD); break;