chrome.input.ime

Beschrijving

Gebruik de chrome.input.ime API om een ​​aangepaste IME voor Chrome OS te implementeren. Hiermee kan uw extensie toetsaanslagen verwerken, de compositie instellen en het kandidaatvenster beheren.

Toestemmingen

input

Om de input.ime API te kunnen gebruiken, moet u de "input"-toestemming in het extensiemanifest declareren. Bijvoorbeeld:

{
  "name": "My extension",
  ...
  "permissions": [
    "input"
  ],
  ...
}

Beschikbaarheid

alleen ChromeOS

Voorbeelden

De volgende code creëert een IME die getypte letters omzet naar hoofdletters.

var context_id = -1;

chrome.input.ime.onFocus.addListener(function(context) {
  context_id = context.contextID;
});

chrome.input.ime.onKeyEvent.addListener(
  function(engineID, keyData) {
    if (keyData.type == "keydown" && keyData.key.match(/^[a-z]$/)) {
      chrome.input.ime.commitText({"contextID": context_id,
                                    "text": keyData.key.toUpperCase()});
      return true;
    } else {
      return false;
    }
  }
);

Soorten

AssistiveWindowButton

Chrome 85+

ID van de knoppen in het hulpvenster.

Enum

"ongedaan maken"

"addToDictionary"

AssistiveWindowProperties

Chrome 85+

Eigenschappen van het hulpvenster.

Eigenschappen

  • announceString

    string optioneel

    Teksten die ChromeVox kan aankondigen.

  • type

    "ongedaan maken"

  • zichtbaar

    booleaans

    Stelt 'true' in om het AssistiveWindow weer te geven, stelt 'false' in om het te verbergen.

AssistiveWindowType

Chrome 85+

Type hulpvenster.

Waarde

"ongedaan maken"

AutoCapitalizeType

Chrome 69+

Het type tekstveld dat automatisch met een hoofdletter begint.

Enum

"personages"

"woorden"

"zinnen"

InputContext

Beschrijft een invoercontext

Eigenschappen

  • autoCapitalize
    Chrome 69+

    Het type tekstveld dat automatisch met een hoofdletter begint.

  • automatisch aanvullen

    booleaans

    Of het tekstveld automatische aanvulling moet ondersteunen.

  • autoCorrectie

    booleaans

    Of het tekstveld automatische correctie moet inschakelen.

  • contextID

    nummer

    Dit wordt gebruikt om de doelen van tekstveldbewerkingen te specificeren. Deze ID wordt ongeldig zodra onBlur wordt aangeroepen.

  • shouldDoLearning

    booleaans

    Chrome 68+

    Of de tekst die in het tekstveld wordt ingevoerd, gebruikt moet worden om de typsuggesties voor de gebruiker te verbeteren.

  • spellingcontrole

    booleaans

    Of het tekstveld spellingcontrole nodig heeft.

  • Het type waarde dat dit tekstveld bewerkt (tekst, getal, URL, enz.).

InputContextType

Chrome 44+

Het type waarde dat dit tekstveld bewerkt (tekst, getal, URL, enz.).

Enum

"tekst"

"zoekopdracht"

"tel"

"url"

"e-mail"

"nummer"

"wachtwoord"

"null"

KeyboardEvent

Zie http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent

Eigenschappen

  • altKey

    boolean optioneel

    Ongeacht of de ALT-toets is ingedrukt of niet.

  • altgrKey

    boolean optioneel

    Chrome 79+

    Ongeacht of de ALTGR-toets is ingedrukt of niet.

  • capsLock

    boolean optioneel

    Of de CAPS_LOCK-toets is ingeschakeld of niet.

  • code

    snaar

    De waarde van de fysieke toets die wordt ingedrukt. Deze waarde wordt niet beïnvloed door de huidige toetsenbordindeling of de status van de modificatietoetsen.

  • Ctrl-toets

    boolean optioneel

    Ongeacht of de CTRL-toets is ingedrukt of niet.

  • extensie-ID

    string optioneel

    De extensie-ID van de afzender van deze toetsaanslag.

  • sleutel

    snaar

    Waarde van de ingedrukte toets

  • sleutelcode

    nummer optioneel

    De verouderde HTML-keyCode is een systeem- en implementatieafhankelijke numerieke code die de ongewijzigde identificatiecode aangeeft die is gekoppeld aan de ingedrukte toets.

  • verzoek-ID

    string optioneel

    (Verouderd) De ID van het verzoek. Gebruik in plaats daarvan de parameter requestId van de onKeyEvent gebeurtenis.

  • shiftKey

    boolean optioneel

    Ongeacht of de SHIFT-toets is ingedrukt of niet.

  • Een van de twee: keyup of keydown.

