How do I find out which touchpad driver is being used?

I need to find out which touchpad driver is being used on my laptop running Ubuntu 16.04 so I can replace the one that comes with Ubuntu 18.04 (which is not working well).

I've tried lshw which lists hardware information but there is nothing about a touchpad I can see.

I've tried lspci and again nothing about a touchpad.

I've tried xpinput list which gives:

Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ DLL0665:01 06CB:76AD Touchpad             id=11   [slave  pointer  (2)]

but what does that mean? Is DLL0665:01 a driver?

I was expecting either libinput or synaptics to be listed somewhere as these names keep coming up when I search for linux touchpad drivers.

EDIT

As suggested, I've tried lsmod but no synaptics or libinput listed. I also tried lsmod | grep hid which gives:

hid_multitouch         20480  0
intel_hid              16384  0
sparse_keymap          16384  3 dell_wmi,intel_hid,intel_vbtn
mac_hid                16384  0
i2c_hid                20480  0
hid                   118784  2 i2c_hid,hid_multitouch

Run

xinput list-props 11

and you will see which userspace driver is used (libinput, or synaptics).

11 is the touchpad id from xinput list.

It was not quite clear which driver are you asking about: kernel or userspace.