Joystick on ramps 1.4 controller

Joysticks have been added to Rambo boards in two different ways. Ramps boards use the same microcontroller, so in theory, any solution that works on a Rambo board should work on a Ramps board. The only issue is how to get access to the correct pins.

There is built-in support for a joystick in Marlin. It provides just joystick support, but by all accounts, it works well. You can find out more about it here: Joystick managed by Marlin

The second approach is to use a Arduino board to inject g-code for commands. You use one of the serial ports on the Mega board to just send text to Marlin. This is a more flexible but more complex approach. This is the approach used in the topic that Mike references, and there are other implementations out there. While not a joystick, this membrane controller on Thingiverse uses this approach.