I am very happy with jog performance in linuxcnc. On the k&t I use it all the time for setting parts/tools. (I use a 1/2 dowel pin and jog wheel for setting zero - rolling it between the part and tool)

http://linuxcnc.org/docs/html/examples/mpg.html

There are a bunch of ways to hook a physical jog encoder up. The above example is similar to how I have implemented it on my machines. That example is also a real time jog implementation.