interfacing new touchpad driver with Xorg synaptics
Peter Hutterer
peter.hutterer at who-t.net
Sun Jan 3 21:35:30 PST 2016
On Sat, Dec 26, 2015 at 03:04:43PM -0800, Richard Pospesel wrote:
> Hi,
>
> I'm working on a touchpad kernel driver (in the psmouse module) for BYD
> touchpads. However, Xorg always selects the evdev 'pointer' driver (not
> even the evdev 'touhpad' driver). I've browsed through other touchpad
> drivers in the psmouse module, and I don't seem to be missing anything
> obvious that my driver would need to do.
>
> What do I need to do in my kernel driver for Xorg to load the synaptics
> driver rather than the evdev driver?
>
> kernel source:
> https://github.com/pospeselr/linux/blob/master/data/drivers/input/mouse/byd.c
> Xorg.0.log: http://pastebin.com/GkCVHu9t
>
> I have already tried enabling the MatchDevicePath /dev/input/event* line.
a touchpad doesn't have relative x/y axes, it provides absolute x/y axes and
the conversion into relative events is done by userspace, i.e.
synaptics/evdev/libinput/etc.
for a touchpad, you need at least BTN_TOUCH, BTN_TOOL_FINGER and ABS_X/Y.
for a multi-touch capable touchpad, you also need the matching multitouch
axes.
btw, the MatchIsTouchpad hooks onto udev's ID_INPUT_TOUCHPAD - unless that
property is set, the synaptics driver won't be picked.
Cheers,
Peter
More information about the xorg-devel
mailing list