li.right#system-dropdown a.menu-button(href="#") +navbar_led("link-led", "led-link") +navbar_led("stream-led", "led-video") +navbar_led("hid-keyboard-led", "led-hid-keyboard") +navbar_led("hid-mouse-led", "led-hid-mouse") span System .menu#system-menu table.kv tr td.value | Runtime settings & tools td.feature-disabled#system-tool-webterm button.small(data-force-hide-menu data-show-window="webterm-window") • Term td#system-tool-about button.small(data-force-hide-menu data-show-window="about-window") • About td#system-tool-log button.small#open-log-button(data-force-hide-menu) • Log td.feature-disabled#system-tool-wol button( data-force-hide-menu class="__gpio-button-__wol__ __gpio-button small" data-channel="__wol__" data-confirm="Are you sure to send Wake-on-LAN packet to the server?" ) • WoL hr .hidden#stream-message-no-webrtc +menu_message("warning", "WebRTC is not supported by this browser") hr .hidden#stream-message-no-vd +menu_message("warning", "Direct H.264 streaming is not supported") hr .hidden#stream-message-no-h264 +menu_message("warning", "H.264 is not supported by this browser") hr table.kv tr.feature-disabled#stream-resolution td Resolution: td #[select#stream-resolution-selector(disabled)] tr.feature-disabled#stream-quality +menu_slider_td3("stream-quality-slider", "stream-quality-value", false) JPEG quality: tr +menu_slider_td3("stream-desired-fps-slider", "stream-desired-fps-value", false) JPEG max fps: tr.feature-disabled#stream-h264-bitrate +menu_slider_td3("stream-h264-bitrate-slider", "stream-h264-bitrate-value", false) H.264 kbps: tr.feature-disabled#stream-h264-gop +menu_slider_td3("stream-h264-gop-slider", "stream-h264-gop-value", false) H.264 gop: tr.feature-disabled#stream-mode +menu_radio_td2("stream-mode-radio", [ {title: "WebRTC
H.264", value: "janus"}, {title: "Direct
H.264", value: "media"}, {title: "Legacy
MJPEG", value: "mjpeg", checked: true}, ]) #[a(target="_blank" href="https://docs.pikvm.org/webrtc") Video mode]: tr.feature-disabled#stream-orient +menu_radio_td2("stream-orient-radio", [ {title: "Default", value: "0", checked: true}, {title: "90°", value: "90"}, {title: "180°", value: "180"}, {title: "270°", value: "270"}, ]) Orientation: tr.feature-disabled#stream-audio +menu_slider_td3("stream-audio-volume-slider", "stream-audio-volume-value") Audio volume: tr.feature-disabled#stream-mic +menu_switch_td2("stream-mic-switch", false, false) Microphone: hr .buttons.buttons-row button.row33(data-force-hide-menu data-show-window="stream-window") • Show stream button.row33#stream-screenshot-button(data-force-hide-menu) • Screenshot button.row33#stream-reset-button Reset stream hr table.kv tr.feature-disabled#hid-outputs-keyboard td Keyboard mode: td #[div.radio-box#hid-outputs-keyboard-box] tr.feature-disabled#hid-outputs-mouse td #[a(target="_blank" href="https://docs.pikvm.org/mouse") Mouse mode]: td #[div.radio-box#hid-outputs-mouse-box] +menu_spoiler("Keyboard & mouse (HID) settings") +menu_switch_table("hid-keyboard-swap-cc-switch", true, false) Swap Left Ctrl and Caps keys: hr table(class="kv") tr +menu_slider_td3("hid-mouse-rate-slider", "hid-mouse-rate-value") Mouse polling: tr.feature-disabled#hid-mouse-sens +menu_slider_td3("hid-mouse-sens-slider", "hid-mouse-sens-value", false) Relative sensitivity: tr(id="hid-mouse-squash" class="feature-disabled") +menu_switch_td2("hid-mouse-squash-switch", true, true) Squash relative moves: tr td Reverse scrolling: td table tr +menu_switch_td2("hid-mouse-reverse-scrolling-switch", true, false) Y: td    +menu_switch_td2("hid-mouse-reverse-panning-switch", true, false) X: tr +menu_switch_td2("hid-mouse-cumulative-scrolling-switch", true, false) Cumulative scrolling: tr +menu_slider_td3("hid-mouse-scroll-slider", "hid-mouse-scroll-value") Scroll rate: tr +menu_switch_td2("hid-mouse-dot-switch", true, true) Show the blue dot: +menu_spoiler("Web UI settings") table.kv tr +menu_switch_td2("page-close-ask-switch", true, true) Ask page close confirmation: tr +menu_switch_td2("page-full-tab-stream-switch", true, false) Expand for the entire tab by default: table.kv tr +menu_switch_td2("hid-keyboard-bad-link-switch", true, false) Bad link mode (release keys immediately): tr.feature-disabled#hid-connect +menu_switch_td2("hid-connect-switch", true, true) Connect HID to Server: tr.feature-disabled#hid-jiggler +menu_switch_td2("hid-jiggler-switch", false, false) | #[a(target="_blank" href="https://docs.pikvm.org/mouse_jiggler") Mouse jiggler]: tr +menu_switch_td2("hid-mute-switch", true, false) Mute all input HID events: tr.feature-disabled#v3-usb-breaker +menu_switch_td2_gpio( "__v3_usb_breaker__", "Turning off this switch will disconnect the main USB from the server. Are you sure you want to continue?" ) Connect main USB to Server: tr.feature-disabled#v4-locator +menu_switch_td2_gpio("__v4_locator__") Enable locator LED: hr .buttons.buttons-row button.row50(data-force-hide-menu data-show-window="keyboard-window") • Show keyboard button.row50#hid-reset-button(disabled) Reset HID