In TELEOP mode, when using the halui.jog.N.analog pins to jog using a joystick, only the last axis is jogged.
This is because halui.cc::check_hal_changes() calls sendJogCont once for each active axis. sendJogCont sends a velocity vector (x,y,z,a,b...) each time, but only populates one axis each time.
For example, if I jog X and Z at the same time, the following messages will be sent together...
EMC_TRAJ_SET_TELEOP_VECTOR(x,0,0,0,0,0...)
EMC_TRAJ_SET_TELEOP_VECTOR(0,0,z,0,0,0...)
Because the second message is sent immediately after the first, effectively only the last axis is jogged.
Only one jog command should be sent...
EMC_TRAJ_SET_TELEOP_VECTOR(x,0,z,0,0,0...)
I've solved it at least for my configuration. You can see the discussion in linuxcnc forum