Why not a gamepad?
Especially for those with big table CNC, a wireless gamepad is the best input device you can dream for. The nice free plugin is completely customisable. Beside the variable speed jogging, which is the most useful thing, I use it for reset, to start/pause/stop g-code, home all or individual axes, zero individual axes, combined step/continuous jogging when I'm manually surfacing something, increase/decrease feed/speed, etc.