The mdi window uses the same keys as keyboard jog, so when the mdi takes focus, it probably binds the keys for mdi, and same when manual tab takes focus
from axis.py
Code:
def ensure_manual(*event):
s.poll()
if not manual_ok(): return
if ( all_homed()
and (s.motion_mode == linuxcnc.TRAJ_MODE_TELEOP)
or
(s.motion_mode == linuxcnc.TRAJ_MODE_COORD)
):
set_motion_teleop(1)
else:
ensure_mode(linuxcnc.MODE_MANUAL)
set_motion_teleop(0)
def ensure_mdi(*event):
# called from axis.tcl on tab raisecmd
if not manual_ok(): return
set_motion_teleop(0)
ensure_mode(linuxcnc.MODE_MDI)
set_motion_teleop(1)
s.poll()
axis.tcl
Code:
proc set_mode_from_tab {} {
set page [${::pane_top}.tabs raise]
switch $page {
mdi { ensure_mdi }
default { ensure_manual
focus $::pane_top.tabs.fmanual
Code:
set _tabs_manual [${pane_top}.tabs insert end manual -text [_ "Manual Control \[F3\]"] -raisecmd {focus .; ensure_manual}]
It also doesnt keyboard jog if its on any other tab, other than jog tab, but the mode doesnt actually change when the tabs are switched, it appears to stay in manual until an mdi is issued. this is confirmed by loading the halui config and and joging while in mdi tab.
that being said, if you did a keybind to a non axis(the gui) jog pin, it would probably work. I dont know how it would behave with the jog tab, but you would probably have 2 sets of keyboard jog.
To make it work, you would probably need to bind it to a key that you wouldnt normally type into mdi, and probably have to erase them, because the mdi doesnt lose focus after a command is issued, so all your keyboard jogging will be entered into the mdi text entry. but on the opposite, if mdi did lose focus, you could jog and but then you have to click the mdi box every time to type. so, you can keyboard jog with , but it will be the same amount of clicking if not more. if you have a pendant or external buttons, it looks like it will work if you connect them to halui jog pins.
I have been dealing with it in the opposite, as keyboard jog is very convenient, I often accidentally jog while navigating a user tab with the arrow keys, which can sometimes be dangerous.