KeyboardEventType

Chrome 44+

Enum

"toets ingedrukt"

"toets ingedrukt"

MenuItem

Een menu-item dat door een invoermethode wordt gebruikt om vanuit het taalmenu met de gebruiker te communiceren.

Eigenschappen

  • gecontroleerd

    boolean optioneel

    Geeft aan dat dit item met een cheque moet worden afgeschreven.

  • ingeschakeld

    boolean optioneel

    Geeft aan dat dit item is ingeschakeld.

  • id

    snaar

    De tekenreeks die wordt doorgegeven aan callbacks die naar dit menu-item verwijzen.

  • label

    string optioneel

    De tekst die in het menu voor dit item wordt weergegeven.

  • stijl

    MenuItemStyle optioneel

    Het type menu-item.

  • zichtbaar

    boolean optioneel

    Geeft aan dat dit item zichtbaar is.

MenuItemStyle

Chrome 44+

Het type menu-item. Keuzerondjes tussen scheidingslijnen worden als gegroepeerd beschouwd.

Enum

"rekening"

"radio"

"scheidingsteken"

MenuParameters

Chrome 88+

Eigenschappen

  • engineID

    snaar

    ID van de te gebruiken engine.

  • items

    Menu-items die moeten worden toegevoegd of bijgewerkt. Ze worden toegevoegd in de volgorde waarin ze in de array voorkomen.

MouseButton

Chrome 44+

Welke muisknop werd ingedrukt?

Enum

"links"

"midden"

"rechts"

ScreenType

Chrome 44+

Het schermtype waaronder de IME wordt geactiveerd.

Enum

"normaal"

"login"

"slot"

"secundaire login"

UnderlineStyle

Chrome 44+

Het type onderstreping waarmee dit segment wordt aangepast.

Enum

"onderstrepen"

"dubbele onderstreping"

"geen onderstreping"

WindowPosition

Chrome 44+

Waar moet het kandidaatvenster worden weergegeven? Indien ingesteld op 'cursor', volgt het venster de cursor. Indien ingesteld op 'compositie', wordt het venster vastgezet aan het begin van de compositie.

Enum

"cursor"

"samenstelling"

Methoden

clearComposition()

chrome.input.ime.clearComposition(
  parameters: object,
)
: Promise<boolean>

Wis de huidige samenstelling. Als deze extensie niet de eigenaar is van de actieve IME, mislukt dit.

Parameters

  • parameters

    voorwerp

    • contextID

      nummer

      ID van de context waarin de compositie zal worden gewist

Retourneert

  • Belofte<boolean>

    Chrome 111+

    De promise wordt opgelost wanneer de bewerking is voltooid en retourneert een booleanwaarde die aangeeft of de tekst is geaccepteerd of niet. Bij een fout wordt de promise afgewezen.

commitText()

chrome.input.ime.commitText(
  parameters: object,
)
: Promise<boolean>

Voegt de opgegeven tekst toe aan het huidige invoerveld.

Parameters

  • parameters

    voorwerp

    • contextID

      nummer

      ID van de context waarin de tekst zal worden opgeslagen

    • tekst

      snaar

      De tekst die je moet vastleggen

Retourneert

  • Belofte<boolean>

    Chrome 111+

    De promise wordt opgelost wanneer de bewerking is voltooid en retourneert een booleanwaarde die aangeeft of de tekst is geaccepteerd of niet. Bij een fout wordt de promise afgewezen.

deleteSurroundingText()

chrome.input.ime.deleteSurroundingText(
  parameters: object,
)
: Promise<void>

Verwijdert de tekst rondom de cursor.

Parameters

  • parameters

    voorwerp

    • contextID

      nummer

      ID van de context waarin de omringende tekst wordt verwijderd.

    • engineID

      snaar

      ID van de engine die de gebeurtenis ontvangt.

    • lengte

      nummer

      Het aantal tekens dat verwijderd moet worden

    • verschuiving

      nummer

      De offset vanaf de cursorpositie waar de verwijdering zal beginnen. Deze waarde kan negatief zijn.

