joyevmouse converts joystick events to mouse events, making it possible to use a joystick as a mouse. joyevmouse uses the rather nice evdev and uinput infrastructure of the linux kernel. This means that joyevmouse runs entirely in userspace - it does not run as a kernel driver or need a patch
joyevmouse has been written rather quickly and is only tested on one device. So it may have some rough edges. mxk implements a superset of the functions of joyevmouse, but is more complex to set up.