Trackball wake:

Originally implemented by drewis, had to be manually reimplemented as cherry picking would not play nicely.