Retourneert

  • Promise<void>

    Chrome 111+

    Wordt opgelost zodra de bewerking is voltooid.

hideInputView()

chrome.input.ime.hideInputView(): void

Verbergt het invoervenster dat automatisch door het systeem wordt geopend. Als het invoervenster al verborgen is, doet deze functie niets.

keyEventHandled()

chrome.input.ime.keyEventHandled(
  requestId: string,
  response: boolean,
)
: void

Geeft aan dat de toetsaanslag die door onKeyEvent is ontvangen, is verwerkt. Deze functie mag alleen worden aangeroepen als de onKeyEvent-listener asynchroon is.

Parameters

  • verzoek-ID

    snaar

    De aanvraag-ID van de verwerkte gebeurtenis. Deze moet afkomstig zijn van keyEvent.requestId.

  • antwoord

    booleaans

    Waar als de toetsaanslag is verwerkt, onwaar als dat niet het geval is.

sendKeyEvents()

chrome.input.ime.sendKeyEvents(
  parameters: object,
)
: Promise<void>

Verzendt de toetsaanslagen. Deze functie is bedoeld voor gebruik door virtuele toetsenborden. Wanneer een gebruiker een of meer toetsen op een virtueel toetsenbord indrukt, wordt deze functie gebruikt om die gebeurtenis naar het systeem door te geven.

Parameters

  • parameters

    voorwerp

    • contextID

      nummer

      ID van de context waarnaar de toetsaanslagen worden verzonden, of nul om toetsaanslagen naar een niet-invoerveld te verzenden.

    • sleutelgegevens

      Gegevens over de belangrijkste gebeurtenis.

Retourneert

  • Promise<void>

    Chrome 111+

    Wordt opgelost zodra de bewerking is voltooid.

setAssistiveWindowButtonHighlighted()

Chrome 86+
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
)
: Promise<void>

Hiermee kunt u een knop in een hulpvenster markeren/demarkeren.

Parameters

  • parameters

    voorwerp

    • announceString

      string optioneel

      De tekst die de schermlezer moet voorlezen.

    • De ID van de knop

    • contextID

      nummer

      ID van de context waartoe het hulpvenster behoort.

    • gemarkeerd

      booleaans

      Of de knop gemarkeerd moet worden.

    • venstertype

      "ongedaan maken"

      Het venstertype waartoe de knop behoort.

Retourneert

  • Promise<void>

    Chrome 111+

    De status wordt bepaald zodra de bewerking is voltooid. Bij een fout wordt de belofte afgewezen.

setAssistiveWindowProperties()

Chrome 85+
chrome.input.ime.setAssistiveWindowProperties(
  parameters: object,
)
: Promise<boolean>

Toont/verbergt een hulpvenster met de opgegeven eigenschappen.

Parameters

  • parameters

    voorwerp

    • contextID

      nummer

      ID van de context waartoe het hulpvenster behoort.

    • Eigenschappen van het hulpvenster.

Retourneert

  • Belofte<boolean>

    Chrome 111+

    Wordt opgelost zodra de bewerking is voltooid.

setCandidates()

chrome.input.ime.setCandidates(
  parameters: object,
)
: Promise<boolean>

Stelt de huidige kandidatenlijst in. Dit mislukt als deze extensie niet de actieve IME bezit.

Parameters

  • parameters

    voorwerp

    • kandidaten

      voorwerp[]

      Lijst met kandidaten die in het kandidatenvenster worden weergegeven.

      • annotatie

        string optioneel

        Aanvullende tekst ter beschrijving van de kandidaat

      • kandidaat

        snaar

        De kandidaat

      • id

        nummer

        Het ID van de kandidaat

      • label

        string optioneel

        Korte tekenreeks die naast de kandidaat wordt weergegeven, vaak de sneltoets of index.

      • ouder-ID

        nummer optioneel

        De ID waaraan deze kandidaten moeten worden toegevoegd

      • gebruik

        object optioneel

        Het gebruik of de gedetailleerde beschrijving van een woord.

        • lichaam

          snaar

          De hoofdtekst van de gedetailleerde beschrijving.

        • titel

          snaar

          De titel van de detailbeschrijving.

    • contextID

      nummer

      ID van de context die eigenaar is van het kandidaatvenster.

