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>