You’re absolutely right.The timing is a big issue with the Marlin planner buffering incoming commands. There are a few options with PC host software but one of the requirements for the pendant project that I was working on with Karl was to do this on a marlin set-up with no PC connected so the only option was to use a second Arduino and send the commands through the serial connection between the two. The buttons were simple to program because they only needed to send one Gcode command at a time while the joystick had to be controlled by an interrupt to make sure it wasn’t buffering commands too fast(overshooting the target) or too slow (stuttering). I also added code to update a display with current axes position and that had to be done in a way that wouldn’t interfere with the joystick jogging too. I think Karl continued to work on the project after I moved on but I haven’t seen him on the forums for a while. Here’s a video of an early test that demos the axis position display and the joystick jogging plus a center-circle function that would calculate the center of a circle after jogging to 3 points along the circumference. Karl had programmed quite a few buttons to perform functions like zeroing all axes, homing, laser on/off, etc… I was planning to etch a PCB and work on a cool handheld housing next but I lost interest to work on other things
If you really want total remote control then mach3 is the best control software. Lots of aftermarket products like MPG pendants out there.