Retourneert

  • Belofte<boolean>

    Chrome 111+

    Wordt opgelost zodra de bewerking is voltooid.

setCandidateWindowProperties()

chrome.input.ime.setCandidateWindowProperties(
  parameters: object,
)
: Promise<boolean>

Hiermee worden de eigenschappen van het kandidaatvenster ingesteld. Dit mislukt als de extensie niet de eigenaar is van de actieve IME.

Parameters

  • parameters

    voorwerp

    • engineID

      snaar

      ID van de engine waarvan de eigenschappen moeten worden ingesteld.

    • eigenschappen

      voorwerp

      • hulptekst

        string optioneel

        Tekst die onderaan het kandidatenvenster wordt weergegeven.

      • auxiliaryTextVisible

        boolean optioneel

        Als de hulptekst wordt weergegeven (true), moet deze worden verborgen (false).

      • huidigeKandidaatIndex

        nummer optioneel

        Chrome 84+

        De index van de huidige gekozen kandidaat ten opzichte van het totale aantal kandidaten.

      • cursorzichtbaar

        boolean optioneel

        True om de cursor weer te geven, false om hem te verbergen.

      • paginagrootte

        nummer optioneel

        Het aantal kandidaten dat per pagina moet worden weergegeven.

      • totaal aantal kandidaten

        nummer optioneel

        Chrome 84+

        Het totale aantal kandidaten voor de kandidatenperiode.

      • verticaal

        boolean optioneel

        Retourneer True als het kandidaatvenster verticaal moet worden weergegeven, en False om het horizontaal te maken.

      • zichtbaar

        boolean optioneel

        Als je het kandidatenvenster wilt weergeven (true), moet je het verbergen (false).

      • vensterpositie

        WindowPosition optioneel

        Waar moet het kandidaatvenster worden weergegeven?

Retourneert

  • Belofte<boolean>

    Chrome 111+

    Wordt opgelost zodra de bewerking is voltooid.

setComposition()

chrome.input.ime.setComposition(
  parameters: object,
)
: Promise<boolean>

Stel de huidige compositie in. Als deze extensie niet de actieve IME beheert, mislukt dit.

Parameters

  • parameters

    voorwerp

    • contextID

      nummer

      ID van de context waarin de compositietekst wordt geplaatst.

    • cursor

      nummer

      Positie van de cursor in de tekst.

    • segmenten

      object[] optioneel

      Lijst met segmenten en de bijbehorende typen.

      • einde

        nummer

        Index van het teken waarna dit segment moet eindigen.

      • begin

        nummer

        Index van het teken waarmee dit segment moet beginnen.

      • Het type onderstreping waarmee dit segment wordt aangepast.

    • selectieEinde

      nummer optioneel

      De positie in de tekst waar de selectie eindigt.

    • selectieStart

      nummer optioneel

      De positie in de tekst waar de selectie begint.

    • tekst

      snaar

      Tekst om in te stellen

Retourneert

  • Belofte<boolean>

    Chrome 111+

    De promise wordt opgelost wanneer de bewerking is voltooid en retourneert een booleanwaarde die aangeeft of de tekst is geaccepteerd of niet. Bij een fout wordt de promise afgewezen.

setCursorPosition()

chrome.input.ime.setCursorPosition(
  parameters: object,
)
: Promise<boolean>

Stel de cursorpositie in het kandidaatvenster in. Deze actie is zinloos als deze extensie niet de actieve IME beheert.

Parameters

  • parameters

    voorwerp

    • kandidaat-ID

      nummer

      ID van de te selecteren kandidaat.

    • contextID

      nummer

      ID van de context die eigenaar is van het kandidaatvenster.

Retourneert

  • Belofte<boolean>

    Chrome 111+

    Wordt opgelost wanneer de bewerking is voltooid.

setMenuItems()

chrome.input.ime.setMenuItems(
  parameters: MenuParameters,
)
: Promise<void>

Voegt de opgegeven menu-items toe aan het taalmenu wanneer deze IME actief is.

Parameters

Retourneert

  • Promise<void>

    Chrome 111+

updateMenuItems()

chrome.input.ime.updateMenuItems(
  parameters: MenuParameters,
)
: Promise<void>

Werkt de status van de opgegeven menu-items bij.

Parameters

Retourneert

  • Promise<void>

    Chrome 111+

    Wordt opgelost wanneer de bewerking is voltooid.

