## Key Up `computers.key_up(strid, ComputerKeyUpParams**kwargs) -> ActionResult` **post** `/computers/{id}/key-up` Release a keyboard key that was previously pressed with key_down. The key name should match the corresponding key_down call. **Key names are case-insensitive:** "shift", "Shift", and "SHIFT" all work. **Important:** Always release modifier keys after use to prevent them from affecting subsequent actions. ### Parameters - `id: str` - `key: Optional[str]` Key name to release. Case-insensitive. Examples: "shift", "ctrl", "a", "Enter" - `tab_id: Optional[str]` Optional tab ID for browser sessions (ignored for desktop sessions) ### Returns - `class ActionResult: …` - `error_message: Optional[str]` - `executed_tab_id: Optional[str]` - `page_context: Optional[V2GoBackendInternalTypesPageContext]` - `device_scale_factor: Optional[float]` - `is_main_tab: Optional[bool]` - `page_height: Optional[int]` - `page_width: Optional[int]` - `scroll_x: Optional[float]` - `scroll_y: Optional[float]` - `tab_id: Optional[str]` - `title: Optional[str]` - `url: Optional[str]` - `viewport_height: Optional[int]` - `viewport_width: Optional[int]` - `request_id: Optional[str]` - `result: Optional[Dict[str, object]]` - `status: Optional[str]` - `timestamp: Optional[str]` ### Example ```python import os from tzafon import Lightcone client = Lightcone( api_key=os.environ.get("TZAFON_API_KEY"), # This is the default and can be omitted ) action_result = client.computers.key_up( id="id", ) print(action_result.executed_tab_id) ```