li(id="system-dropdown" class="right") a(class="menu-button" href="#") +navbar_led("link-led", "led-link") +navbar_led("stream-led", "led-stream") +navbar_led("hid-keyboard-led", "led-hid-keyboard") +navbar_led("hid-mouse-led", "led-hid-mouse") span System div(id="system-menu" class="menu") table(class="kv") tr td(class="value") Runtime settings & tools td(id="system-tool-webterm" class="feature-disabled") #[button(data-force-hide-menu data-show-window="webterm-window" class="small") • Term] td(id="system-tool-about") #[button(data-force-hide-menu data-show-window="about-window" class="small") • About] td(id="system-tool-log") #[button(data-force-hide-menu id="open-log-button" class="small") • Log] td(id="system-tool-wol" class="feature-disabled") button(data-force-hide-menu id="gpio-button-__wol__" class="gpio-button small" data-channel="__wol__" data-confirm="Are you sure to send Wake-on-LAN packet to the server?") • WoL hr div(id="stream-message-no-webrtc" class="hidden") +menu_message("warning", "WebRTC is not supported by this browser") hr div(id="stream-message-no-h264" class="hidden") +menu_message("warning", "H.264 is not supported by this browser") hr table(class="kv") tr(id="stream-resolution" class="feature-disabled") td Resolution: td #[select(disabled id="stream-resolution-selector")] tr(id="stream-quality" class="feature-disabled") td JPEG quality: td(class="value-slider") #[input(disabled type="range" id="stream-quality-slider" class="slider")] td(id="stream-quality-value" class="value-number") tr td JPEG max fps: td(class="value-slider") #[input(disabled type="range" id="stream-desired-fps-slider" class="slider")] td(id="stream-desired-fps-value" class="value-number") tr(id="stream-h264-bitrate" class="feature-disabled") td H.264 kbps: td(class="value-slider") #[input(disabled type="range" id="stream-h264-bitrate-slider" class="slider")] td(id="stream-h264-bitrate-value" class="value-number") tr(id="stream-h264-gop" class="feature-disabled") td H.264 #[a(target="_blank" href="https://docs.pikvm.org/webrtc") gop]: td(class="value-slider") #[input(disabled type="range" id="stream-h264-gop-slider" class="slider")] td(id="stream-h264-gop-value" class="value-number") tr(id="stream-mode" class="feature-disabled") td Video #[a(target="_blank" href="https://docs.pikvm.org/webrtc") mode]: td div(class="radio-box") input(checked type="radio" id="stream-mode-radio-mjpeg" name="stream-mode-radio" value="mjpeg") label(for="stream-mode-radio-mjpeg") MJPEG / HTTP input(type="radio" id="stream-mode-radio-janus" name="stream-mode-radio" value="janus") label(for="stream-mode-radio-janus") H.264 / WebRTC tr(id="stream-audio", class="feature-disabled") td Audio volume: td(class="value-slider") #[input(type="range" id="stream-audio-volume-slider" class="slider")] td(id="stream-audio-volume-value" class="value-number") hr div(class="buttons buttons-row") button(data-force-hide-menu data-show-window="stream-window" class="row33") • Show stream button(disabled data-force-hide-menu id="stream-screenshot-button" class="row33") • Screenshot button(disabled id="stream-reset-button" class="row33") Reset stream div(id="hid-outputs" class="feature-disabled") hr table(class="kv") tr(id="hid-outputs-keyboard", class="feature-disabled") td Keyboard mode: td #[div(id="hid-outputs-keyboard-box" class="radio-box")] tr(id="hid-outputs-mouse", class="feature-disabled") td Mouse #[a(target="_blank" href="https://docs.pikvm.org/mouse") mode]: td #[div(id="hid-outputs-mouse-box" class="radio-box")] details summary Keyboard & Mouse (HID) settings div(class="spoiler") table(class="kv") tr +menu_switch_notable("hid-keyboard-swap-cc-switch", "Swap Left Ctrl and Caps keys", true, false) hr table(class="kv") tr td Mouse polling: td(class="value-slider") #[input(type="range" id="hid-mouse-rate-slider" class="slider")] td(id="hid-mouse-rate-value" class="value-number") tr(id="hid-mouse-sens" class="feature-disabled") td Relative sensitivity: td(class="value-slider") #[input(disabled type="range" id="hid-mouse-sens-slider" class="slider")] td(id="hid-mouse-sens-value" class="value-number") tr(id="hid-mouse-squash" class="feature-disabled") +menu_switch_notable("hid-mouse-squash-switch", "Squash relative moves", true, true) tr td Reverse scrolling: td table tr +menu_switch_notable("hid-mouse-reverse-scrolling-switch", "Y", true, false) td    +menu_switch_notable("hid-mouse-reverse-panning-switch", "X", true, false) tr +menu_switch_notable("hid-mouse-cumulative-scrolling-switch", "Cumulative scrolling", true, false) tr td Scroll rate: td(class="value-slider") #[input(type="range" id="hid-mouse-scroll-slider" class="slider")] td(id="hid-mouse-scroll-value" class="value-number") tr +menu_switch_notable("hid-mouse-dot-switch", "Show the blue dot", true, true) table(class="kv") tr(id="hid-connect" class="feature-disabled") +menu_switch_notable("hid-connect-switch", "Connect HID to Server", true, true) tr(id="hid-jiggler" class="feature-disabled") +menu_switch_notable("hid-jiggler-switch", "Mouse jiggler", false, false) tr +menu_switch_notable("hid-mute-switch", "Mute HID input events", true, false) tr(id="v3-usb-breaker" class="feature-disabled") +menu_switch_notable_gpio("__v3_usb_breaker__", "Connect main USB to Server", "Turning off this switch will disconnect the main USB
from the server. Are you sure you want to continue?") tr(id="v4-locator" class="feature-disabled") +menu_switch_notable_gpio("__v4_locator__", "Enable locator LED") tr +menu_switch_notable("page-close-ask-switch", "Ask page close confirmation", true, true) hr div(class="buttons buttons-row") button(data-force-hide-menu data-show-window="keyboard-window" class="row50") • Show keyboard button(disabled id="hid-reset-button" class="row50") Reset HID