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