diff --git a/libs/python/computer-server/computer_server/handlers/base.py b/libs/python/computer-server/computer_server/handlers/base.py index 012a296c..ac629832 100644 --- a/libs/python/computer-server/computer_server/handlers/base.py +++ b/libs/python/computer-server/computer_server/handlers/base.py @@ -167,7 +167,7 @@ class BaseAutomationHandler(ABC): pass @abstractmethod - async def hotkey(self, *keys: str) -> Dict[str, Any]: + async def hotkey(self, keys: List[str]) -> Dict[str, Any]: """Press a combination of keys together.""" pass diff --git a/libs/python/computer-server/computer_server/handlers/windows.py b/libs/python/computer-server/computer_server/handlers/windows.py index 2d91ce53..9dfe93b9 100644 --- a/libs/python/computer-server/computer_server/handlers/windows.py +++ b/libs/python/computer-server/computer_server/handlers/windows.py @@ -279,7 +279,7 @@ class WindowsAutomationHandler(BaseAutomationHandler): except Exception as e: return {"success": False, "error": str(e)} - async def hotkey(self, keys: str) -> Dict[str, Any]: + async def hotkey(self, keys: List[str]) -> Dict[str, Any]: if not pyautogui: return {"success": False, "error": "pyautogui not available"} diff --git a/libs/python/computer-server/computer_server/main.py b/libs/python/computer-server/computer_server/main.py index 85e5935b..098dec6e 100644 --- a/libs/python/computer-server/computer_server/main.py +++ b/libs/python/computer-server/computer_server/main.py @@ -568,13 +568,13 @@ async def agent_response_endpoint( async def keypress(self, keys: Union[List[str], str]) -> None: if isinstance(keys, str): - parts = keys.replace("-", "+").split("+") + parts = keys.replace("-", "+").split("+") if len(keys) > 1 else [keys] else: parts = keys if len(parts) == 1: await self._auto.press_key(parts[0]) else: - await self._auto.hotkey(*parts) + await self._auto.hotkey(parts) async def drag(self, path: List[Dict[str, int]]) -> None: if not path: