Skip to content

Configuration

jogpad reads a TOML file, by default none (all values below apply). Pass it with jogpad serve --config jogpad.toml.

[machine]

Key Default Description
backend "moonraker" Firmware interface. Only Moonraker (Klipper) for now.
url "http://127.0.0.1:7125" Base URL of the firmware's HTTP interface.
locks [{"object": "print_stats", "field": "state", "equals": ["printing", "paused"], "reason": "job running"}] Conditions under which jogpad refuses to move or home. STOP always works. If the status cannot be read, or a lock's object or field does not exist, jogpad refuses as well.

[jog]

Key Default Description
steps [0.01, 0.1, 1.0] Step sizes in mm. The step key cycles through them; jogpad starts with the first.
hold_delay 0.5 Seconds an axis key must be held before its axis keeps moving until the key is released. A shorter press moves one step.
hold_speeds_xy [2.0, 10.0, 50.0] Speeds in mm/s for X and Y while a key is held, one per step size; the step key switches both. At most 250. Klipper cannot take back a move it has queued, so the axis runs on for up to 0.65 s after the key is released: up to 33 mm at 50 mm/s.
hold_speeds_z [0.5, 2.0, 10.0] Speeds in mm/s for Z while a key is held, one per step size. Klipper keeps them below its max_z_velocity.
hold_speeds_e [1.0, 2.0, 5.0] Speeds in mm/s for the extruder while a key is held, one per step size.
feed_xy 3000.0 Feed rate for X and Y in mm/min.
feed_z 600.0 Feed rate for Z in mm/min.
feed_e 300.0 Feed rate for the extruder in mm/min.
select_axes ["X", "Y"] Axes that select_next cycles through for a knob.
home_timeout 5.0 Seconds after which an unfinished HOME selection is dropped.
announce_moves true Report every move and homing in the firmware console, so others can see who moved the machine.
invert [] Axes whose keys move the other way, e.g. when the bed moves instead of the tool. Klipper's coordinates stay as they are.

[input]

Key Default Description
devices [] Input devices to read, e.g. /dev/input/by-id/usb-...-event-kbd. jogpad grabs them exclusively.
keys see below Key names or numbers per action, as in linux/input-event-codes.h. Merged over the defaults of the layout: for ch57x-9k3 those of a pad programmed with jogpad program-pad, otherwise the numeric keypad's. [] switches an action off.
layout "numpad" Pad drawn on the web page: numpad, ch57x-9k3, or none to list pressed keys only.
step_light true With a CH57x layout such as ch57x-9k3, light the pad in the colour of the step size: green for the smallest, so green after a start, red for the largest, yellow between. The pad stores every new colour in its flash memory, which takes only so many writes; false leaves its light alone.

[sounds]

Key Default Description
step "" G-code for one beep, e.g. M300 S1000 P100 where printer.cfg has an M300 macro for the printer's beeper. When the step size changes, jogpad sends it once for the smallest step size, twice for the next, and so on, so the step size is known without a look at the pad. Empty: no beep.
refusal "" G-code for the sound of a refusal, e.g. one long beep such as M300 S440 P600: a lock or the switch holds a key back, the status cannot be read, or the firmware refuses a move or homing. A key that does nothing is then heard, not only seen. Empty: no sound.

[server]

Key Default Description
host "0.0.0.0" Address the web interface and API listen on. 0.0.0.0 lets every computer in the network watch; 127.0.0.1 keeps the page on the machine itself.
port 7150 Port of the web interface and API.
language "en" Language of console messages, and of the web page for viewers whose browser asks for none of the available ones.
allow_remote_changes false Let every computer change the configuration through the web page. Without it only the machine itself and the computers Moonraker trusts (trusted_clients) may.

Default keys

They depend on layout; every layout not listed here, none included, gets those of numpad.

Action numpad ch57x-9k3
x_plus KEY_KP6 KEY_F18, KEY_KATAKANAHIRAGANA
x_minus KEY_KP4 KEY_F16, KEY_RO
y_plus KEY_KP8 KEY_F14, KEY_HENKAN
y_minus KEY_KP2 KEY_F20, KEY_YEN
z_plus KEY_KPPLUS KEY_KPJPCOMMA
z_minus KEY_KPMINUS KEY_MUHENKAN
e_plus – KEY_F21
e_minus – KEY_F19
selected_plus – –
selected_minus – –
select_next – –
step KEY_KPASTERISK KEY_F17
home KEY_KPENTER KEY_F13
stop KEY_KP0 KEY_F15