blob: ec7fdebf5fb0b3f359330cd6659e6a244401e5a9 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[
{
"namespace": "virtualKeyboardPrivate",
"compiler_options": {
"implemented_in": "extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.h"
},
"platforms": ["chromeos"],
"description": "none",
"types": [
{
"id": "VirtualKeyboardEventType",
"type": "string",
"description": "One of keyup or keydown.",
"enum": ["keyup", "keydown"]
},
{
"id": "VirtualKeyboardEvent",
"type": "object",
"properties": {
"type": {"$ref": "VirtualKeyboardEventType"},
"charValue": {"type": "integer", "description": "Unicode value of the key."},
"keyCode": {"type": "integer", "description": "Virtual key code, which is independent of the keyboard layout or modifier state."},
"keyName": {"type": "string", "description": "Name of the key, which is independent of modifier state."},
"modifiers": {"type": "integer", "optional": true, "description": "Flag for modifiers that are active. None = 0, Shift = 2, Control = 4, Alt = 8."}
}
},
{
"id": "KeyboardMode",
"type": "string",
"enum": [ "FULL_WIDTH", "FLOATING" ],
"description": "The value of the virtual keyboard mode to set to."
},
{
"id": "KeyboardState",
"type": "string",
"enum": [ "ENABLED", "DISABLED", "AUTO"],
"description": "The value of the virtual keyboard state to change to."
},
{
"id": "OnTextInputBoxFocusedType",
"type": "string",
"description": "The value of type attribute of the focused text input box.",
"enum": ["text", "number", "password", "date", "url", "tel", "email"]
},
{
"id": "Bounds",
"type": "object",
"properties": {
"left": {"type": "integer", "description": "The position of the virtual keyboard window's left edge."},
"top": {"type": "integer", "description": "The position of the virtual keyboard window's top edge."},
"width": {"type": "integer", "description": "The width of the virtual keyboard window."},
"height": {"type": "integer", "description": "The height of the virtual keyboard window."}
}
}
],
"functions": [
{
"name": "insertText",
"type": "function",
"description": "Inserts text into the currently focused text field.",
"parameters": [
{ "name": "text",
"type": "string",
"description": "The text that will be inserted."
},
{ "type": "function",
"name": "callback",
"optional": true,
"description": "Called when the insertion is completed.",
"parameters": []
}
]
},
{
"name": "sendKeyEvent",
"type": "function",
"description": "Sends a fabricated key event to the focused input field.",
"parameters": [
{ "name": "keyEvent",
"$ref": "VirtualKeyboardEvent",
"description": ""
},
{ "name": "callback",
"type": "function",
"optional": true,
"description": "Called after processing the event.",
"parameters": []
}
]
},
{
"name": "hideKeyboard",
"type": "function",
"description": "Hides the virtual keyboard.",
"parameters": [
{ "type": "function",
"name": "callback",
"optional": true,
"description": "Called when the keyboard is hidden.",
"parameters": []
}
]
},
{
"name": "setHotrodKeyboard",
"type": "function",
"description": "Sets the state of the hotrod virtual keyboard. This API should only be used by hotrod.",
"parameters": [
{
"type": "boolean",
"name": "enable"
}
]
},
{
"name": "lockKeyboard",
"type": "function",
"description": "Sets the lock state of the virtual keyboard. A locked keyboard remains visible even after a text area loses input focus.",
"parameters": [
{
"type": "boolean",
"name": "lock"
}
]
},
{
"name": "keyboardLoaded",
"type": "function",
"description": "Inform the system that the keyboard has loaded.",
"parameters": [
{ "type": "function",
"name": "callback",
"optional": true,
"description": "Called when load acknowledgement is complete.",
"parameters": []
}
]
},
{
"name": "getKeyboardConfig",
"type": "function",
"description": "Gets the virtual keyboard configuration.",
"parameters": [
{
"type": "function",
"name": "callback",
"optional": true,
"description": "Called when querying virtual keyboard configuration is complete.",
"parameters": [
{
"type": "object",
"name": "config",
"properties": {
"layout": {
"type": "string",
"minLength": 1,
"description": "Virtual keyboard layout string."
},
"hotrodmode": {
"type": "boolean",
"description": "Virtual keyboard is in hotrod mode."
},
"a11ymode": {
"type": "boolean",
"description": "True if accessibility virtual keyboard is enabled."
},
"features": {
"type": "array",
"items": { "type": "string" },
"description": "List of experimental feature flags."
}
}
}
]
}
]
},
{
"name": "openSettings",
"type": "function",
"description": "Opens chrome://settings/languages page.",
"parameters": [
]
},
{
"name": "setMode",
"type": "function",
"description": "Sets the virtual keyboard mode.",
"parameters": [
{
"$ref": "KeyboardMode",
"name": "mode",
"description": "The value of the virtual keyboard mode to set to."
}
]
},
{
"name": "setKeyboardState",
"type": "function",
"description": "Requests the virtual keyboard to change state.",
"parameters": [
{
"$ref": "KeyboardState",
"name": "state",
"description": "The value of the virtual keyboard state to change to."
}
]
}
],
"events": [
{
"name": "onTextInputBoxFocused",
"type": "function",
"description": "This event is sent when focus enters a text input box.",
"parameters": [
{
"type": "object",
"name": "context",
"description": "Describes the text input box that has acquired focus. Note only the type of text input box is passed. This API is intended to be used by non-ime virtual keyboard only. Normal ime virtual keyboard should use chrome.input.ime.onFocus to get the more detailed InputContext.",
"properties": {
"type": {
"$ref": "OnTextInputBoxFocusedType",
"description": "The value of type attribute of the focused text input box."
}
}
}
]
},
{
"name": "onBoundsChanged",
"type": "function",
"description": "This event is sent when virtual keyboard bounds changed and overscroll/resize is enabled.",
"parameters": [
{
"name": "bounds",
"description": "The virtual keyboard bounds",
"$ref": "Bounds"
}
]
},
{
"name": "onKeyboardClosed",
"type": "function",
"description": "Fired when the virtual keyboard window has been closed. For example, this can happen when turning off on-screen keyboard or exiting tablet mode."
}
]
}
]