And therein lies the problem with at least MACH3 and LinuxCNC in their 'stock' form even with a pendant. I still find myself going between the keyboard for the arrow keys (XY) and the page up/dwn keys (Z) and the F3 to move between manual and the MDI screen (single G-Code text input)
My Shumatech DRO can already provide things like bolt circles. MACH3 has wizards although some you had to pay for. There are command line programs that provide G-Code (like the wizards) to run as a CNC program.
What still appears to be missing for the 'manual' oriented hobby machinist is that in between step. With more buttons than the pendants but not a full keyboard.
My ELS has 4 buttons for the Z axis. A single tap moves one increment. Press and hold it moves one increment and then moves at what would be the G01 Fxx rate. One for each axis. and the second pair move at what would be the G00 rate which is full axis speed. So maybe a keypad pattern like this:
____Y+ ____________Z+
X- ALT X+ _____A- ALT A+
____Y- _____________Z-
Edit: add _ so keypad spacing works on my android phone.
Hold the ALT down and one of the close by keys and get full speed. Otherwise like the ELS Z buttons.
Spindle would have
S+
START
STOP
S-
Then we'd have BEGIN_X, BEGIN_Y, BEGIN_Z, BEGIN_A along with the endpoints END_X...
That's 22 buttons so far.
Numeric keypad a must for manual entry of the parameters so that's another 13 buttons for 0..9, -, DEL, ENTER.
START/STOP plus some function buttons to select things like which axis to move automatically. One could add features like bolt circle for example just like the DRO has. And each START moves to the next bolt circle location. Then use the manual quill to actually drill the hole. Or have a FCN key set for Move to Next. Peck Drill. Power Tap depending on which tool is loaded.
And likely a Tool Change button with a numeric entry for the desired tool. Coolant ON/OFF, Air Mist ON/OFF.
So we're looking at a keypad of at least 40 keys and aiming for 64 might be better. This could be done on a touch screen for development but pressing and holding on a screen without the tactile feedback sucks IMHO.
Just bouncing ideas out there. Under the covers it might well be running LinuxCNC on a Raspberry Pi4 with a MESA Ethernet to I/O board. The keypad a USB connection. An MPG of course. Maybe even one for each main axis.
Now you essentially still have a manual mill. The Manual Pulse Generators (MPG) for each axis would track the pitch of the screws so that one turn is like one turn of the big handle. The DRO features so you can see where you are from either Motor position or maybe even linear encoder feedback. Use it like a manual mill but automate the tedious parts all with tactile feedback buttons.
And a system like that could start small with a simple relay for spindle ON/OFF and no speed control and only X powered motion. Then as costs and time permit adding power to the Y axis. Then a new 3-phase motor and VFD and now variable speed control.
Ultimately add a full keyboard, mouse and display and run LinuxCNC on that Raspberry Pi4.
The photo is of one such setup on my test bench. Raspberry Pi4, MESA 7i92H, Breakout Board and CANUSB to talk to external devices like that full featured keypad with 64 keys and MPG. The MESA does the real time stuff. For initial playing around I can install the CAN driver in place of the X axis on my ELS and use it as that keypad with 35 keys and LCD display.