KlipperScreen Extended Functions
Method to Enable Mouse Cursor in KlipperScreen
- Open the
KlipperScreen.conffile in the printer configuration. This file is usually automatically generated after installing KlipperScreen. If it does not exist, create it manually.
- Add the following code to the top of the configuration.
[main]
show_cursor: True
- Save and restart.
Remotely Connecting to Other Host Computers
- Open
KlipperScreen.confin the printer configuration.
- Add the code below to the top of the configuration.
- You can modify
<printer_name>for the printer name and<moonraker_host>for the target machine IP address. - The first
[printer <printer_name>]is used to connect to the remotely extended machine, through which you can debug or shut down via this configuration. - The second
[printer KlipperScreen]points to the local machine (127.0.0.1), and can be kept as default.
Please ensure that both devices are on the same local network.
[printer <printer_name>]
moonraker_host: <moonraker_host>
moonraker_port: 7125
moonraker_api_key: False
[printer KlipperScreen]
moonraker_host: 127.0.0.1
moonraker_port: 7125
moonraker_api_key: False
Language Settings
KlipperScreen supports 32 interface languages, which can be switched directly on the screen; system_lang in the list means following the system language.
Switching on the Screen
Go to Settings → Language and select; the interface refreshes immediately after switching, no restart required. The image below uses the English interface as an example:
The language list is arranged by code; select zh_CN for Simplified Chinese and zh_TW for Traditional Chinese:
After switching language, theme, and other options on the screen, KlipperScreen writes the current values to the auto-generated section at the bottom of KlipperScreen.conf, after #~# --- Do not edit below this line ---. This section is read after the configuration file and has higher priority.
If the interface does not change after manually modifying language, check whether there is #~# language: ... at the bottom of the file: if so, change it to the target language, or delete that line and restart.
Supported Languages
| Code | Language | Code | Language |
|---|---|---|---|
ar | Arabic | bg | Bulgarian |
cs | Czech | da | Danish |
de | German | de_formal | German (formal) |
en | English | es | Spanish |
et | Estonian | fa | Persian |
fr | French | he | Hebrew |
hr | Croatian | hu | Hungarian |
it | Italian | jp | Japanese |
ko | Korean | lt | Lithuanian |
nl | Dutch | pl | Polish |
pt | Portuguese | pt_BR | Portuguese (Brazil) |
rs | Serbian | ru | Russian |
sk | Slovak | sl | Slovenian |
sv | Swedish | tr | Turkish |
uk | Ukrainian | vi | Vietnamese |
zh_CN | Simplified Chinese | zh_TW | Traditional Chinese |
Japanese uses jp instead of ja; de_formal is formal German.
Hiding a menu option
Menu items are defined by [menu ...] sections in KlipperScreen.conf, with spaces in the section name indicating hierarchy. For example, the main menu More → Z Calibrate corresponds to:
[menu __main more zoffset]
name: {{ gettext('Z Calibrate') }}
icon: z-farther
panel: zcalibrate
To hide it, append a section with the same name in KlipperScreen.conf and specify only enable:
[menu __main more zoffset]
enable: False
- The user configuration is merged with the built-in menu, so
name,icon, andpaneldo not need to be repeated; onlyenableneeds to be overridden. - The section name must exactly match the built-in menu (
__maincannot be written asmain; neither case nor hierarchy may change). An incorrect section name will not override the original option and may additionally create a nameless menu item, causing the menu panel to display abnormally. - After saving, restart KlipperScreen:
sudo systemctl restart klipperscreen
Conditional hiding
enable supports Jinja2 expressions, allowing automatic showing or hiding based on printer configuration or status:
[menu __main more bedmesh]
enable: {{ 'bed_mesh' in printer.config_sections }}
[menu __main more fan]
enable: {{ printer.fans.count > 0 }}
Common variables:
| Variable | Meaning |
|---|---|
printer.config_sections | List of section names configured in printer.cfg |
printer.gcode_macros.list | List of defined G-code macro names |
printer.extruders.count | Number of extruders |
printer.fans.count | Number of fans |
printer.leds.count | Number of LEDs |
moonraker.cameras.count | Number of cameras |
moonraker.power_devices.count | Number of power devices |
FlyOS additionally provides flylcd_exists (whether a Fly-LCD is connected), wifi_exists (whether a wireless network card is present), and oem_name (OEM name).
Hiding an entire submenu
Set the parent menu's enable to False to hide the entire submenu. For example, to hide the More menu:
[menu __main more]
enable: False
List of built-in menu section names
The table below lists all built-in KlipperScreen menu items in alphabetical order by section name: __main is the main menu, __print is the printing menu, __splashscreen is the splash screen, and move homing is the homing submenu of the move menu. The three root nodes [menu __main], [menu __print], and [menu __splashscreen] are not listed as hideable items; the Chinese names are taken from the zh_CN language pack, and the corresponding translations will be displayed when switching to other interface languages.
| Section name | Menu item | Chinese name |
|---|---|---|
[menu __main extrude] | Extrude | 挤出 |
[menu __main gcodes] | Gcodes | g代码 |
[menu __main more] | More | 更多设置 |
[menu __main more bedlevel] | Bed Level | 热床调平 |
[menu __main more bedmesh] | Bed Mesh | 床网 |
[menu __main more camera] | Camera | 摄像头 |
[menu __main more console] | Console | 控制台 |
[menu __main more fan] | Fan | 风扇 |
[menu __main more fine_tune] | Fine Tuning | 微调 |
[menu __main more fly_lcd] | Display Settings | 屏幕设置 |
[menu __main more input_shaper] | Input Shaper | 共振补偿 |
[menu __main more led] | Leds | 灯珠 |
[menu __main more limits] | Limits | 打印机限制 |
[menu __main more macros] | Macros | 宏 |
[menu __main more network] | Network | 网络 |
[menu __main more notifications] | Notifications | 通知 |
[menu __main more pins] | Pins | 引脚 |
[menu __main more power] | Power | 电源 |
[menu __main more save] | Save Config | 保存配置 |
[menu __main more settings] | KlipperScreen | KlipperScreen |
[menu __main more spoolman] | Spoolman | Spoolman |
[menu __main more system] | System | 系统 |
[menu __main more updater] | Update | 更新 |
[menu __main more zoffset] | Z Calibrate | Z偏移校准 |
[menu __main move] | Move | 移动 |
[menu __main print] | 打印 | |
[menu __main temperature] | Temperature | 温度 |
[menu __print camera] | Camera | 摄像头 |
[menu __print console] | Console | 控制台 |
[menu __print extrude] | Extrude | 挤出 |
[menu __print fan] | Fan | 风扇 |
[menu __print led] | Leds | 灯珠 |
[menu __print limits] | Limits | 打印机限制 |
[menu __print lock] | Lock | 锁定 |
[menu __print macros] | Macros | 宏 |
[menu __print more fly_lcd] | Display Settings | 屏幕设置 |
[menu __print move] | Move | 移动 |
[menu __print network] | Network | 网络 |
[menu __print notifications] | Notifications | 通知 |
[menu __print pins] | Pins | 引脚 |
[menu __print power] | Power | 电源 |
[menu __print settings] | KlipperScreen | KlipperScreen |
[menu __print spoolman] | Spoolman | Spoolman |
[menu __print system] | System | 系统 |
[menu __print temperature] | Temperature | 温度 |
[menu __splashscreen fly_lcd] | Display Settings | 屏幕设置 |
[menu __splashscreen network] | Network | 网络 |
[menu __splashscreen power] | Power | 电源 |
[menu __splashscreen settings] | KlipperScreen | KlipperScreen |
[menu __splashscreen system] | System | 系统 |
[menu __splashscreen updater] | Update | 更新 |
[menu move homing homeall] | Home All | 全部归位 |
[menu move homing homex] | Home X | X轴归位 |
[menu move homing homexy] | Home XY | XY轴归位 |
[menu move homing homey] | Home Y | Y轴归位 |
[menu move homing homez] | Home Z | Z轴归位 |
[menu move homing quad_gantry_level] | Quad Gantry Level | 龙门架调平 |
[menu move homing Z-Tilt] | Z Tilt | Z轴倾斜校准 |
The section names of custom menus are determined by the [menu ...] definitions in KlipperScreen.conf.