ClickPad option with synaptics driver?

Anthony Jenkins Scoobi_doo at yahoo.com
Thu Apr 17 18:15:07 UTC 2014


On 04/15/2014 11:35, Ivan Rokotov wrote:
> Hi freebsd-mobile members,
>
> (I'm reposting my question to x11 list since obviously there's not
> much traffic there.)
>
> I'm trying to configure my Lenovo IdeaPad S400 Synaptics touchpad to
> work properly.
>
> Environment:
> * Lenovo IdeaPad S400
> * FreeBSD 10.0-RELEASE
> * xf86-input-synaptics-1.7.2 compiled with 'WITH_NEW_XORG=yes' (to
> enable Intel KMS driver)
> * hw.psm.synaptics_support=1 in /boot/loader.conf
> * dmesg | grep psm:
> psm0: <PS/2 Mouse> irq 12 on atkbdc0
> psm0: [GIANT-LOCKED]
> psm0: model Synaptics Touchpad, device ID 0
>
> Everything seems to work as expected, except ClickPad option. I
> attached my Xorg log file. You can see from there what options I
> enabled and how the touchpad is detected and configured.
>
> However, I'd say that the problem is deeper than Xorg level, because
> no ClickPad capability is detected at all:
>
> [    19.570] (--) synaptics: Touchpad0:  Touchpad has extended capability bits
> [    19.570] (--) synaptics: Touchpad0:  -> multifinger detection
> [    19.570] (--) synaptics: Touchpad0:  -> palm detection
>
> Unlike this, in Linux, Xorg says:
>
> [    22.776] (II) synaptics: SynPS/2 Synaptics TouchPad: found clickpad property
>
> So: is it possible at all to use ClickPad option with synaptics driver
> on FreeBSD? If yes, could anybody share a success story?
>
> Ivan
Looks like x11-drivers/xf86-input-synaptics only queries the ClickPad 
property on Linux:

src/eventcomm.c: event_query_touch(InputInfoPtr pInfo):

#ifdef EVIOCGPROP
     SYSCALL(rc = ioctl(pInfo->fd, EVIOCGPROP(sizeof(prop)), &prop));
     if (rc >= 0 && BitIsOn(&prop, INPUT_PROP_SEMI_MT)) {
         xf86IDrvMsg(pInfo, X_INFO,
                     "ignoring touch events for semi-multitouch device\n");
         priv->has_semi_mt = TRUE;
     }

     if (rc >= 0 && BitIsOn(&prop, INPUT_PROP_BUTTONPAD)) {
         xf86IDrvMsg(pInfo, X_INFO, "found clickpad property\n");
         para->clickpad = TRUE;
     }
#endif

EVIOCGPROP is a Linux ioctl.  Someone'll have to write a patch to query 
the FreeBSD device for that property.  I guess I'll see how hard it'll 
be to add that bit.

Anthony
>
>
> _______________________________________________
> freebsd-mobile at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
> To unsubscribe, send any mail to "freebsd-mobile-unsubscribe at freebsd.org"



More information about the freebsd-mobile mailing list