|
26 | 26 | GetCdRomRsp, |
27 | 27 | GetGpioRsp, |
28 | 28 | GetHardwareRsp, |
| 29 | + GetHdmiStateRsp, |
29 | 30 | GetHidModeRsp, |
30 | 31 | GetInfoRsp, |
31 | 32 | GetMdnsStateRsp, |
32 | 33 | GetMemoryLimitRsp, |
33 | 34 | GetMountedImageRsp, |
| 35 | + GetMouseJigglerRsp, |
34 | 36 | GetOLEDRsp, |
35 | 37 | GetPreviewRsp, |
36 | 38 | GetSSHStateRsp, |
37 | | - GetSwapStateRsp, |
| 39 | + GetSwapSizeRsp, |
38 | 40 | GetTailscaleStatusRsp, |
39 | 41 | GetVersionRsp, |
40 | 42 | GetVirtualDeviceRsp, |
|
46 | 48 | LoginReq, |
47 | 49 | LoginRsp, |
48 | 50 | MountImageReq, |
| 51 | + MouseJigglerMode, |
49 | 52 | PasteReq, |
50 | 53 | SetGpioReq, |
51 | 54 | SetHidModeReq, |
52 | 55 | SetMemoryLimitReq, |
| 56 | + SetMouseJigglerReq, |
53 | 57 | SetOledReq, |
54 | 58 | SetPreviewReq, |
| 59 | + SetSwapSizeReq, |
55 | 60 | StatusImageRsp, |
56 | 61 | UpdateVirtualDeviceReq, |
57 | 62 | UpdateVirtualDeviceRsp, |
@@ -305,12 +310,19 @@ async def get_ssh_state(self) -> GetSSHStateRsp: |
305 | 310 | response_model=GetSSHStateRsp, |
306 | 311 | ) |
307 | 312 |
|
308 | | - async def get_swap_state(self) -> GetSwapStateRsp: |
309 | | - """Get Swap enabled state.""" |
310 | | - return await self._api_request_json( |
| 313 | + async def get_swap_size(self) -> int: |
| 314 | + """Get Swap size.""" |
| 315 | + rsp = await self._api_request_json( |
311 | 316 | hdrs.METH_GET, |
312 | 317 | "/vm/swap", |
313 | | - response_model=GetSwapStateRsp, |
| 318 | + response_model=GetSwapSizeRsp, |
| 319 | + ) |
| 320 | + return rsp.size |
| 321 | + |
| 322 | + async def set_swap_size(self, size_mb: int) -> None: |
| 323 | + """Set the Swap size.""" |
| 324 | + await self._api_request_json( |
| 325 | + hdrs.METH_POST, "/vm/swap", data=SetSwapSizeReq(size=size_mb) |
314 | 326 | ) |
315 | 327 |
|
316 | 328 | async def get_mdns_state(self) -> GetMdnsStateRsp: |
@@ -561,10 +573,26 @@ async def reboot_system(self) -> None: |
561 | 573 | """Reboot the KVM device.""" |
562 | 574 | await self._api_request_json(hdrs.METH_POST, "/vm/system/reboot") |
563 | 575 |
|
| 576 | + async def get_hdmi_state(self) -> GetHdmiStateRsp: |
| 577 | + """Get the HDMI state.""" |
| 578 | + return await self._api_request_json( |
| 579 | + hdrs.METH_GET, |
| 580 | + "/vm/hdmi", |
| 581 | + response_model=GetHdmiStateRsp, |
| 582 | + ) |
| 583 | + |
564 | 584 | async def reset_hdmi(self) -> None: |
565 | | - """Reset the HDMI connection (relevant for PCIe version).""" |
| 585 | + """Reset the HDMI connection.""" |
566 | 586 | await self._api_request_json(hdrs.METH_POST, "/vm/hdmi/reset") |
567 | 587 |
|
| 588 | + async def enable_hdmi(self) -> None: |
| 589 | + """Enable the HDMI connection.""" |
| 590 | + await self._api_request_json(hdrs.METH_POST, "/vm/hdmi/enable") |
| 591 | + |
| 592 | + async def disable_hdmi(self) -> None: |
| 593 | + """Disable the HDMI connection.""" |
| 594 | + await self._api_request_json(hdrs.METH_POST, "/vm/hdmi/disable") |
| 595 | + |
568 | 596 | async def reset_hid(self) -> None: |
569 | 597 | """Reset the HID subsystem.""" |
570 | 598 | await self._api_request_json(hdrs.METH_POST, "/hid/reset") |
@@ -608,3 +636,21 @@ async def tailscale_stop(self) -> None: |
608 | 636 | async def tailscale_restart(self) -> None: |
609 | 637 | """Perform a Tailscale action: restart.""" |
610 | 638 | await self._api_request_json(hdrs.METH_POST, "/extensions/tailscale/restart") |
| 639 | + |
| 640 | + async def get_mouse_jiggler_state(self) -> GetMouseJigglerRsp: |
| 641 | + """Get the mouse jiggler state.""" |
| 642 | + return await self._api_request_json( |
| 643 | + hdrs.METH_GET, |
| 644 | + "/vm/mouse-jiggler", |
| 645 | + response_model=GetMouseJigglerRsp, |
| 646 | + ) |
| 647 | + |
| 648 | + async def set_mouse_jiggler_state( |
| 649 | + self, enabled: bool, mode: MouseJigglerMode |
| 650 | + ) -> None: |
| 651 | + """Set the mouse jiggler state.""" |
| 652 | + await self._api_request_json( |
| 653 | + hdrs.METH_POST, |
| 654 | + "/vm/mouse-jiggler", |
| 655 | + data=SetMouseJigglerReq(enabled=enabled, mode=mode), |
| 656 | + ) |
0 commit comments