Index: libindi/libs/indibase/inditelescope.cpp =================================================================== --- libindi/libs/indibase/inditelescope.cpp (revision 2779) +++ libindi/libs/indibase/inditelescope.cpp (working copy) @@ -123,7 +123,11 @@ controller->mapController("MOTIONDIR", "N/S/W/E Control", INDI::Controller::CONTROLLER_JOYSTICK, "JOYSTICK_1"); if (nSlewRate >= 4) + { controller->mapController("SLEWPRESET", "Slew Rate", INDI::Controller::CONTROLLER_JOYSTICK, "JOYSTICK_2"); + controller->mapController("SLEWPRESETUP", "Slew Rate Up", INDI::Controller::CONTROLLER_BUTTON, "BUTTON_5"); + controller->mapController("SLEWPRESETDOWN", "Slew Rate Down", INDI::Controller::CONTROLLER_BUTTON, "BUTTON_6"); + } if (CanAbort()) controller->mapController("ABORTBUTTON", "Abort", INDI::Controller::CONTROLLER_BUTTON, "BUTTON_1"); if (CanPark()) @@ -1399,6 +1403,14 @@ char *names[2] = { ParkS[0].name, ParkS[1].name }; ISNewSwitch(getDeviceName(), ParkSP.name, states, names, 2); } + else if (!strcmp(button_n, "SLEWPRESETUP")) + { + processSlewPresets(1, 270); + } + else if (!strcmp(button_n, "SLEWPRESETDOWN")) + { + processSlewPresets(1, 90); + } } void INDI::Telescope::processJoystick(const char * joystick_n, double mag, double angle)