Files
linuxcncWebWASM/coverage/panel-01-source-control-inventory.report.json

5920 lines
185 KiB
JSON

{
"boundaries": [
"inventory-only; no runtime authority or protocol mutation",
"selected 3axis-tutorial only",
"missing web mappings remain blocked",
"desktop AXIS controls are Web-equivalent workflows, not copied host windows"
],
"case": {
"ini": {
"line_count": 224,
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
"sha256": "07e4fafa71e13ac3749fd860ee7549b762f521b9ca58c32110a9f582554882dc",
"values": {
"DISPLAY": {
"DISPLAY": "axis",
"INCREMENTS": "1 mm, .01 in, .1mm, 1 mil, .1 mil, 1/8000 in",
"INTRO_GRAPHIC": "linuxcnc.gif",
"OPEN_FILE": "configs/nc_files/3dtest.ngc",
"POSITION_FEEDBACK": "ACTUAL",
"POSITION_OFFSET": "RELATIVE"
},
"EMC": {
"MACHINE": "3axis-tutorial",
"VERSION": "1.1"
},
"EMCIO": {
"TOOL_TABLE": "tool.tbl"
},
"HAL": {
"HALFILE": "3axis-tutorial.hal",
"HALUI": "halui"
},
"KINS": {
"JOINTS": "3",
"KINEMATICS": "trivkins"
},
"TRAJ": {
"AXES": "3",
"COORDINATES": "X Y Z",
"LINEAR_UNITS": "mm",
"POSITION_FILE": "position_mm.txt"
}
}
},
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
"status": "indexed"
},
"checks": {
"control_ids_unique": {
"count": 187,
"status": "verified"
},
"manual_axis_execution": {
"evidence_count": 2,
"status": "verified",
"tool": "tool/linuxcnc-axis-manual-execution"
},
"menu_inventory": {
"count": 80,
"minimum": 40,
"status": "verified"
},
"panel_inventory": {
"panels": [
"MANUAL",
"MDI",
"AUTO",
"DRO",
"DIAGNOSTICS"
],
"status": "verified"
},
"react_feature_inventory": {
"count": 29,
"status": "verified"
},
"shortcut_inventory": {
"count": 82,
"minimum": 20,
"status": "verified"
},
"source_inputs": {
"count": 4,
"status": "verified"
},
"toolbar_inventory": {
"count": 20,
"minimum": 15,
"status": "verified"
},
"web_mapping": {
"gaps": 153,
"mapped": 34,
"status": "blocked"
}
},
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
"controls": {
"control_id_contract": [
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-OPEN",
"label": "Open...",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 58,
"lines": "58-58",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-RECENT_FILES",
"label": "Recent Files",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 62,
"lines": "62-62",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-EDIT",
"label": "Edit...",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 66,
"lines": "66-66",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-RELOAD",
"label": "Reload",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 71,
"lines": "71-71",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-SAVE_G_CODE_AS",
"label": "Save G-code as...",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 76,
"lines": "76-76",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-PROPERTIES",
"label": "Properties...",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 80,
"lines": "80-80",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-EDIT_TOOL_DATA",
"label": "Edit tool data...",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 86,
"lines": "86-86",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-RELOAD_TOOL_DATA",
"label": "Reload tool data",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 90,
"lines": "90-90",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-LADDER_EDITOR",
"label": "Ladder Editor...",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 96,
"lines": "96-96",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-QUIT",
"label": "Quit",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 102,
"lines": "102-102",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-TOGGLE_EMERGENCY_STOP",
"label": "Toggle Emergency Stop",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 108,
"lines": "108-108",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-TOGGLE_MACHINE_POWER",
"label": "Toggle Machine Power",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 113,
"lines": "113-113",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-RUN_PROGRAM",
"label": "Run program",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 120,
"lines": "120-120",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-RUN_FROM_SELECTED_LINE",
"label": "Run from selected line",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 124,
"lines": "124-124",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-STEP",
"label": "Step",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 129,
"lines": "129-129",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-PAUSE",
"label": "Pause",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 134,
"lines": "134-134",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-RESUME",
"label": "Resume",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 139,
"lines": "139-139",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-STOP",
"label": "Stop",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 144,
"lines": "144-144",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-STOP_AT_M1",
"label": "Stop at M1",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 149,
"lines": "149-149",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-SKIP_LINES_WITH",
"label": "Skip lines with '/'",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 154,
"lines": "154-154",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-CLEAR_MDI_HISTORY",
"label": "Clear MDI history",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 161,
"lines": "161-161",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-COPY_FROM_MDI_HISTORY",
"label": "Copy from MDI history",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 165,
"lines": "165-165",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-PASTE_TO_MDI_HISTORY",
"label": "Paste to MDI history",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 169,
"lines": "169-169",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-CALIBRATION",
"label": "Calibration",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 175,
"lines": "175-175",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-SHOW_HAL_CONFIGURATION",
"label": "Show Hal Configuration",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 179,
"lines": "179-179",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-HAL_METER",
"label": "Hal Meter",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 183,
"lines": "183-183",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-HAL_SCOPE",
"label": "Hal Scope",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 187,
"lines": "187-187",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-SHOW_LINUXCNC_STATUS",
"label": "Show LinuxCNC Status",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 191,
"lines": "191-191",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-SET_DEBUG_LEVEL",
"label": "Set Debug Level",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 195,
"lines": "195-195",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-HOMING",
"label": "Homing",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 201,
"lines": "201-201",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-UNHOMING",
"label": "Unhoming",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 205,
"lines": "205-205",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-ZERO_COORDINATE_SYSTEM",
"label": "Zero coordinate system",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 209,
"lines": "209-209",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P1_G54",
"label": "P1 G54",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 213,
"lines": "213-213",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P2_G55",
"label": "P2 G55",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 217,
"lines": "217-217",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P3_G56",
"label": "P3 G56",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 221,
"lines": "221-221",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P4_G57",
"label": "P4 G57",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 225,
"lines": "225-225",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P5_G58",
"label": "P5 G58",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 229,
"lines": "229-229",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P6_G59",
"label": "P6 G59",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 233,
"lines": "233-233",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P7_G59_1",
"label": "P7 G59.1",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 237,
"lines": "237-237",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P8_G59_2",
"label": "P8 G59.2",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 241,
"lines": "241-241",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P9_G59_3",
"label": "P9 G59.3",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 245,
"lines": "245-245",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-G92",
"label": "G92",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine.clearoffset",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 249,
"lines": "249-249",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-TOOL_TOUCH_OFF_TO_WORKPIECE",
"label": "Tool touch off to workpiece",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 257,
"lines": "257-257",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-TOOL_TOUCH_OFF_TO_FIXTURE",
"label": "Tool touch off to fixture",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.machine",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 263,
"lines": "263-263",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-TOP_VIEW",
"label": "Top view",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 271,
"lines": "271-271",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-ROTATED_TOP_VIEW",
"label": "Rotated Top view",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 278,
"lines": "278-278",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SIDE_VIEW",
"label": "Side view",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 285,
"lines": "285-285",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-FRONT_VIEW",
"label": "Front view",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 292,
"lines": "292-292",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-PERSPECTIVE_VIEW",
"label": "Perspective view",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 299,
"lines": "299-299",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-DISPLAY_INCHES",
"label": "Display Inches",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 308,
"lines": "308-308",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-DISPLAY_MM",
"label": "Display MM",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 315,
"lines": "315-315",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_PROGRAM",
"label": "Show program",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 322,
"lines": "322-322",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_PROGRAM_RAPIDS",
"label": "Show program rapids",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 327,
"lines": "327-327",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-ALPHA_BLEND_PROGRAM",
"label": "Alpha-blend program",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 332,
"lines": "332-332",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_LIVE_PLOT",
"label": "Show live plot",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 337,
"lines": "337-337",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_TOOL",
"label": "Show tool",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 342,
"lines": "342-342",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_EXTENTS",
"label": "Show extents",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 347,
"lines": "347-347",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-GRID",
"label": "Grid",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 351,
"lines": "351-351",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_OFFSETS",
"label": "Show offsets",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 356,
"lines": "356-356",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_MACHINE_LIMITS",
"label": "Show machine limits",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 361,
"lines": "361-361",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_VELOCITY",
"label": "Show velocity",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 366,
"lines": "366-366",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_DISTANCE_TO_GO",
"label": "Show distance to go",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 371,
"lines": "371-371",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-LARGE_COORDINATE_FONT",
"label": "Large coordinate font",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 376,
"lines": "376-376",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-CLEAR_LIVE_PLOT",
"label": "Clear live plot",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 381,
"lines": "381-381",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_PYVCP_PANEL",
"label": "Show PyVCP panel",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 387,
"lines": "387-387",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_COMMANDED_POSITION",
"label": "Show commanded position",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 396,
"lines": "396-396",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_ACTUAL_POSITION",
"label": "Show actual position",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 403,
"lines": "403-403",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_MACHINE_POSITION",
"label": "Show machine position",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 412,
"lines": "412-412",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_RELATIVE_POSITION",
"label": "Show relative position",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 419,
"lines": "419-419",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-JOINT_MODE",
"label": "Joint mode",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 428,
"lines": "428-428",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-WORLD_MODE",
"label": "World mode",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 435,
"lines": "435-435",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW_GRID-OFF",
"label": "Off",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view.grid",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 443,
"lines": "443-443",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW_GRID-CUSTOM",
"label": "Custom",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.view.grid",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 449,
"lines": "449-449",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-HELP-ABOUT_AXIS",
"label": "About AXIS",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.help",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 460,
"lines": "460-460",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-HELP-QUICK_REFERENCE",
"label": "Quick Reference",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.help",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 464,
"lines": "464-464",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MENU-FILE",
"label": "File",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 470,
"lines": "470-470",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MENU-MACHINE",
"label": "Machine",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 474,
"lines": "474-474",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MENU-VIEW",
"label": "View",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 478,
"lines": "478-478",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MENU-HELP",
"label": "Help",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 482,
"lines": "482-482",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE_RECENT-CLEAR_RECENTS_LIST",
"label": "Clear Recents List",
"mapping_reason": "MenuAction has no per-action stable data-axis-feature.",
"mapping_status": "container_only",
"menu_path": ".menu.file.recent",
"react_feature_ids": [
"AXIS-UI-02"
],
"source": {
"line": 2230,
"lines": "2230-2230",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "toolbar",
"command": null,
"control_id": "AXIS-TOOLBAR-MACHINE_ESTOP",
"helptext": "Toggle Emergency Stop [F1]",
"image": "tool_estop",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-01"
],
"source": {
"line": 490,
"lines": "490-497",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.machine_estop"
},
{
"category": "toolbar",
"command": "onoff_clicked \\",
"control_id": "AXIS-TOOLBAR-MACHINE_POWER",
"helptext": "Toggle Machine power [F2]",
"image": "tool_power",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-02"
],
"source": {
"line": 498,
"lines": "498-508",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.machine_power"
},
{
"category": "toolbar",
"command": "open_file",
"control_id": "AXIS-TOOLBAR-FILE_OPEN",
"helptext": "Open G-Code file [O]",
"image": "tool_open",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-FILE-01"
],
"source": {
"line": 509,
"lines": "509-516",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.file_open"
},
{
"category": "toolbar",
"command": "reload_file",
"control_id": "AXIS-TOOLBAR-RELOAD",
"helptext": "Reopen current file [Ctrl-R]",
"image": "tool_reload",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-FILE-04"
],
"source": {
"line": 517,
"lines": "517-526",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.reload"
},
{
"category": "toolbar",
"command": "task_run \\",
"control_id": "AXIS-TOOLBAR-PROGRAM_RUN",
"helptext": "Begin executing current file [R]",
"image": "tool_run",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-03"
],
"source": {
"line": 527,
"lines": "527-534",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_run"
},
{
"category": "toolbar",
"command": "task_step \\",
"control_id": "AXIS-TOOLBAR-PROGRAM_STEP",
"helptext": "Execute next line [T]",
"image": "tool_step",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-05"
],
"source": {
"line": 535,
"lines": "535-542",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_step"
},
{
"category": "toolbar",
"command": "task_pauseresume \\",
"control_id": "AXIS-TOOLBAR-PROGRAM_PAUSE",
"helptext": "Pause [P] / resume [S] execution",
"image": "tool_pause",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-06"
],
"source": {
"line": 543,
"lines": "543-557",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_pause"
},
{
"category": "toolbar",
"command": "task_stop \\",
"control_id": "AXIS-TOOLBAR-PROGRAM_STOP",
"helptext": "Stop program execution [ESC]",
"image": "tool_stop",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-07"
],
"source": {
"line": 558,
"lines": "558-567",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_stop"
},
{
"category": "toolbar",
"command": "set block_delete [expr {!$block_delete",
"control_id": "AXIS-TOOLBAR-PROGRAM_BLOCKDELETE",
"helptext": "Toggle skip lines with '/' [Alt-M /]",
"image": "tool_blockdelete",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-09"
],
"source": {
"line": 568,
"lines": "568-574",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_blockdelete"
},
{
"category": "toolbar",
"command": "set optional_stop [expr {!$optional_stop",
"control_id": "AXIS-TOOLBAR-PROGRAM_OPTPAUSE",
"helptext": "Toggle optional pause [Alt-M 1]",
"image": "tool_optpause",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-08"
],
"source": {
"line": 575,
"lines": "575-583",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_optpause"
},
{
"category": "toolbar",
"command": "zoomin \\",
"control_id": "AXIS-TOOLBAR-VIEW_ZOOMIN",
"helptext": "Zoom in",
"image": "tool_zoomin",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-01"
],
"source": {
"line": 584,
"lines": "584-591",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_zoomin"
},
{
"category": "toolbar",
"command": "zoomout \\",
"control_id": "AXIS-TOOLBAR-VIEW_ZOOMOUT",
"helptext": "Zoom out",
"image": "tool_zoomout",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-01"
],
"source": {
"line": 592,
"lines": "592-599",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_zoomout"
},
{
"category": "toolbar",
"command": "set_view_z \\",
"control_id": "AXIS-TOOLBAR-VIEW_Z",
"helptext": "Top view",
"image": "tool_axis_z",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-01"
],
"source": {
"line": 600,
"lines": "600-607",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_z"
},
{
"category": "toolbar",
"command": "set_view_z2 \\",
"control_id": "AXIS-TOOLBAR-VIEW_Z2",
"helptext": "Rotated top view",
"image": "tool_axis_z2",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-01"
],
"source": {
"line": 608,
"lines": "608-615",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_z2"
},
{
"category": "toolbar",
"command": "set_view_x \\",
"control_id": "AXIS-TOOLBAR-VIEW_X",
"helptext": "Side view",
"image": "tool_axis_x",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-01"
],
"source": {
"line": 616,
"lines": "616-623",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_x"
},
{
"category": "toolbar",
"command": "set_view_y \\",
"control_id": "AXIS-TOOLBAR-VIEW_Y",
"helptext": "Front view",
"image": "tool_axis_y",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-01"
],
"source": {
"line": 624,
"lines": "624-631",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_y"
},
{
"category": "toolbar",
"command": "set_view_y2 \\",
"control_id": "AXIS-TOOLBAR-VIEW_Y2",
"helptext": "Inverted Front view",
"image": "tool_axis_y2",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-01"
],
"source": {
"line": 632,
"lines": "632-639",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_y2"
},
{
"category": "toolbar",
"command": "set_view_p \\",
"control_id": "AXIS-TOOLBAR-VIEW_P",
"helptext": "Perspective view",
"image": "tool_axis_p",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-01"
],
"source": {
"line": 640,
"lines": "640-647",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_p"
},
{
"category": "toolbar",
"command": "set rotate_mode [expr {!$rotate_mode",
"control_id": "AXIS-TOOLBAR-ROTATE",
"helptext": "Toggle between Drag and Rotate Mode [D]",
"image": "tool_rotate",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-02"
],
"source": {
"line": 648,
"lines": "648-662",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.rotate"
},
{
"category": "toolbar",
"command": "clear_live_plot \\",
"control_id": "AXIS-TOOLBAR-CLEAR_PLOT",
"helptext": "Clear live plot [Ctrl-K]",
"image": "tool_clear",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-VIEW-15"
],
"source": {
"line": 663,
"lines": "663-682",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.clear_plot"
},
{
"category": "shortcut",
"command": "cancel_open",
"control_id": "AXIS-SHORTCUT-ESCAPE-CANCEL_OPEN",
"key": "<Escape>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 1229,
"lines": "1229-1229",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_stop",
"control_id": "AXIS-SHORTCUT-ESCAPE-COMMANDS_TASK_STOP",
"key": "<Escape>",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-07"
],
"source": {
"line": 3109,
"lines": "3109-3109",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_override_limits",
"control_id": "AXIS-SHORTCUT-L-COMMANDS_TOGGLE_OVERRIDE_LIMITS",
"key": "l",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3110,
"lines": "3110-3110",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.open_file",
"control_id": "AXIS-SHORTCUT-O-COMMANDS_OPEN_FILE",
"key": "o",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-FILE-01"
],
"source": {
"line": 3111,
"lines": "3111-3111",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_resume",
"control_id": "AXIS-SHORTCUT-S-COMMANDS_TASK_RESUME",
"key": "s",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-06"
],
"source": {
"line": 3112,
"lines": "3112-3112",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_step",
"control_id": "AXIS-SHORTCUT-T-COMMANDS_TASK_STEP",
"key": "t",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-05"
],
"source": {
"line": 3113,
"lines": "3113-3113",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_pause",
"control_id": "AXIS-SHORTCUT-P-COMMANDS_TASK_PAUSE",
"key": "p",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-06"
],
"source": {
"line": 3114,
"lines": "3114-3114",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_reverse",
"control_id": "AXIS-SHORTCUT-R-COMMANDS_TASK_REVERSE",
"key": "R",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3115,
"lines": "3115-3115",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_forward",
"control_id": "AXIS-SHORTCUT-F-COMMANDS_TASK_FORWARD",
"key": "F",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3116,
"lines": "3116-3116",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.cycle_view",
"control_id": "AXIS-SHORTCUT-V-COMMANDS_CYCLE_VIEW",
"key": "v",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3117,
"lines": "3117-3117",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "#nothing",
"control_id": "AXIS-SHORTCUT-ALT_P-NOTHING",
"key": "<Alt-p>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3118,
"lines": "3118-3118",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_run",
"control_id": "AXIS-SHORTCUT-R-COMMANDS_TASK_RUN",
"key": "r",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-03"
],
"source": {
"line": 3119,
"lines": "3119-3119",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.reload_file",
"control_id": "AXIS-SHORTCUT-CONTROL_R-COMMANDS_RELOAD_FILE",
"key": "<Control-r>",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-FILE-04"
],
"source": {
"line": 3120,
"lines": "3120-3120",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.save_gcode",
"control_id": "AXIS-SHORTCUT-CONTROL_S-COMMANDS_SAVE_GCODE",
"key": "<Control-s>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3121,
"lines": "3121-3121",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.estop_clicked",
"control_id": "AXIS-SHORTCUT-KEY_F1-COMMANDS_ESTOP_CLICKED",
"key": "<Key-F1>",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-01"
],
"source": {
"line": 3122,
"lines": "3122-3122",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.onoff_clicked",
"control_id": "AXIS-SHORTCUT-KEY_F2-COMMANDS_ONOFF_CLICKED",
"key": "<Key-F2>",
"mapping_reason": null,
"mapping_status": "mapped",
"react_feature_ids": [
"AXIS-MACHINE-02"
],
"source": {
"line": 3123,
"lines": "3123-3123",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.mist_toggle",
"control_id": "AXIS-SHORTCUT-KEY_F7-COMMANDS_MIST_TOGGLE",
"key": "<Key-F7>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3124,
"lines": "3124-3124",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.flood_toggle",
"control_id": "AXIS-SHORTCUT-KEY_F8-COMMANDS_FLOOD_TOGGLE",
"key": "<Key-F8>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3125,
"lines": "3125-3125",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.spindle_forward_toggle",
"control_id": "AXIS-SHORTCUT-KEY_F9-COMMANDS_SPINDLE_FORWARD_TOGGLE",
"key": "<Key-F9>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3126,
"lines": "3126-3126",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.spindle_backward_toggle",
"control_id": "AXIS-SHORTCUT-KEY_F10-COMMANDS_SPINDLE_BACKWARD_TOGGLE",
"key": "<Key-F10>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3127,
"lines": "3127-3127",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.spindle_decrease",
"control_id": "AXIS-SHORTCUT-KEY_F11-COMMANDS_SPINDLE_DECREASE",
"key": "<Key-F11>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3128,
"lines": "3128-3128",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.spindle_increase",
"control_id": "AXIS-SHORTCUT-KEY_F12-COMMANDS_SPINDLE_INCREASE",
"key": "<Key-F12>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3129,
"lines": "3129-3129",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.brake_on",
"control_id": "AXIS-SHORTCUT-B-COMMANDS_BRAKE_ON",
"key": "B",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3130,
"lines": "3130-3130",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.brake_off",
"control_id": "AXIS-SHORTCUT-B-COMMANDS_BRAKE_OFF",
"key": "b",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3131,
"lines": "3131-3131",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.clear_live_plot",
"control_id": "AXIS-SHORTCUT-CONTROL_K-COMMANDS_CLEAR_LIVE_PLOT",
"key": "<Control-k>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3132,
"lines": "3132-3132",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "x",
"control_id": "AXIS-SHORTCUT-X-X",
"key": "x",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3136,
"lines": "3136-3136",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "y",
"control_id": "AXIS-SHORTCUT-Y-Y",
"key": "y",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3137,
"lines": "3137-3137",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "z",
"control_id": "AXIS-SHORTCUT-Z-Z",
"key": "z",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3138,
"lines": "3138-3138",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "a",
"control_id": "AXIS-SHORTCUT-A-A",
"key": "a",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3139,
"lines": "3139-3139",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(0",
"control_id": "AXIS-SHORTCUT-UNNAMED-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_0",
"key": "`",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3142,
"lines": "3142-3142",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(1",
"control_id": "AXIS-SHORTCUT-1-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_1",
"key": "1",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3143,
"lines": "3143-3143",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(2",
"control_id": "AXIS-SHORTCUT-2-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_2",
"key": "2",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3144,
"lines": "3144-3144",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(3",
"control_id": "AXIS-SHORTCUT-3-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_3",
"key": "3",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3145,
"lines": "3145-3145",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(4",
"control_id": "AXIS-SHORTCUT-4-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_4",
"key": "4",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3146,
"lines": "3146-3146",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(5",
"control_id": "AXIS-SHORTCUT-5-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_5",
"key": "5",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3147,
"lines": "3147-3147",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(6",
"control_id": "AXIS-SHORTCUT-6-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_6",
"key": "6",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3148,
"lines": "3148-3148",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(7",
"control_id": "AXIS-SHORTCUT-7-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_7",
"key": "7",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3149,
"lines": "3149-3149",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(8",
"control_id": "AXIS-SHORTCUT-8-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_8",
"key": "8",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3150,
"lines": "3150-3150",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(9",
"control_id": "AXIS-SHORTCUT-9-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_9",
"key": "9",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3151,
"lines": "3151-3151",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(10",
"control_id": "AXIS-SHORTCUT-0-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_10",
"key": "0",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3152,
"lines": "3152-3152",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: jogspeed_continuous(",
"control_id": "AXIS-SHORTCUT-C-LAMBDA_EVENT_JOGSPEED_CONTINUOUS",
"key": "c",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3154,
"lines": "3154-3154",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: widgets.rotate.invoke(",
"control_id": "AXIS-SHORTCUT-D-LAMBDA_EVENT_WIDGETS_ROTATE_INVOKE",
"key": "d",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3155,
"lines": "3155-3155",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: jogspeed_incremental(",
"control_id": "AXIS-SHORTCUT-I-LAMBDA_EVENT_JOGSPEED_INCREMENTAL",
"key": "i",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3156,
"lines": "3156-3156",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: jogspeed_incremental(-1",
"control_id": "AXIS-SHORTCUT-I-LAMBDA_EVENT_JOGSPEED_INCREMENTAL_1",
"key": "I",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3157,
"lines": "3157-3157",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "set metric [expr {!$metric}]; redraw",
"control_id": "AXIS-SHORTCUT-UNNAMED-SET_METRIC_EXPR_METRIC_REDRAW",
"key": "!",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3158,
"lines": "3158-3158",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_display_type",
"control_id": "AXIS-SHORTCUT-UNNAMED-COMMANDS_TOGGLE_DISPLAY_TYPE",
"key": "@",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3159,
"lines": "3159-3159",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_coord_type",
"control_id": "AXIS-SHORTCUT-UNNAMED-COMMANDS_TOGGLE_COORD_TYPE",
"key": "#",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3160,
"lines": "3160-3160",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_teleop_mode",
"control_id": "AXIS-SHORTCUT-UNNAMED-COMMANDS_TOGGLE_TELEOP_MODE",
"key": "$",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3161,
"lines": "3161-3161",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.home_joint",
"control_id": "AXIS-SHORTCUT-HOME-COMMANDS_HOME_JOINT",
"key": "<Home>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3163,
"lines": "3163-3163",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KP_HOME-KEYPRESS",
"key": "<KP_Home>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3164,
"lines": "3164-3164",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.home_all_joints",
"control_id": "AXIS-SHORTCUT-CONTROL_HOME-COMMANDS_HOME_ALL_JOINTS",
"key": "<Control-Home>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3165,
"lines": "3165-3165",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.set_axis_offset",
"control_id": "AXIS-SHORTCUT-SHIFT_HOME-COMMANDS_SET_AXIS_OFFSET",
"key": "<Shift-Home>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3166,
"lines": "3166-3166",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.touch_off_system",
"control_id": "AXIS-SHORTCUT-END-COMMANDS_TOUCH_OFF_SYSTEM",
"key": "<End>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3167,
"lines": "3167-3167",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.touch_off_tool",
"control_id": "AXIS-SHORTCUT-CONTROL_END-COMMANDS_TOUCH_OFF_TOOL",
"key": "<Control-End>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3168,
"lines": "3168-3168",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-CONTROL_KP_HOME-KEYPRESS",
"key": "<Control-KP_Home>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3169,
"lines": "3169-3169",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-SHIFT_KP_HOME-KEYPRESS",
"key": "<Shift-KP_Home>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3170,
"lines": "3170-3170",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KP_END-KEYPRESS",
"key": "<KP_End>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3171,
"lines": "3171-3171",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_S-KEYPRESS",
"key": "<KeyPress-%s>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3320,
"lines": "3320-3320",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_S-KEYPRESS-2",
"key": "<KeyPress-%s>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3321,
"lines": "3321-3321",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "-get_max_jog_speed_map(d",
"control_id": "AXIS-SHORTCUT-SHIFT_KEYPRESS_S-GET_MAX_JOG_SPEED_MAP_D",
"key": "<Shift-KeyPress-%s>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3322,
"lines": "3322-3322",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "get_max_jog_speed_map(d",
"control_id": "AXIS-SHORTCUT-SHIFT_KEYPRESS_S-GET_MAX_JOG_SPEED_MAP_D-2",
"key": "<Shift-KeyPress-%s>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3323,
"lines": "3323-3323",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda e: jog_off_map(d",
"control_id": "AXIS-SHORTCUT-KEYRELEASE_S-LAMBDA_E_JOG_OFF_MAP_D",
"key": "<KeyRelease-%s>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3324,
"lines": "3324-3324",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda e: jog_off_map(d",
"control_id": "AXIS-SHORTCUT-KEYRELEASE_S-LAMBDA_E_JOG_OFF_MAP_D-2",
"key": "<KeyRelease-%s>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3325,
"lines": "3325-3325",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": ".",
"control_id": "AXIS-SHORTCUT-FOCUSOUT-UNNAMED",
"key": "<FocusOut>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3327,
"lines": "3327-3327",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_KP_BEGIN-KEYPRESS",
"key": "<KeyPress-KP_Begin>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3731,
"lines": "3731-3731",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_KP_INSERT-KEYPRESS",
"key": "<KeyPress-KP_Insert>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3732,
"lines": "3732-3732",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_KP_NEXT-KEYPRESS",
"key": "<KeyPress-KP_Next>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3771,
"lines": "3771-3771",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_KP_PRIOR-KEYPRESS",
"key": "<KeyPress-KP_Prior>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3772,
"lines": "3772-3772",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "nomodifier(commands.jog_minus",
"control_id": "AXIS-SHORTCUT-KEYPRESS_MINUS-NOMODIFIER_COMMANDS_JOG_MINUS",
"key": "<KeyPress-minus>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3774,
"lines": "3774-3774",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "nomodifier(commands.jog_plus",
"control_id": "AXIS-SHORTCUT-KEYPRESS_EQUAL-NOMODIFIER_COMMANDS_JOG_PLUS",
"key": "<KeyPress-equal>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3775,
"lines": "3775-3775",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.jog_stop",
"control_id": "AXIS-SHORTCUT-KEYRELEASE_MINUS-COMMANDS_JOG_STOP",
"key": "<KeyRelease-minus>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3776,
"lines": "3776-3776",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.jog_stop",
"control_id": "AXIS-SHORTCUT-KEYRELEASE_EQUAL-COMMANDS_JOG_STOP",
"key": "<KeyRelease-equal>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3777,
"lines": "3777-3777",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": ".tabs raise manual",
"control_id": "AXIS-SHORTCUT-KEY_F3-TABS_RAISE_MANUAL",
"key": "<Key-F3>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3854,
"lines": "3854-3854",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": ".tabs raise mdi",
"control_id": "AXIS-SHORTCUT-KEY_F5-TABS_RAISE_MDI",
"key": "<Key-F5>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3855,
"lines": "3855-3855",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "+",
"control_id": "AXIS-SHORTCUT-KEY_F5-UNNAMED",
"key": "<Key-F5>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3856,
"lines": "3856-3856",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.next_tab",
"control_id": "AXIS-SHORTCUT-KEY_F4-COMMANDS_NEXT_TAB",
"key": "<Key-F4>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3857,
"lines": "3857-3857",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_show_pyvcppanel",
"control_id": "AXIS-SHORTCUT-CONTROL_E-COMMANDS_TOGGLE_SHOW_PYVCPPANEL",
"key": "<Control-e>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3933,
"lines": "3933-3933",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: notifications.clear(",
"control_id": "AXIS-SHORTCUT-CONTROL_SPACE-LAMBDA_EVENT_NOTIFICATIONS_CLEAR",
"key": "<Control-space>",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 3968,
"lines": "3968-3968",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "\"\"",
"control_id": "AXIS-SHORTCUT-UNNAMED-UNSPECIFIED",
"key": "$",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 4134,
"lines": "4134-4134",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.set_view_y2",
"control_id": "AXIS-SHORTCUT-V-COMMANDS_SET_VIEW_Y2",
"key": "v",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 4140,
"lines": "4140-4140",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.set_view_y",
"control_id": "AXIS-SHORTCUT-V-COMMANDS_SET_VIEW_Y",
"key": "v",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 4143,
"lines": "4143-4143",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "\"\"",
"control_id": "AXIS-SHORTCUT-D-UNSPECIFIED",
"key": "d",
"mapping_reason": "Shortcut is source-defined but no matching React keyboard contract is declared.",
"mapping_status": "missing",
"react_feature_ids": [],
"source": {
"line": 4144,
"lines": "4144-4144",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "panel",
"control_id": "AXIS-PANEL-MANUAL",
"mapping_reason": null,
"mapping_status": "mapped",
"panel": "MANUAL",
"react_feature_ids": [
"AXIS-MANUAL-01"
],
"source": [
{
"line": 820,
"lines": "820-820",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "Manual notebook tab"
},
{
"line": 2574,
"lines": "2574-2574",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "ensure_manual"
}
]
},
{
"category": "panel",
"control_id": "AXIS-PANEL-MDI",
"mapping_reason": null,
"mapping_status": "mapped",
"panel": "MDI",
"react_feature_ids": [
"AXIS-CTRL-03"
],
"source": [
{
"line": 821,
"lines": "821-821",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "MDI notebook tab"
},
{
"line": 2587,
"lines": "2587-2587",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "ensure_mdi"
}
]
},
{
"category": "panel",
"control_id": "AXIS-PANEL-AUTO",
"mapping_reason": "AUTO has no dedicated React tab; program controls are only an inferred shared pane.",
"mapping_status": "mapped",
"note": "AXIS uses the shared program pane; it has no separate Auto notebook tab.",
"panel": "AUTO",
"react_feature_ids": [
"AXIS-CTRL-02",
"AXIS-UI-07"
],
"source": [
{
"line": 120,
"lines": "120-120",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "Auto program menu"
},
{
"line": 2343,
"lines": "2343-2343",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "task_run"
}
]
},
{
"category": "panel",
"control_id": "AXIS-PANEL-DRO",
"mapping_reason": null,
"mapping_status": "mapped",
"panel": "DRO",
"react_feature_ids": [
"AXIS-VIEW-04"
],
"source": [
{
"line": 1296,
"lines": "1296-1296",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "DRO notebook"
},
{
"line": 1331,
"lines": "1331-1331",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "position label"
},
{
"line": 1967,
"lines": "1967-1967",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "state projection"
}
]
},
{
"category": "panel",
"control_id": "AXIS-PANEL-DIAGNOSTICS",
"mapping_reason": null,
"mapping_status": "mapped",
"panel": "DIAGNOSTICS",
"react_feature_ids": [
"AXIS-EDIT-01",
"AXIS-UI-07"
],
"source": [
{
"line": 1356,
"lines": "1356-1356",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "program text editor"
},
{
"line": 1387,
"lines": "1387-1387",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "active G-code display"
},
{
"line": 1978,
"lines": "1978-1978",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "interpreter state"
}
]
}
],
"menus": [
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-OPEN",
"label": "Open...",
"menu_path": ".menu.file",
"source": {
"line": 58,
"lines": "58-58",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-RECENT_FILES",
"label": "Recent Files",
"menu_path": ".menu.file",
"source": {
"line": 62,
"lines": "62-62",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-EDIT",
"label": "Edit...",
"menu_path": ".menu.file",
"source": {
"line": 66,
"lines": "66-66",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-RELOAD",
"label": "Reload",
"menu_path": ".menu.file",
"source": {
"line": 71,
"lines": "71-71",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-SAVE_G_CODE_AS",
"label": "Save G-code as...",
"menu_path": ".menu.file",
"source": {
"line": 76,
"lines": "76-76",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-PROPERTIES",
"label": "Properties...",
"menu_path": ".menu.file",
"source": {
"line": 80,
"lines": "80-80",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-EDIT_TOOL_DATA",
"label": "Edit tool data...",
"menu_path": ".menu.file",
"source": {
"line": 86,
"lines": "86-86",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-RELOAD_TOOL_DATA",
"label": "Reload tool data",
"menu_path": ".menu.file",
"source": {
"line": 90,
"lines": "90-90",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-LADDER_EDITOR",
"label": "Ladder Editor...",
"menu_path": ".menu.file",
"source": {
"line": 96,
"lines": "96-96",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE-QUIT",
"label": "Quit",
"menu_path": ".menu.file",
"source": {
"line": 102,
"lines": "102-102",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-TOGGLE_EMERGENCY_STOP",
"label": "Toggle Emergency Stop",
"menu_path": ".menu.machine",
"source": {
"line": 108,
"lines": "108-108",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-TOGGLE_MACHINE_POWER",
"label": "Toggle Machine Power",
"menu_path": ".menu.machine",
"source": {
"line": 113,
"lines": "113-113",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-RUN_PROGRAM",
"label": "Run program",
"menu_path": ".menu.machine",
"source": {
"line": 120,
"lines": "120-120",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-RUN_FROM_SELECTED_LINE",
"label": "Run from selected line",
"menu_path": ".menu.machine",
"source": {
"line": 124,
"lines": "124-124",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-STEP",
"label": "Step",
"menu_path": ".menu.machine",
"source": {
"line": 129,
"lines": "129-129",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-PAUSE",
"label": "Pause",
"menu_path": ".menu.machine",
"source": {
"line": 134,
"lines": "134-134",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-RESUME",
"label": "Resume",
"menu_path": ".menu.machine",
"source": {
"line": 139,
"lines": "139-139",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-STOP",
"label": "Stop",
"menu_path": ".menu.machine",
"source": {
"line": 144,
"lines": "144-144",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-STOP_AT_M1",
"label": "Stop at M1",
"menu_path": ".menu.machine",
"source": {
"line": 149,
"lines": "149-149",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-SKIP_LINES_WITH",
"label": "Skip lines with '/'",
"menu_path": ".menu.machine",
"source": {
"line": 154,
"lines": "154-154",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-CLEAR_MDI_HISTORY",
"label": "Clear MDI history",
"menu_path": ".menu.machine",
"source": {
"line": 161,
"lines": "161-161",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-COPY_FROM_MDI_HISTORY",
"label": "Copy from MDI history",
"menu_path": ".menu.machine",
"source": {
"line": 165,
"lines": "165-165",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-PASTE_TO_MDI_HISTORY",
"label": "Paste to MDI history",
"menu_path": ".menu.machine",
"source": {
"line": 169,
"lines": "169-169",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-CALIBRATION",
"label": "Calibration",
"menu_path": ".menu.machine",
"source": {
"line": 175,
"lines": "175-175",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-SHOW_HAL_CONFIGURATION",
"label": "Show Hal Configuration",
"menu_path": ".menu.machine",
"source": {
"line": 179,
"lines": "179-179",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-HAL_METER",
"label": "Hal Meter",
"menu_path": ".menu.machine",
"source": {
"line": 183,
"lines": "183-183",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-HAL_SCOPE",
"label": "Hal Scope",
"menu_path": ".menu.machine",
"source": {
"line": 187,
"lines": "187-187",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-SHOW_LINUXCNC_STATUS",
"label": "Show LinuxCNC Status",
"menu_path": ".menu.machine",
"source": {
"line": 191,
"lines": "191-191",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-SET_DEBUG_LEVEL",
"label": "Set Debug Level",
"menu_path": ".menu.machine",
"source": {
"line": 195,
"lines": "195-195",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-HOMING",
"label": "Homing",
"menu_path": ".menu.machine",
"source": {
"line": 201,
"lines": "201-201",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-UNHOMING",
"label": "Unhoming",
"menu_path": ".menu.machine",
"source": {
"line": 205,
"lines": "205-205",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-ZERO_COORDINATE_SYSTEM",
"label": "Zero coordinate system",
"menu_path": ".menu.machine",
"source": {
"line": 209,
"lines": "209-209",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P1_G54",
"label": "P1 G54",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 213,
"lines": "213-213",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P2_G55",
"label": "P2 G55",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 217,
"lines": "217-217",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P3_G56",
"label": "P3 G56",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 221,
"lines": "221-221",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P4_G57",
"label": "P4 G57",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 225,
"lines": "225-225",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P5_G58",
"label": "P5 G58",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 229,
"lines": "229-229",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P6_G59",
"label": "P6 G59",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 233,
"lines": "233-233",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P7_G59_1",
"label": "P7 G59.1",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 237,
"lines": "237-237",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P8_G59_2",
"label": "P8 G59.2",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 241,
"lines": "241-241",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-P9_G59_3",
"label": "P9 G59.3",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 245,
"lines": "245-245",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE_CLEAROFFSET-G92",
"label": "G92",
"menu_path": ".menu.machine.clearoffset",
"source": {
"line": 249,
"lines": "249-249",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-TOOL_TOUCH_OFF_TO_WORKPIECE",
"label": "Tool touch off to workpiece",
"menu_path": ".menu.machine",
"source": {
"line": 257,
"lines": "257-257",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MACHINE-TOOL_TOUCH_OFF_TO_FIXTURE",
"label": "Tool touch off to fixture",
"menu_path": ".menu.machine",
"source": {
"line": 263,
"lines": "263-263",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-TOP_VIEW",
"label": "Top view",
"menu_path": ".menu.view",
"source": {
"line": 271,
"lines": "271-271",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-ROTATED_TOP_VIEW",
"label": "Rotated Top view",
"menu_path": ".menu.view",
"source": {
"line": 278,
"lines": "278-278",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SIDE_VIEW",
"label": "Side view",
"menu_path": ".menu.view",
"source": {
"line": 285,
"lines": "285-285",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-FRONT_VIEW",
"label": "Front view",
"menu_path": ".menu.view",
"source": {
"line": 292,
"lines": "292-292",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-PERSPECTIVE_VIEW",
"label": "Perspective view",
"menu_path": ".menu.view",
"source": {
"line": 299,
"lines": "299-299",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-DISPLAY_INCHES",
"label": "Display Inches",
"menu_path": ".menu.view",
"source": {
"line": 308,
"lines": "308-308",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-DISPLAY_MM",
"label": "Display MM",
"menu_path": ".menu.view",
"source": {
"line": 315,
"lines": "315-315",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_PROGRAM",
"label": "Show program",
"menu_path": ".menu.view",
"source": {
"line": 322,
"lines": "322-322",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_PROGRAM_RAPIDS",
"label": "Show program rapids",
"menu_path": ".menu.view",
"source": {
"line": 327,
"lines": "327-327",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-ALPHA_BLEND_PROGRAM",
"label": "Alpha-blend program",
"menu_path": ".menu.view",
"source": {
"line": 332,
"lines": "332-332",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_LIVE_PLOT",
"label": "Show live plot",
"menu_path": ".menu.view",
"source": {
"line": 337,
"lines": "337-337",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_TOOL",
"label": "Show tool",
"menu_path": ".menu.view",
"source": {
"line": 342,
"lines": "342-342",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_EXTENTS",
"label": "Show extents",
"menu_path": ".menu.view",
"source": {
"line": 347,
"lines": "347-347",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-GRID",
"label": "Grid",
"menu_path": ".menu.view",
"source": {
"line": 351,
"lines": "351-351",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_OFFSETS",
"label": "Show offsets",
"menu_path": ".menu.view",
"source": {
"line": 356,
"lines": "356-356",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_MACHINE_LIMITS",
"label": "Show machine limits",
"menu_path": ".menu.view",
"source": {
"line": 361,
"lines": "361-361",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_VELOCITY",
"label": "Show velocity",
"menu_path": ".menu.view",
"source": {
"line": 366,
"lines": "366-366",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_DISTANCE_TO_GO",
"label": "Show distance to go",
"menu_path": ".menu.view",
"source": {
"line": 371,
"lines": "371-371",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-LARGE_COORDINATE_FONT",
"label": "Large coordinate font",
"menu_path": ".menu.view",
"source": {
"line": 376,
"lines": "376-376",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-CLEAR_LIVE_PLOT",
"label": "Clear live plot",
"menu_path": ".menu.view",
"source": {
"line": 381,
"lines": "381-381",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_PYVCP_PANEL",
"label": "Show PyVCP panel",
"menu_path": ".menu.view",
"source": {
"line": 387,
"lines": "387-387",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_COMMANDED_POSITION",
"label": "Show commanded position",
"menu_path": ".menu.view",
"source": {
"line": 396,
"lines": "396-396",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_ACTUAL_POSITION",
"label": "Show actual position",
"menu_path": ".menu.view",
"source": {
"line": 403,
"lines": "403-403",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_MACHINE_POSITION",
"label": "Show machine position",
"menu_path": ".menu.view",
"source": {
"line": 412,
"lines": "412-412",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-SHOW_RELATIVE_POSITION",
"label": "Show relative position",
"menu_path": ".menu.view",
"source": {
"line": 419,
"lines": "419-419",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-JOINT_MODE",
"label": "Joint mode",
"menu_path": ".menu.view",
"source": {
"line": 428,
"lines": "428-428",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW-WORLD_MODE",
"label": "World mode",
"menu_path": ".menu.view",
"source": {
"line": 435,
"lines": "435-435",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW_GRID-OFF",
"label": "Off",
"menu_path": ".menu.view.grid",
"source": {
"line": 443,
"lines": "443-443",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-VIEW_GRID-CUSTOM",
"label": "Custom",
"menu_path": ".menu.view.grid",
"source": {
"line": 449,
"lines": "449-449",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-HELP-ABOUT_AXIS",
"label": "About AXIS",
"menu_path": ".menu.help",
"source": {
"line": 460,
"lines": "460-460",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-HELP-QUICK_REFERENCE",
"label": "Quick Reference",
"menu_path": ".menu.help",
"source": {
"line": 464,
"lines": "464-464",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MENU-FILE",
"label": "File",
"menu_path": ".menu",
"source": {
"line": 470,
"lines": "470-470",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MENU-MACHINE",
"label": "Machine",
"menu_path": ".menu",
"source": {
"line": 474,
"lines": "474-474",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MENU-VIEW",
"label": "View",
"menu_path": ".menu",
"source": {
"line": 478,
"lines": "478-478",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-MENU-HELP",
"label": "Help",
"menu_path": ".menu",
"source": {
"line": 482,
"lines": "482-482",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
},
{
"category": "menu",
"control_id": "AXIS-MENU-FILE_RECENT-CLEAR_RECENTS_LIST",
"label": "Clear Recents List",
"menu_path": ".menu.file.recent",
"source": {
"line": 2230,
"lines": "2230-2230",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl menu accelerator"
}
}
],
"panels": [
{
"category": "panel",
"control_id": "AXIS-PANEL-MANUAL",
"panel": "MANUAL",
"source": [
{
"line": 820,
"lines": "820-820",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "Manual notebook tab"
},
{
"line": 2574,
"lines": "2574-2574",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "ensure_manual"
}
]
},
{
"category": "panel",
"control_id": "AXIS-PANEL-MDI",
"panel": "MDI",
"source": [
{
"line": 821,
"lines": "821-821",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "MDI notebook tab"
},
{
"line": 2587,
"lines": "2587-2587",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "ensure_mdi"
}
]
},
{
"category": "panel",
"control_id": "AXIS-PANEL-AUTO",
"note": "AXIS uses the shared program pane; it has no separate Auto notebook tab.",
"panel": "AUTO",
"source": [
{
"line": 120,
"lines": "120-120",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "Auto program menu"
},
{
"line": 2343,
"lines": "2343-2343",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "task_run"
}
]
},
{
"category": "panel",
"control_id": "AXIS-PANEL-DRO",
"panel": "DRO",
"source": [
{
"line": 1296,
"lines": "1296-1296",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "DRO notebook"
},
{
"line": 1331,
"lines": "1331-1331",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "position label"
},
{
"line": 1967,
"lines": "1967-1967",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "state projection"
}
]
},
{
"category": "panel",
"control_id": "AXIS-PANEL-DIAGNOSTICS",
"panel": "DIAGNOSTICS",
"source": [
{
"line": 1356,
"lines": "1356-1356",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "program text editor"
},
{
"line": 1387,
"lines": "1387-1387",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "active G-code display"
},
{
"line": 1978,
"lines": "1978-1978",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "interpreter state"
}
]
}
],
"shortcuts": [
{
"category": "shortcut",
"command": "cancel_open",
"control_id": "AXIS-SHORTCUT-ESCAPE-CANCEL_OPEN",
"key": "<Escape>",
"source": {
"line": 1229,
"lines": "1229-1229",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_stop",
"control_id": "AXIS-SHORTCUT-ESCAPE-COMMANDS_TASK_STOP",
"key": "<Escape>",
"source": {
"line": 3109,
"lines": "3109-3109",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_override_limits",
"control_id": "AXIS-SHORTCUT-L-COMMANDS_TOGGLE_OVERRIDE_LIMITS",
"key": "l",
"source": {
"line": 3110,
"lines": "3110-3110",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.open_file",
"control_id": "AXIS-SHORTCUT-O-COMMANDS_OPEN_FILE",
"key": "o",
"source": {
"line": 3111,
"lines": "3111-3111",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_resume",
"control_id": "AXIS-SHORTCUT-S-COMMANDS_TASK_RESUME",
"key": "s",
"source": {
"line": 3112,
"lines": "3112-3112",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_step",
"control_id": "AXIS-SHORTCUT-T-COMMANDS_TASK_STEP",
"key": "t",
"source": {
"line": 3113,
"lines": "3113-3113",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_pause",
"control_id": "AXIS-SHORTCUT-P-COMMANDS_TASK_PAUSE",
"key": "p",
"source": {
"line": 3114,
"lines": "3114-3114",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_reverse",
"control_id": "AXIS-SHORTCUT-R-COMMANDS_TASK_REVERSE",
"key": "R",
"source": {
"line": 3115,
"lines": "3115-3115",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_forward",
"control_id": "AXIS-SHORTCUT-F-COMMANDS_TASK_FORWARD",
"key": "F",
"source": {
"line": 3116,
"lines": "3116-3116",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.cycle_view",
"control_id": "AXIS-SHORTCUT-V-COMMANDS_CYCLE_VIEW",
"key": "v",
"source": {
"line": 3117,
"lines": "3117-3117",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "#nothing",
"control_id": "AXIS-SHORTCUT-ALT_P-NOTHING",
"key": "<Alt-p>",
"source": {
"line": 3118,
"lines": "3118-3118",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.task_run",
"control_id": "AXIS-SHORTCUT-R-COMMANDS_TASK_RUN",
"key": "r",
"source": {
"line": 3119,
"lines": "3119-3119",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.reload_file",
"control_id": "AXIS-SHORTCUT-CONTROL_R-COMMANDS_RELOAD_FILE",
"key": "<Control-r>",
"source": {
"line": 3120,
"lines": "3120-3120",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.save_gcode",
"control_id": "AXIS-SHORTCUT-CONTROL_S-COMMANDS_SAVE_GCODE",
"key": "<Control-s>",
"source": {
"line": 3121,
"lines": "3121-3121",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.estop_clicked",
"control_id": "AXIS-SHORTCUT-KEY_F1-COMMANDS_ESTOP_CLICKED",
"key": "<Key-F1>",
"source": {
"line": 3122,
"lines": "3122-3122",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.onoff_clicked",
"control_id": "AXIS-SHORTCUT-KEY_F2-COMMANDS_ONOFF_CLICKED",
"key": "<Key-F2>",
"source": {
"line": 3123,
"lines": "3123-3123",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.mist_toggle",
"control_id": "AXIS-SHORTCUT-KEY_F7-COMMANDS_MIST_TOGGLE",
"key": "<Key-F7>",
"source": {
"line": 3124,
"lines": "3124-3124",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.flood_toggle",
"control_id": "AXIS-SHORTCUT-KEY_F8-COMMANDS_FLOOD_TOGGLE",
"key": "<Key-F8>",
"source": {
"line": 3125,
"lines": "3125-3125",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.spindle_forward_toggle",
"control_id": "AXIS-SHORTCUT-KEY_F9-COMMANDS_SPINDLE_FORWARD_TOGGLE",
"key": "<Key-F9>",
"source": {
"line": 3126,
"lines": "3126-3126",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.spindle_backward_toggle",
"control_id": "AXIS-SHORTCUT-KEY_F10-COMMANDS_SPINDLE_BACKWARD_TOGGLE",
"key": "<Key-F10>",
"source": {
"line": 3127,
"lines": "3127-3127",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.spindle_decrease",
"control_id": "AXIS-SHORTCUT-KEY_F11-COMMANDS_SPINDLE_DECREASE",
"key": "<Key-F11>",
"source": {
"line": 3128,
"lines": "3128-3128",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.spindle_increase",
"control_id": "AXIS-SHORTCUT-KEY_F12-COMMANDS_SPINDLE_INCREASE",
"key": "<Key-F12>",
"source": {
"line": 3129,
"lines": "3129-3129",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.brake_on",
"control_id": "AXIS-SHORTCUT-B-COMMANDS_BRAKE_ON",
"key": "B",
"source": {
"line": 3130,
"lines": "3130-3130",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.brake_off",
"control_id": "AXIS-SHORTCUT-B-COMMANDS_BRAKE_OFF",
"key": "b",
"source": {
"line": 3131,
"lines": "3131-3131",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.clear_live_plot",
"control_id": "AXIS-SHORTCUT-CONTROL_K-COMMANDS_CLEAR_LIVE_PLOT",
"key": "<Control-k>",
"source": {
"line": 3132,
"lines": "3132-3132",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "x",
"control_id": "AXIS-SHORTCUT-X-X",
"key": "x",
"source": {
"line": 3136,
"lines": "3136-3136",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "y",
"control_id": "AXIS-SHORTCUT-Y-Y",
"key": "y",
"source": {
"line": 3137,
"lines": "3137-3137",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "z",
"control_id": "AXIS-SHORTCUT-Z-Z",
"key": "z",
"source": {
"line": 3138,
"lines": "3138-3138",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "a",
"control_id": "AXIS-SHORTCUT-A-A",
"key": "a",
"source": {
"line": 3139,
"lines": "3139-3139",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(0",
"control_id": "AXIS-SHORTCUT-UNNAMED-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_0",
"key": "`",
"source": {
"line": 3142,
"lines": "3142-3142",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(1",
"control_id": "AXIS-SHORTCUT-1-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_1",
"key": "1",
"source": {
"line": 3143,
"lines": "3143-3143",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(2",
"control_id": "AXIS-SHORTCUT-2-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_2",
"key": "2",
"source": {
"line": 3144,
"lines": "3144-3144",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(3",
"control_id": "AXIS-SHORTCUT-3-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_3",
"key": "3",
"source": {
"line": 3145,
"lines": "3145-3145",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(4",
"control_id": "AXIS-SHORTCUT-4-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_4",
"key": "4",
"source": {
"line": 3146,
"lines": "3146-3146",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(5",
"control_id": "AXIS-SHORTCUT-5-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_5",
"key": "5",
"source": {
"line": 3147,
"lines": "3147-3147",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(6",
"control_id": "AXIS-SHORTCUT-6-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_6",
"key": "6",
"source": {
"line": 3148,
"lines": "3148-3148",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(7",
"control_id": "AXIS-SHORTCUT-7-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_7",
"key": "7",
"source": {
"line": 3149,
"lines": "3149-3149",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(8",
"control_id": "AXIS-SHORTCUT-8-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_8",
"key": "8",
"source": {
"line": 3150,
"lines": "3150-3150",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(9",
"control_id": "AXIS-SHORTCUT-9-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_9",
"key": "9",
"source": {
"line": 3151,
"lines": "3151-3151",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: activate_ja_widget_or_set_feedrate(10",
"control_id": "AXIS-SHORTCUT-0-LAMBDA_EVENT_ACTIVATE_JA_WIDGET_OR_SET_FEEDRATE_10",
"key": "0",
"source": {
"line": 3152,
"lines": "3152-3152",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: jogspeed_continuous(",
"control_id": "AXIS-SHORTCUT-C-LAMBDA_EVENT_JOGSPEED_CONTINUOUS",
"key": "c",
"source": {
"line": 3154,
"lines": "3154-3154",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: widgets.rotate.invoke(",
"control_id": "AXIS-SHORTCUT-D-LAMBDA_EVENT_WIDGETS_ROTATE_INVOKE",
"key": "d",
"source": {
"line": 3155,
"lines": "3155-3155",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: jogspeed_incremental(",
"control_id": "AXIS-SHORTCUT-I-LAMBDA_EVENT_JOGSPEED_INCREMENTAL",
"key": "i",
"source": {
"line": 3156,
"lines": "3156-3156",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: jogspeed_incremental(-1",
"control_id": "AXIS-SHORTCUT-I-LAMBDA_EVENT_JOGSPEED_INCREMENTAL_1",
"key": "I",
"source": {
"line": 3157,
"lines": "3157-3157",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "set metric [expr {!$metric}]; redraw",
"control_id": "AXIS-SHORTCUT-UNNAMED-SET_METRIC_EXPR_METRIC_REDRAW",
"key": "!",
"source": {
"line": 3158,
"lines": "3158-3158",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_display_type",
"control_id": "AXIS-SHORTCUT-UNNAMED-COMMANDS_TOGGLE_DISPLAY_TYPE",
"key": "@",
"source": {
"line": 3159,
"lines": "3159-3159",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_coord_type",
"control_id": "AXIS-SHORTCUT-UNNAMED-COMMANDS_TOGGLE_COORD_TYPE",
"key": "#",
"source": {
"line": 3160,
"lines": "3160-3160",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_teleop_mode",
"control_id": "AXIS-SHORTCUT-UNNAMED-COMMANDS_TOGGLE_TELEOP_MODE",
"key": "$",
"source": {
"line": 3161,
"lines": "3161-3161",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.home_joint",
"control_id": "AXIS-SHORTCUT-HOME-COMMANDS_HOME_JOINT",
"key": "<Home>",
"source": {
"line": 3163,
"lines": "3163-3163",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KP_HOME-KEYPRESS",
"key": "<KP_Home>",
"source": {
"line": 3164,
"lines": "3164-3164",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.home_all_joints",
"control_id": "AXIS-SHORTCUT-CONTROL_HOME-COMMANDS_HOME_ALL_JOINTS",
"key": "<Control-Home>",
"source": {
"line": 3165,
"lines": "3165-3165",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.set_axis_offset",
"control_id": "AXIS-SHORTCUT-SHIFT_HOME-COMMANDS_SET_AXIS_OFFSET",
"key": "<Shift-Home>",
"source": {
"line": 3166,
"lines": "3166-3166",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.touch_off_system",
"control_id": "AXIS-SHORTCUT-END-COMMANDS_TOUCH_OFF_SYSTEM",
"key": "<End>",
"source": {
"line": 3167,
"lines": "3167-3167",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.touch_off_tool",
"control_id": "AXIS-SHORTCUT-CONTROL_END-COMMANDS_TOUCH_OFF_TOOL",
"key": "<Control-End>",
"source": {
"line": 3168,
"lines": "3168-3168",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-CONTROL_KP_HOME-KEYPRESS",
"key": "<Control-KP_Home>",
"source": {
"line": 3169,
"lines": "3169-3169",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-SHIFT_KP_HOME-KEYPRESS",
"key": "<Shift-KP_Home>",
"source": {
"line": 3170,
"lines": "3170-3170",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KP_END-KEYPRESS",
"key": "<KP_End>",
"source": {
"line": 3171,
"lines": "3171-3171",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_S-KEYPRESS",
"key": "<KeyPress-%s>",
"source": {
"line": 3320,
"lines": "3320-3320",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_S-KEYPRESS-2",
"key": "<KeyPress-%s>",
"source": {
"line": 3321,
"lines": "3321-3321",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "-get_max_jog_speed_map(d",
"control_id": "AXIS-SHORTCUT-SHIFT_KEYPRESS_S-GET_MAX_JOG_SPEED_MAP_D",
"key": "<Shift-KeyPress-%s>",
"source": {
"line": 3322,
"lines": "3322-3322",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "get_max_jog_speed_map(d",
"control_id": "AXIS-SHORTCUT-SHIFT_KEYPRESS_S-GET_MAX_JOG_SPEED_MAP_D-2",
"key": "<Shift-KeyPress-%s>",
"source": {
"line": 3323,
"lines": "3323-3323",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda e: jog_off_map(d",
"control_id": "AXIS-SHORTCUT-KEYRELEASE_S-LAMBDA_E_JOG_OFF_MAP_D",
"key": "<KeyRelease-%s>",
"source": {
"line": 3324,
"lines": "3324-3324",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda e: jog_off_map(d",
"control_id": "AXIS-SHORTCUT-KEYRELEASE_S-LAMBDA_E_JOG_OFF_MAP_D-2",
"key": "<KeyRelease-%s>",
"source": {
"line": 3325,
"lines": "3325-3325",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": ".",
"control_id": "AXIS-SHORTCUT-FOCUSOUT-UNNAMED",
"key": "<FocusOut>",
"source": {
"line": 3327,
"lines": "3327-3327",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_KP_BEGIN-KEYPRESS",
"key": "<KeyPress-KP_Begin>",
"source": {
"line": 3731,
"lines": "3731-3731",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_KP_INSERT-KEYPRESS",
"key": "<KeyPress-KP_Insert>",
"source": {
"line": 3732,
"lines": "3732-3732",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_KP_NEXT-KEYPRESS",
"key": "<KeyPress-KP_Next>",
"source": {
"line": 3771,
"lines": "3771-3771",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "KeyPress",
"control_id": "AXIS-SHORTCUT-KEYPRESS_KP_PRIOR-KEYPRESS",
"key": "<KeyPress-KP_Prior>",
"source": {
"line": 3772,
"lines": "3772-3772",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "nomodifier(commands.jog_minus",
"control_id": "AXIS-SHORTCUT-KEYPRESS_MINUS-NOMODIFIER_COMMANDS_JOG_MINUS",
"key": "<KeyPress-minus>",
"source": {
"line": 3774,
"lines": "3774-3774",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "nomodifier(commands.jog_plus",
"control_id": "AXIS-SHORTCUT-KEYPRESS_EQUAL-NOMODIFIER_COMMANDS_JOG_PLUS",
"key": "<KeyPress-equal>",
"source": {
"line": 3775,
"lines": "3775-3775",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.jog_stop",
"control_id": "AXIS-SHORTCUT-KEYRELEASE_MINUS-COMMANDS_JOG_STOP",
"key": "<KeyRelease-minus>",
"source": {
"line": 3776,
"lines": "3776-3776",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.jog_stop",
"control_id": "AXIS-SHORTCUT-KEYRELEASE_EQUAL-COMMANDS_JOG_STOP",
"key": "<KeyRelease-equal>",
"source": {
"line": 3777,
"lines": "3777-3777",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": ".tabs raise manual",
"control_id": "AXIS-SHORTCUT-KEY_F3-TABS_RAISE_MANUAL",
"key": "<Key-F3>",
"source": {
"line": 3854,
"lines": "3854-3854",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": ".tabs raise mdi",
"control_id": "AXIS-SHORTCUT-KEY_F5-TABS_RAISE_MDI",
"key": "<Key-F5>",
"source": {
"line": 3855,
"lines": "3855-3855",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "+",
"control_id": "AXIS-SHORTCUT-KEY_F5-UNNAMED",
"key": "<Key-F5>",
"source": {
"line": 3856,
"lines": "3856-3856",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.next_tab",
"control_id": "AXIS-SHORTCUT-KEY_F4-COMMANDS_NEXT_TAB",
"key": "<Key-F4>",
"source": {
"line": 3857,
"lines": "3857-3857",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.toggle_show_pyvcppanel",
"control_id": "AXIS-SHORTCUT-CONTROL_E-COMMANDS_TOGGLE_SHOW_PYVCPPANEL",
"key": "<Control-e>",
"source": {
"line": 3933,
"lines": "3933-3933",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "lambda event: notifications.clear(",
"control_id": "AXIS-SHORTCUT-CONTROL_SPACE-LAMBDA_EVENT_NOTIFICATIONS_CLEAR",
"key": "<Control-space>",
"source": {
"line": 3968,
"lines": "3968-3968",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "\"\"",
"control_id": "AXIS-SHORTCUT-UNNAMED-UNSPECIFIED",
"key": "$",
"source": {
"line": 4134,
"lines": "4134-4134",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.set_view_y2",
"control_id": "AXIS-SHORTCUT-V-COMMANDS_SET_VIEW_Y2",
"key": "v",
"source": {
"line": 4140,
"lines": "4140-4140",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "commands.set_view_y",
"control_id": "AXIS-SHORTCUT-V-COMMANDS_SET_VIEW_Y",
"key": "v",
"source": {
"line": 4143,
"lines": "4143-4143",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
},
{
"category": "shortcut",
"command": "\"\"",
"control_id": "AXIS-SHORTCUT-D-UNSPECIFIED",
"key": "d",
"source": {
"line": 4144,
"lines": "4144-4144",
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python keyboard binding"
}
}
],
"toolbar": [
{
"category": "toolbar",
"command": null,
"control_id": "AXIS-TOOLBAR-MACHINE_ESTOP",
"helptext": "Toggle Emergency Stop [F1]",
"image": "tool_estop",
"source": {
"line": 490,
"lines": "490-497",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.machine_estop"
},
{
"category": "toolbar",
"command": "onoff_clicked \\",
"control_id": "AXIS-TOOLBAR-MACHINE_POWER",
"helptext": "Toggle Machine power [F2]",
"image": "tool_power",
"source": {
"line": 498,
"lines": "498-508",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.machine_power"
},
{
"category": "toolbar",
"command": "open_file",
"control_id": "AXIS-TOOLBAR-FILE_OPEN",
"helptext": "Open G-Code file [O]",
"image": "tool_open",
"source": {
"line": 509,
"lines": "509-516",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.file_open"
},
{
"category": "toolbar",
"command": "reload_file",
"control_id": "AXIS-TOOLBAR-RELOAD",
"helptext": "Reopen current file [Ctrl-R]",
"image": "tool_reload",
"source": {
"line": 517,
"lines": "517-526",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.reload"
},
{
"category": "toolbar",
"command": "task_run \\",
"control_id": "AXIS-TOOLBAR-PROGRAM_RUN",
"helptext": "Begin executing current file [R]",
"image": "tool_run",
"source": {
"line": 527,
"lines": "527-534",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_run"
},
{
"category": "toolbar",
"command": "task_step \\",
"control_id": "AXIS-TOOLBAR-PROGRAM_STEP",
"helptext": "Execute next line [T]",
"image": "tool_step",
"source": {
"line": 535,
"lines": "535-542",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_step"
},
{
"category": "toolbar",
"command": "task_pauseresume \\",
"control_id": "AXIS-TOOLBAR-PROGRAM_PAUSE",
"helptext": "Pause [P] / resume [S] execution",
"image": "tool_pause",
"source": {
"line": 543,
"lines": "543-557",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_pause"
},
{
"category": "toolbar",
"command": "task_stop \\",
"control_id": "AXIS-TOOLBAR-PROGRAM_STOP",
"helptext": "Stop program execution [ESC]",
"image": "tool_stop",
"source": {
"line": 558,
"lines": "558-567",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_stop"
},
{
"category": "toolbar",
"command": "set block_delete [expr {!$block_delete",
"control_id": "AXIS-TOOLBAR-PROGRAM_BLOCKDELETE",
"helptext": "Toggle skip lines with '/' [Alt-M /]",
"image": "tool_blockdelete",
"source": {
"line": 568,
"lines": "568-574",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_blockdelete"
},
{
"category": "toolbar",
"command": "set optional_stop [expr {!$optional_stop",
"control_id": "AXIS-TOOLBAR-PROGRAM_OPTPAUSE",
"helptext": "Toggle optional pause [Alt-M 1]",
"image": "tool_optpause",
"source": {
"line": 575,
"lines": "575-583",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.program_optpause"
},
{
"category": "toolbar",
"command": "zoomin \\",
"control_id": "AXIS-TOOLBAR-VIEW_ZOOMIN",
"helptext": "Zoom in",
"image": "tool_zoomin",
"source": {
"line": 584,
"lines": "584-591",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_zoomin"
},
{
"category": "toolbar",
"command": "zoomout \\",
"control_id": "AXIS-TOOLBAR-VIEW_ZOOMOUT",
"helptext": "Zoom out",
"image": "tool_zoomout",
"source": {
"line": 592,
"lines": "592-599",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_zoomout"
},
{
"category": "toolbar",
"command": "set_view_z \\",
"control_id": "AXIS-TOOLBAR-VIEW_Z",
"helptext": "Top view",
"image": "tool_axis_z",
"source": {
"line": 600,
"lines": "600-607",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_z"
},
{
"category": "toolbar",
"command": "set_view_z2 \\",
"control_id": "AXIS-TOOLBAR-VIEW_Z2",
"helptext": "Rotated top view",
"image": "tool_axis_z2",
"source": {
"line": 608,
"lines": "608-615",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_z2"
},
{
"category": "toolbar",
"command": "set_view_x \\",
"control_id": "AXIS-TOOLBAR-VIEW_X",
"helptext": "Side view",
"image": "tool_axis_x",
"source": {
"line": 616,
"lines": "616-623",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_x"
},
{
"category": "toolbar",
"command": "set_view_y \\",
"control_id": "AXIS-TOOLBAR-VIEW_Y",
"helptext": "Front view",
"image": "tool_axis_y",
"source": {
"line": 624,
"lines": "624-631",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_y"
},
{
"category": "toolbar",
"command": "set_view_y2 \\",
"control_id": "AXIS-TOOLBAR-VIEW_Y2",
"helptext": "Inverted Front view",
"image": "tool_axis_y2",
"source": {
"line": 632,
"lines": "632-639",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_y2"
},
{
"category": "toolbar",
"command": "set_view_p \\",
"control_id": "AXIS-TOOLBAR-VIEW_P",
"helptext": "Perspective view",
"image": "tool_axis_p",
"source": {
"line": 640,
"lines": "640-647",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.view_p"
},
{
"category": "toolbar",
"command": "set rotate_mode [expr {!$rotate_mode",
"control_id": "AXIS-TOOLBAR-ROTATE",
"helptext": "Toggle between Drag and Rotate Mode [D]",
"image": "tool_rotate",
"source": {
"line": 648,
"lines": "648-662",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.rotate"
},
{
"category": "toolbar",
"command": "clear_live_plot \\",
"control_id": "AXIS-TOOLBAR-CLEAR_PLOT",
"helptext": "Clear live plot [Ctrl-K]",
"image": "tool_clear",
"source": {
"line": 663,
"lines": "663-682",
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl toolbar"
},
"widget": ".toolbar.clear_plot"
}
]
},
"counts": {
"contract": 187,
"mapping_gaps": 153,
"menus": 80,
"panels": 5,
"react_feature_ids": 29,
"shortcuts": 82,
"toolbar": 20
},
"failure_samples": [
{
"id": "PANEL-01-MENU-ACTION-ID",
"reason": "AXIS menu inventory has per-action stable IDs, but React currently exposes only AXIS-UI-02 on the menu container.",
"source": "linuxcnc/share/axis/tcl/axis.tcl",
"status": "blocked"
},
{
"id": "PANEL-01-AUTO-TAB",
"reason": "AXIS AUTO execution is source-defined, while React has no dedicated Auto tab/control identity.",
"source": "linuxcnc/share/axis/tcl/axis.tcl",
"status": "blocked"
},
{
"id": "PANEL-01-SHORTCUT-CLOSURE",
"reason": "Source keyboard bindings include view, spindle, coolant, jog and touch-off shortcuts that are not all declared in the React keyboard contract.",
"source": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"status": "blocked"
},
{
"feature_ids": [
"AXIS-MACHINE-03"
],
"id": "PANEL-01-REACT-ID-COLLISION",
"reason": "AXIS-MACHINE-03 is reused for reset and program-run controls; stable IDs are not one-to-one.",
"source": "web/react/src/App.tsx",
"status": "blocked"
}
],
"implementation_status": "source_inventory_complete_web_control_mapping_blocked",
"inventory_status": "verified",
"manual_execution": {
"boundary": "manual native GUI evidence supports source control comparison only; it is not a WASM or release-candidate oracle",
"evidence": [
{
"bytes": 170326,
"path": "coverage/panel-01-manual-axis-running.png",
"role": "manual AXIS running DRO/motion",
"sha256": "7acd6aa950c1e35d3ab3a8cde1ed79e0e94d0c6443625da5d440c90075ac5f3b",
"status": "present"
},
{
"bytes": 155222,
"path": "coverage/panel-01-manual-axis-complete.png",
"role": "manual AXIS M2/idle completion",
"sha256": "f3fc1b076d74374b1548a36b50f485a207ff52dee99868f78cf2e9bc612ed1d0",
"status": "present"
}
],
"launcher": "scripts/launch_axis_3dtest_manual.sh",
"samples": {
"boundary": {
"code": "NOT_HOMED",
"message": "Can't run a program when not homed",
"status": "rejected_before_motion"
},
"completion": {
"dro": [
0.0,
0.0,
0.0
],
"highlight_line": 53,
"interp_state": "IDLE",
"program_end": "M2",
"program_end_line": 54
},
"initial": {
"dro": [
0.0,
0.0,
0.0
],
"interp_state": "IDLE"
},
"running": {
"current_line": 6,
"dro": [
25.32,
50.72,
0.0
],
"interp_state": "RUNNING"
}
},
"simulation_only": true,
"state_transitions": [
"ESTOP",
"ESTOP_RESET/OFF",
"ON",
"all three joints homed",
"AUTO/RUNNING",
"AUTO/IDLE at M2"
],
"status": "verified",
"tool_path": "tool/linuxcnc-axis-manual-execution",
"window": {
"class": "axis",
"instance": "Axis",
"size": [
1300,
1297
],
"title": "3dtest.ngc - AXIS 2.10.0~pre1 on 3axis-tutorial"
}
},
"react": {
"dom_ids": [
"axis-panel-dro",
"axis-panel-manual",
"axis-panel-mdi",
"axis-panel-preview",
"axis-program",
"axis-tab-dro",
"axis-tab-manual",
"axis-tab-mdi",
"axis-tab-preview"
],
"feature_ids": [
"AXIS-CTRL-02",
"AXIS-CTRL-03",
"AXIS-EDIT-01",
"AXIS-EDIT-03",
"AXIS-FILE-01",
"AXIS-FILE-02",
"AXIS-FILE-04",
"AXIS-MACHINE-01",
"AXIS-MACHINE-02",
"AXIS-MACHINE-03",
"AXIS-MACHINE-05",
"AXIS-MACHINE-06",
"AXIS-MACHINE-07",
"AXIS-MACHINE-08",
"AXIS-MACHINE-09",
"AXIS-MANUAL-01",
"AXIS-SHELL-01",
"AXIS-UI-01",
"AXIS-UI-02",
"AXIS-UI-05",
"AXIS-UI-06",
"AXIS-UI-07",
"AXIS-VIEW-01",
"AXIS-VIEW-02",
"AXIS-VIEW-03",
"AXIS-VIEW-04",
"AXIS-VIEW-15",
"AXIS-VIEW-17",
"AXIS-VIEW-18"
],
"feature_occurrences": {
"AXIS-CTRL-02": [
77,
77
],
"AXIS-CTRL-03": [
62,
62,
62
],
"AXIS-EDIT-01": [
77,
77,
77,
77
],
"AXIS-EDIT-03": [
175,
175,
175
],
"AXIS-FILE-01": [
174
],
"AXIS-FILE-02": [
174
],
"AXIS-FILE-04": [
174
],
"AXIS-MACHINE-01": [
174
],
"AXIS-MACHINE-02": [
174
],
"AXIS-MACHINE-03": [
174,
174
],
"AXIS-MACHINE-05": [
174
],
"AXIS-MACHINE-06": [
174
],
"AXIS-MACHINE-07": [
174
],
"AXIS-MACHINE-08": [
174
],
"AXIS-MACHINE-09": [
174
],
"AXIS-MANUAL-01": [
50
],
"AXIS-SHELL-01": [
172,
172,
180
],
"AXIS-UI-01": [
171
],
"AXIS-UI-02": [
30,
173
],
"AXIS-UI-05": [
174
],
"AXIS-UI-06": [
176,
176,
176
],
"AXIS-UI-07": [
77,
77,
180,
180
],
"AXIS-VIEW-01": [
174,
174,
174,
174,
174,
174,
174,
174
],
"AXIS-VIEW-02": [
72,
174
],
"AXIS-VIEW-03": [
177,
177
],
"AXIS-VIEW-04": [
72
],
"AXIS-VIEW-15": [
174
],
"AXIS-VIEW-17": [
72,
180
],
"AXIS-VIEW-18": [
72
]
},
"label_sample": [
"label",
"ariaLabel",
"children",
"label",
"children",
"children",
"shortcut && ",
"shortcut",
"axis.toUpperCase()",
"Manual Control",
"[",
"Jog increment",
"Spindle counter-clockwise",
"Spindle clockwise",
"jogSpeed",
"maxVelocity",
"MDI Control",
"history.length ? history.map((line, index) =",
"line",
"DRO",
"labels.slice(0, Math.max(3, axes.length)).map((label, index) =",
"label",
"format(coordType === ",
"format(actual)",
"format(relativeValue)",
"metric ? ",
"coordType",
"G-code program",
"G-code line numbers",
"lines.map((_, index) =",
"index + 1",
"G-code program",
"Active G-Codes",
"diagnostic && ",
"diagnostic",
"state.status.toUpperCase()",
"`Machine $",
"taskState",
"AXIS menu",
"File"
],
"path": "web/react/src/App.tsx",
"sha256": "e81e38a8ea5217e4d02a58642b5a238ab65888eb8ea1403f58700cb85a141b58"
},
"report_sha256": "a508c4bc092a71fe012b404afb1634717f29af5dbf54573674a3b4eeb0638ba7",
"schema": "panel-01-source-control-inventory.v1",
"source": [
{
"bytes": 63423,
"path": "linuxcnc/share/axis/tcl/axis.tcl",
"role": "AXIS Tcl UI",
"sha256": "c9f0b4dc686717b37565f85fb0ab8cc8ded9cfa0028cc0aaaccdbcf808c4c524",
"status": "indexed"
},
{
"bytes": 157381,
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
"role": "AXIS Python command and shortcut implementation",
"sha256": "328c038a1e8fefd952e53c8e398e3fa98b04602351c44318edd1b044e8f63ffa",
"status": "indexed"
},
{
"bytes": 5389,
"path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
"role": "selected 3axis-tutorial INI",
"sha256": "07e4fafa71e13ac3749fd860ee7549b762f521b9ca58c32110a9f582554882dc",
"status": "indexed"
},
{
"bytes": 37270,
"path": "web/react/src/App.tsx",
"role": "React projection/control IDs",
"sha256": "e81e38a8ea5217e4d02a58642b5a238ab65888eb8ea1403f58700cb85a141b58",
"status": "indexed"
}
],
"status": "blocked",
"stop_reason": "SOURCE_CONTROL_MAPPING_BLOCKED: source inventory is complete, but per-action React IDs, Auto panel identity and shortcut closure are not complete; do not promote PANEL-01 or release.",
"task_id": "PANEL-01-SOURCE-CONTROL-INVENTORY"
}