## Key Down `client.computers.keyDown(stringid, ComputerKeyDownParamsbody, RequestOptionsoptions?): ActionResult` **post** `/computers/{id}/key-down` Press and hold a keyboard key. Use with key_up to release. Supports modifier keys (shift, ctrl, alt, meta) for complex interactions like Shift+Click. **Supported keys:** Modifier keys (shift, ctrl, alt, meta), special keys (enter, escape, tab, backspace, delete, space), arrow keys (arrowup, arrowdown, arrowleft, arrowright), navigation (home, end, pageup, pagedown), function keys (f1-f24), and any single character (a-z, 0-9). **Key names are case-insensitive:** "shift", "Shift", and "SHIFT" all work. **Example Shift+Click:** 1) key_down "shift", 2) click at coordinates, 3) key_up "shift" ### Parameters - `id: string` - `body: ComputerKeyDownParams` - `key?: string` Key name to press. Case-insensitive. Examples: "shift", "ctrl", "a", "Enter" - `tab_id?: string` Optional tab ID for browser sessions (ignored for desktop sessions) ### Returns - `ActionResult` - `error_message?: string` - `executed_tab_id?: string` - `page_context?: V2GoBackendInternalTypesPageContext` - `device_scale_factor?: number` - `is_main_tab?: boolean` - `page_height?: number` - `page_width?: number` - `scroll_x?: number` - `scroll_y?: number` - `tab_id?: string` - `title?: string` - `url?: string` - `viewport_height?: number` - `viewport_width?: number` - `request_id?: string` - `result?: Record` - `status?: string` - `timestamp?: string` ### Example ```typescript import Lightcone from '@tzafon/lightcone'; const client = new Lightcone({ apiKey: process.env['TZAFON_API_KEY'], // This is the default and can be omitted }); const actionResult = await client.computers.keyDown('id'); console.log(actionResult.executed_tab_id); ```