Home | History | Annotate | Download | only in api
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 [
      6   {
      7     "namespace": "virtualKeyboardPrivate",
      8     "compiler_options": {
      9       "implemented_in": "chrome/browser/extensions/api/input/input.h"
     10     },
     11     "platforms": ["chromeos"],
     12     "description": "none",
     13     "types": [
     14       {
     15         "id": "VirtualKeyboardEvent",
     16         "type": "object",
     17         "properties": {
     18           "type": {"type": "string", "description": "One of keyup or keydown.", "enum": ["keyup", "keydown"]},
     19           "charValue": {"type": "integer", "description": "Unicode value of the key."},
     20           "keyCode": {"type": "integer", "description": "Virtual key code, which is independent of the keyboard layout or modifier state."},
     21           "keyName": {"type": "string", "description": "Name of the key, which is independent of modifier state."},
     22           "modifiers": {"type": "integer", "optional": true, "description": "Flag for modifiers that are active. None = 0, Shift = 2, Control = 4, Alt = 8."}
     23         }
     24       }
     25     ],
     26     "functions": [
     27       {
     28         "name": "insertText",
     29         "type": "function",
     30         "description": "Inserts text into the currently focused text field.",
     31         "parameters": [
     32           { "name": "text",
     33             "type": "string",
     34             "description": "The text that will be inserted."
     35           },
     36           { "type": "function",
     37             "name": "callback",
     38             "optional": true,
     39             "description": "Called when the insertion is completed.",
     40             "parameters": []
     41           }
     42         ]
     43       },
     44       {
     45         "name": "moveCursor",
     46         "type": "function",
     47         "description": "Move cursor on the current focused textfield by swipe.",
     48         "parameters": [
     49           { "name": "swipe_direction",
     50             "type": "integer",
     51             "discription": "The direction of the cursor movement."
     52           },
     53           { "name": "modifier_flags",
     54             "type": "integer",
     55             "description": "Bitmask representing the state of the system modifier keys."
     56           },
     57           { "type": "function",
     58             "name": "callback",
     59             "optional": true,
     60             "decription": "called when the swipe movement is completed.",
     61             "parameters": []
     62           }
     63         ]
     64       },
     65       {
     66         "name": "sendKeyEvent",
     67         "type": "function",
     68         "description": "Sends a fabricated key event to the focused input field.",
     69         "parameters": [
     70           { "name": "keyEvent",
     71             "$ref": "VirtualKeyboardEvent",
     72             "description": ""
     73           },
     74           { "name": "callback",
     75             "type": "function",
     76             "optional": true,
     77             "description": "Called after processing the event.",
     78             "parameters": []
     79           }
     80         ]
     81       },
     82       {
     83         "name": "hideKeyboard",
     84         "type": "function",
     85         "description": "Hides the virtual keyboard.",
     86         "parameters": [
     87           { "type": "function",
     88             "name": "callback",
     89             "optional": true,
     90             "description": "Called when the keyboard is hidden.",
     91             "parameters": []
     92           }
     93         ]
     94       },
     95       {
     96         "name": "lockKeyboard",
     97         "type": "function",
     98         "description": "Sets the lock state of the virtual keyboard. A locked keyboard remains visible even after a text area loses input focus.",
     99         "parameters": [
    100           {
    101             "type": "boolean",
    102             "name": "lock"
    103           }
    104         ]
    105       },
    106       {
    107         "name": "keyboardLoaded",
    108         "type": "function",
    109         "description": "Inform the system that the keyboard has loaded.",
    110         "parameters": [
    111           { "type": "function",
    112             "name": "callback",
    113             "optional": true,
    114             "description": "Called when load acknowledgement is complete.",
    115             "parameters": []
    116           }
    117         ]
    118       },
    119       {
    120         "name": "getKeyboardConfig",
    121         "type": "function",
    122         "description": "Gets the virtual keyboard configuration.",
    123         "parameters": [
    124           {
    125             "type": "function",
    126             "name": "callback",
    127             "optional": true,
    128             "description": "Called when querying virtual keyboard configuration is complete.",
    129             "parameters": [
    130               {
    131                 "type": "object",
    132                 "name": "config",
    133                 "properties": {
    134                   "layout": {
    135                     "type": "string",
    136                     "minLength": 1,
    137                     "description": "Virtual keyboard layout string."
    138                   },
    139                   "a11ymode": {
    140                     "type": "boolean",
    141                     "description": "True if accessbility virtual keyboard is enabled."
    142                   },
    143                   "experimental": {
    144                     "type": "boolean",
    145                     "description": "True if experimental features are enabled."
    146                   }
    147                 }
    148               }
    149             ]
    150           }
    151         ]
    152       },
    153       {
    154         "name": "openSettings",
    155         "type": "function",
    156         "description": "Opens chrome://settings/languages page.",
    157         "parameters": [
    158         ]
    159       }
    160     ],
    161     "events": [
    162       {
    163         "name": "onTextInputBoxFocused",
    164         "type": "function",
    165         "description": "This event is sent when focus enters a text input box.",
    166         "parameters": [
    167           {
    168             "type": "object",
    169             "name": "context",
    170             "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.",
    171             "properties": {
    172               "type": {
    173                 "type": "string",
    174                 "description": "The value of type attribute of the focused text input box.",
    175                 "enum": ["text", "number", "password", "date", "url", "tel", "email"]
    176               }
    177             }
    178           }
    179         ]
    180       }
    181     ]
    182   }
    183 ]
    184