Displays: Input and Clipboard
Section titled “Displays: Input and Clipboard”Configure keyboard layout, key swapping, clipboard sharing, and scrolling behavior for the HTML5 Display client. These URL parameters are passed to the display client endpoint and let you tailor how input devices and clipboard data are handled between the local browser and the remote session.
Access the HTML5 Display client interface
Section titled “Access the HTML5 Display client interface”GET /api/v1/display/
Serves the HTML5 Display client web interface with optional URL-based configuration. This is the standardized API version of the root endpoint, exposed at /api/v1/display/ for RESTful integrations and versioned client access. The endpoint accepts the same URL parameters as the root endpoint for full client customization; this page covers the input and clipboard subset only.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
keyboard | query | boolean | No | Show on-screen virtual keyboard. Default: false |
keyboard_layout | query | string | No | Keyboard layout (us, gb, fr, de, etc.). Default: "us" |
swap_keys | query | boolean | No | Swap Cmd/Ctrl keys (useful for macOS). Default: false |
clipboard | query | boolean | No | Enable clipboard sharing. Default: true |
clipboard_preferred_format | query | string | No | Preferred clipboard format. Allowed values: text/plain, text/html, UTF8_STRING. Default: "text/plain" |
scroll_reverse_y | query | string | No | Reverse vertical scrolling direction. Allowed values: auto, true, false. Default: "auto" |
scroll_reverse_x | query | boolean | No | Reverse horizontal scrolling direction. Default: false |
This endpoint takes no request body.
Response
Section titled “Response”The endpoint returns the HTML5 Display client interface as a text/html response.
The HTML5 Display client interface is loaded successfully.
{ "description": "HTML5 Display client interface loaded successfully", "content": { "text/html": { "schema": { "type": "string" }, "example": "<!DOCTYPE html>\n<html>\n<head><title>Hoody Display Client</title></head>\n<body>\n <!-- Display HTML5 client interface -->\n</body>\n</html>\n" } }}Example
Section titled “Example”https://{projectId}-{containerId}-display-1.{server}.containers.hoody.com/api/v1/display/?keyboard_layout=fr&swap_keys=true&clipboard=true&clipboard_preferred_format=text/html&scroll_reverse_y=auto&scroll_reverse_x=falseSDK usage
Section titled “SDK usage”import { HoodyClient } from 'hoody-sdk';
const hoody = await HoodyClient.login('https://api.hoody.com', { username, password });const box = await hoody.withContainer(containerId);
// Builds the URL of display 1; nothing is fetched. Open it in a browser or a frame.const url = box.embeds.display.client(undefined, { index: 1, query: { keyboard: false, swap_keys: true, clipboard_preferred_format: 'text/html', scroll_reverse_y: 'auto', scroll_reverse_x: false },});client.embeds.display.client() refuses keyboard_layout (the embed catalog marks it as not embeddable): add it to the URL yourself, as in the Browser tab.
The builder accepts clipboard only as false; leave it out to keep the default.
curl -G "https://{projectId}-{containerId}-display-1.{server}.containers.hoody.com/api/v1/display/" \ --data-urlencode "keyboard=false" \ --data-urlencode "keyboard_layout=fr" \ --data-urlencode "swap_keys=true" \ --data-urlencode "clipboard=true" \ --data-urlencode "clipboard_preferred_format=text/html" \ --data-urlencode "scroll_reverse_y=auto" \ --data-urlencode "scroll_reverse_x=false"