OK - I have a proper fix, even if I don't understand how it works or why it broke.
In short: add i8042.reset to your kernel parameters.
1. Backup your /boot/grub/menu.lst somewhere else, possibly off the machine?
sudo nano /boot/grub/menu.lst
, and enter your password when requested. Obviously, you can use whatever editor you like.
3. Find the line beginning # kopt=. Don't remove the #.
to the end of the line, so that your final line looks something like:
# kopt=root=UUID=c10a4641-f9b2-8b06-7127-bb1ba1fe45d4 ro i8042.reset
5. Save the file.
Now, that option should be automatically added to whatever kernel you boot. I hope this helps somebody.