Evenementen

onActivate

chrome.input.ime.onActivate.addListener(
  callback: function,
)

Deze gebeurtenis wordt verzonden wanneer een IME wordt geactiveerd. Het geeft aan dat de IME onKeyPress-gebeurtenissen zal ontvangen.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (engineID: string, screen: ScreenType) => void

onAssistiveWindowButtonClicked

Chrome 85+
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
  callback: function,
)

Deze gebeurtenis wordt verzonden wanneer er op een knop in een hulpvenster wordt geklikt.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (details: object) => void

onBlur

chrome.input.ime.onBlur.addListener(
  callback: function,
)

Deze gebeurtenis wordt verzonden wanneer de focus een tekstvak verlaat. De gebeurtenis wordt verzonden naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn ingeschakeld.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (contextID: number) => void

    • contextID

      nummer

onCandidateClicked

chrome.input.ime.onCandidateClicked.addListener(
  callback: function,
)

Deze gebeurtenis wordt verzonden als deze extensie de actieve IME beheert.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (engineID: string, candidateID: number, button: MouseButton) => void

    • engineID

      snaar

    • kandidaat-ID

      nummer

    • knop

onDeactivated

chrome.input.ime.onDeactivated.addListener(
  callback: function,
)

Deze gebeurtenis wordt verzonden wanneer een IME wordt gedeactiveerd. Het geeft aan dat de IME geen onKeyPress-gebeurtenissen meer zal ontvangen.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (engineID: string) => void

    • engineID

      snaar

onFocus

chrome.input.ime.onFocus.addListener(
  callback: function,
)

Deze gebeurtenis wordt verzonden wanneer de focus in een tekstvak komt. De gebeurtenis wordt verzonden naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn ingeschakeld.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (context: InputContext) => void

onInputContextUpdate

chrome.input.ime.onInputContextUpdate.addListener(
  callback: function,
)

Deze gebeurtenis wordt verzonden wanneer de eigenschappen van de huidige InputContext veranderen, zoals het type. De gebeurtenis wordt verzonden naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn ingeschakeld.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (context: InputContext) => void

onKeyEvent

chrome.input.ime.onKeyEvent.addListener(
  callback: function,
)

Deze functie wordt geactiveerd wanneer een toetsaanslag vanuit het besturingssysteem wordt verzonden. De toetsaanslag wordt naar de extensie verzonden als deze de actieve IME beheert. De luisterfunctie moet true retourneren als de toetsaanslag is verwerkt en false als dit niet het geval is. Als de toetsaanslag asynchroon wordt verwerkt, moet deze functie undefined retourneren en moet de IME later keyEventHandled() aanroepen met het resultaat.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined

    • retourneert

      boolean | niet gedefinieerd

onMenuItemActivated

chrome.input.ime.onMenuItemActivated.addListener(
  callback: function,
)

Wordt aangeroepen wanneer de gebruiker een menu-item selecteert.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (engineID: string, name: string) => void

    • engineID

      snaar

    • naam

      snaar

onReset

chrome.input.ime.onReset.addListener(
  callback: function,
)

Deze gebeurtenis wordt verzonden wanneer Chrome een lopende tekstinvoersessie beëindigt.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (engineID: string) => void

    • engineID

      snaar

onSurroundingTextChanged

chrome.input.ime.onSurroundingTextChanged.addListener(
  callback: function,
)

Deze functie wordt aangeroepen wanneer de bewerkbare tekst rond de cursor wordt gewijzigd of wanneer de cursorpositie wordt verplaatst. De tekstlengte is beperkt tot 100 tekens voor zowel de heen- als de terugrichting.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

    (engineID: string, surroundingInfo: object) => void

    • engineID

      snaar

    • omgevingsinfo

      voorwerp

      • anker

        nummer

        De beginpositie van de selectie. Deze waarde geeft de cursorpositie aan als er geen selectie is.

      • focus

        nummer

        De eindpositie van de selectie. Deze waarde geeft de cursorpositie aan als er geen selectie is.

      • verschuiving

        nummer

        Chrome 46+

        De offsetpositie van text . Omdat text slechts een deel van de tekst rond de cursor omvat, geeft de offset de absolute positie van het eerste teken van text aan.

      • tekst

        snaar

        De tekst rond de cursor. Dit is slechts een deelverzameling van alle tekst in het invoerveld.