diff --git a/docs/mouse_jiggler.md b/docs/mouse_jiggler.md new file mode 100644 index 0000000..5755d73 --- /dev/null +++ b/docs/mouse_jiggler.md @@ -0,0 +1,51 @@ +# Mouse Jiggler + +The mouse jiggler is a feature used to simulate the movement of a computer mouse. +It prevents sleep mode, standby mode or the screensaver from activating. +It is very useful when some lengthy process is going on on the target host +(for example, installing software), and the user needs to monitor it with his side vision, +without having to move the mouse manually to avoid the screensaver. + +To enable the Jiggler, it is enough to activate the switch in the Web UI: + + + + +----- +## Description of the algorithm + +If the Jiggler is enabled, then PiKVM counts down the time that has elapsed since the last user input: +that is, any action with the keyboard or mouse. If there have been no actions for more than 60 seconds, +the Jiggler performs a mouse movement and waits another 60 seconds until the next iteration. + +The Jiggler supports both [mouse modes](mouse.md): absolute and relative. + +Movement patterns are deterministic: +* Absolute: `(-100, -100), wait, (100, 100), wait...` (the coordinates are converted depending on the screen resolution). +* Relative: `(-10, -10), wait, (10, 10), wait...`. + +The Jiggler works on the PiKVM side, even if the web interface was closed. + +An important feature of the Jigger is that it does not interfere with normal user work. +If the user is actively interacting with the keyboard and mouse, Jiggler will not introduce its interference +until it notices that the period of inactivity has exceeded the threshold of 60 seconds. + + +----- +## Disabling the Jiggler + +If PiKVM is used in a corporate network, an administrator who considers it undesirable to use the Jiggler by users, +the PiKVM admin can disable this feature completely. This can be done by adding the following lines to `/etc/kvmd/override.yaml`: + +```yaml +kvmd: + hid: + jiggler: + enabled: false +``` + +Restart KVMD is required: + +```console +[root@pikvm ~]# systemctl restart kvmd +``` diff --git a/docs/mouse_jiggler/mouse_jiggler_menu.png b/docs/mouse_jiggler/mouse_jiggler_menu.png new file mode 100644 index 0000000..b9d6bf0 Binary files /dev/null and b/docs/mouse_jiggler/mouse_jiggler_menu.png differ diff --git a/mkdocs.yml b/mkdocs.yml index 25ac3b8..70bc2ba 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -80,8 +80,9 @@ nav: - "Peripheral devices": - "Keyboard & mouse": - "Mouse modes": mouse.md - - "Bluetooth HID": bluetooth_hid.md + - "Mouse jiggler": mouse_jiggler.md - "Pico HID (USB, PS/2)": pico_hid.md + - "Bluetooth HID": bluetooth_hid.md - "Arduino HID (USB, PS/2)": arduino_hid.md - "Mass Storage Drive": msd.md - "Ethernet-over-USB": usb_ethernet.md