That sounds great ! Please let me know if I can help / assist in any way.
The easiest/fastest adaptation (although staying short of having analog control via joystick thumbstick) would probably being the following:
re-enable "has_variable_speed" capability. This make the speed slider reappear in the control panel. Option is for two speeds "slow" and "fast" (1 and 2). In the code of the celestron.cpp where the absolute_move is being executed ("start_move" line 361 ff) the return statement could be made dependent of the speed setting via an "if" statement: if focuser speed is fast, than MC_GOTO_FAST is executed, if focuser speed is slow, than MC_GOTO_SLOW is executed. Potentially this would also result in less of a mirror shift, as the movement is carried out more gentle.
I still have not found out, where / in which file the Joystick options for the focuser are being defined. Adding more control options (e.g. assign presets to buttons) should be a straight forward exercise. Any idea, where to find this ?

Read More...