Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Sep 2016 14:14:49 -0400
From:      Anthony Jenkins <Scoobi_doo@yahoo.com>
To:        abi <abi@abinet.ru>, Arto Pekkanen <isoa@kapsi.fi>
Cc:        freebsd-x11@freebsd.org
Subject:   Re: Problem with touchpad
Message-ID:  <3009df27-0b1a-a6c2-44e8-d8cfcb31307f@yahoo.com>
In-Reply-To: <670f7ff4-81cb-af50-be2a-5a97318dd5e8@abinet.ru>
References:  <3ff36b68-bc63-b3f9-ffb7-ade8c6b3e690@abinet.ru> <255e5a1340573719da0c32f870523449@kapsi.fi> <63738d79-fa1e-7401-9f07-242ccbf2f40c@abinet.ru> <1d85bba2228e2a4b9c2ccd7721ccffe6@kapsi.fi> <670f7ff4-81cb-af50-be2a-5a97318dd5e8@abinet.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Sorry for late reply, and for top-posting (trying to stay consistent).

Pointing devices on FreeBSD are typically handled by a number of
drivers, including:

  * ums(4) - A USB HID device which is a mouse class
  * psm(4) - A serial mouse/touchpad attached to PS/2 keyboard port

moused(8) can detect these devices and create composite pseudodevice
/dev/sysmouse which aggregates the events from the devices it manages.=20
The problem with psm(4) touchpad devices and moused(8) is that psm(4)
can be in "Synaptics" mode which makes it incompatible with moused(8).=20
So if you boot with the hw.psm.synaptics_support=3D"1" tunable and
moused(8) enabled, (unless this has changed recently) you get weird
behavior from the touchpad and none of the gestures work.

The devd(8) interface to x11-servers/xorg-server waits for devd(8) to
notify the X server that a device has attached/detached.  The
notification includes a simple path under /dev (e.g. /dev/ums0,
/dev/psm0 or /dev/sysmouse).  The multi-mode behavior of psm(4) makes
the current implementation of the devd interface awkward, because each
device path maps to a single driver (e.g. "/dev/ums*" -> "mouse",
"/dev/psm*" -> "mouse", "/dev/sysmouse" -> "mouse", "/dev/vboxguest" ->
"vboxmouse", etc.)

My implementation maps each new device notification to a function to
determine which driver should be attached to each device node.  For
example, the function for "/dev/psm" checks for the presence of a sysctl
that indicates what mode psm(4) is in.

Even with the current implementation of xorg-server's devd stuff, all
this should "just work" when using moused(8) and USB mice.  It's
multimode devices like psm(4) which confuse the current implementation.

Anthony

On 08/30/2016 02:43 AM, abi wrote:
> How can it be - all devices attached to one devd node? What if I want
> different drivers? synaptics for touchpad and generic mouse for USB ?
> Not in this particular case, but generally speaking.
>
> On 29/08/2016 19:19, Arto Pekkanen wrote:
>> I never used the psm device directly with X.org, because
>> /dev/sysmouse (which operated by moused) is the the standard,
>> multiplexed interface for mice and touchpads. Every touchpand and
>> mice attached will be handled by moused.
>>
>> Take out all moused -related stuff from your rc.conf, remove ALL your
>> X.org input device configuration. Then try again. Ie. don't touch the
>> vanilla settings.
>>
>> USB mice work out of the box without any configuration. Devd will
>> notify X.org, which then configures the mice etc.
>>
>> abi kirjoitti 29.08.2016 16:34:
>>> I'm not sure what is attached to /dev/sysmouse
>>>
>>> I suspect USB one, but I disabled sysmouse in xorg configuration for
>>> sure
>>>
>>> Section "InputClass"
>>>     Identifier "VanishBastardo"
>>>     MatchDevicePath "/dev/sysmouse"
>>>     Option "Ignore" "true"
>>> EndSection
>>>
>>> and
>>>
>>> moused_enable=3D"NO"
>>> moused_nondefault_enable=3D"NO"
>>>
>>> [    17.061] (II) config/devd: adding input device (null)
>>> (/dev/sysmouse)
>>> [    17.061] (**) sysmouse: Ignoring device from InputClass
>>> "VanishBastardo"
>>>
>>> So, if both devices clashing for 1 node, no driver attached to it
>>> anyway. Also, I tried CURRENT - it has the same problem.
>>>
>>>
>>>
>>> On 29/08/2016 15:16, Arto Pekkanen wrote:
>>>> With a PS2 touchpad you could also try this:
>>>> https://www.freebsd.org/doc/faq/x.html#idp64092272
>>>>
>>>> abi kirjoitti 27.08.2016 03:51:
>>>>> Hello,
>>>>>
>>>>> I have strange issue with Dell XPS 13 (Skylake) touchpad. It works
>>>>> until xorg restart. After restart, buttons become unresponsive, the=

>>>>> most common is if button remains pressed somehow.
>>>>>
>>>>> I found simple workaround - toggle touchpad with xinput. However, o=
n
>>>>> xinput enable system hangs - screen is not updated and it ignores
>>>>> keyboard input until I use touchpad. After that, system and touchpa=
d
>>>>> becomes operational. Until restart.
>>>>>
>>>>> Synaptics driver has the same problem.
>>>>> Touchpad in generic ps/2 mode (without hw.psm.synaptics_support=3D1=
)
>>>>> works.
>>>>>
>>>>> I made a search and found this commit
>>>>> http://svnweb.freebsd.org/base?view=3Drevision&revision=3D281440 in=

>>>>> CURRENT release notes. However it's pretty old and should be includ=
ed
>>>>> in 11.
>>>>>
>>>>> FreeBSD 11.0-RC1
>>>>> Xorg log
>>>>> https://gist.github.com/abishai/844c3221d9388a5a6f8c65bd13ad2d88
>>>>> USB receiver is generic wireless mouse
>>>>> Mouse is touchpad
>>>>> No idea what is sysmouse. I have moused_enable=3D"NO" and
>>>>> moused_nondefault_enable=3D"NO" in /etc/rc.conf
>>>>>
>>>>> I appreciate any help or suggestions :)
>>>>> _______________________________________________
>>>>> freebsd-x11@freebsd.org mailing list
>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-x11
>>>>> To unsubscribe, send any mail to
>>>>> "freebsd-x11-unsubscribe@freebsd.org"
>>>>
>>
>
> _______________________________________________
> freebsd-x11@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-x11
> To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org"

--=20
Anthony Jenkins





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3009df27-0b1a-a6c2-44e8-d8cfcb31307f>