My touchpad on Asus X455LF-WX055T works perfectly when I first boot Ubuntu but it does not work whenever I wake it up after suspending it.
Before I suspend, my xinput list contains PS/2 FocalTech FocalTech Touchpad:
xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech K270 id=10 [slave pointer (2)]
⎜ ↳ Logitech M315/M235 id=11 [slave pointer (2)]
⎜ ↳ PS/2 FocalTech FocalTech Touchpad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ USB2.0 VGA UVC WebCam id=12 [slave keyboard (3)]
↳ Asus WMI hotkeys id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
When i wake it up after suspending it, my xinput list does not contain PS/2 FocalTech FocalTech Touchpad but it was replaced(?) by AT Raw Set 2 keyboard id=15 [slave keyboard (3)] which was not present before I suspend:
xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech K270 id=10 [slave pointer (2)]
⎜ ↳ Logitech M315/M235 id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ USB2.0 VGA UVC WebCam id=12 [slave keyboard (3)]
↳ Asus WMI hotkeys id=13 [slave keyboard (4)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ AT Raw Set 2 keyboard id=15 [slave keyboard (3)]
What I have tried
From "Touchpad doesn't work after suspend"
I have tried creating a file /etc/pm/sleep.d/0000trackpad with the contents:
#!/bin/sh
case "$1" in
resume)
DISPLAY=:0.0 su USER -c '/usr/bin/synclient TouchpadOff=0' ;;
esac
and
#!/bin/sh
case "$1" in
suspend|hibernate)
modprobe -r psmouse ;;
resume|thaw)
modprobe psmouse ;;
esac
but both does not work.
From "How do I get the touchpad working on an Asus x450L?"
Adding a Kernel Boot Parameter psmouse.proto=bare in /etc/default/grub like so:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash psmouse.proto=bare
and then updating grub with sudo update-grub but still does not work.
My BIOS is also up-to-date.