Works up to relative mouse movement.

TODO:
Button