chrome.input.ime

Beschreibung

Verwenden Sie die chrome.input.ime API, um eine benutzerdefinierte IME für ChromeOS zu implementieren. So kann Ihre Erweiterung Tasteneingaben verarbeiten, die Komposition festlegen und das Kandidatenfenster verwalten.

Berechtigungen

input

Sie müssen die Berechtigung „input“ im Erweiterungsmanifest deklarieren, um die input.ime API zu verwenden. Beispiel:

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

Verfügbarkeit

Nur ChromeOS

Beispiele

Mit dem folgenden Code wird eine IME erstellt, die eingegebene Buchstaben in Großbuchstaben umwandelt.

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;     }   } ); 

Typen

AssistiveWindowButton

Chrome 85+

ID der Schaltflächen im Bedienungshilfenfenster.

Enum

„undo“

"addToDictionary"

AssistiveWindowProperties

Chrome 85+

Eigenschaften des Assistenzfensters.

Attribute

  • announceString

    String optional

    Strings, die von ChromeVox vorgelesen werden sollen.

  • Typ

    „undo“

  • sichtbar

    boolean

    Wird auf „true“ gesetzt, um AssistiveWindow anzuzeigen, und auf „false“, um es auszublenden.

AssistiveWindowType

Chrome 85+

Typ des unterstützenden Fensters.

Wert

„undo“

AutoCapitalizeType

Chrome 69 und höher

Der Typ der automatischen Großschreibung für das Textfeld.

Enum

"characters"

„words“

„sentences“

InputContext

Beschreibt einen Eingabekontext

Attribute

  • autoCapitalize
    Chrome 69 und höher

    Der Typ der automatischen Großschreibung für das Textfeld.

  • autoComplete

    boolean

    Gibt an, ob für das Textfeld die automatische Vervollständigung verwendet werden soll.

  • autoCorrect

    boolean

    Gibt an, ob für das Textfeld die automatische Korrektur aktiviert werden soll.

  • contextID

    Zahl

    Damit werden Ziele von Textfeldvorgängen angegeben. Diese ID wird ungültig, sobald „onBlur“ aufgerufen wird.

  • shouldDoLearning

    boolean

    Chrome 68 und höher

    Gibt an, ob der in das Textfeld eingegebene Text verwendet werden soll, um die Vorschläge für die Texteingabe für den Nutzer zu verbessern.

  • spellCheck

    boolean

    Gibt an, ob für das Textfeld die Rechtschreibprüfung verwendet werden soll.

  • Typ des Werts, der in diesem Textfeld bearbeitet wird (Text, Zahl, URL usw.)

InputContextType

Chrome 44 und höher

Typ des Werts, der in diesem Textfeld bearbeitet wird (Text, Zahl, URL usw.)

Enum

"text"

"search"

"tel"

"url"

"email"

"number"

"password"

"null"

KeyboardEvent

Weitere Informationen finden Sie unter http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent.

Attribute

  • altKey

    boolean optional

    Gibt an, ob die ALT-Taste gedrückt ist.

  • altgrKey

    boolean optional

    Chrome 79 und höher

    Gibt an, ob die ALTGR-Taste gedrückt ist.

  • capsLock

    boolean optional

    Gibt an, ob die FESTSTELLTASTE aktiviert ist.

  • Code

    String

    Wert des physischen Schlüssels, der gedrückt wird. Der Wert wird nicht durch das aktuelle Tastaturlayout oder den Status der Modifizierertaste beeinflusst.

  • ctrlKey

    boolean optional

    Gibt an, ob die STRG-Taste gedrückt ist.

  • extensionId

    String optional

    Die Erweiterungs-ID des Absenders dieses Schlüsselereignisses.

  • Schlüssel

    String

    Wert der gedrückten Taste

  • keyCode

    number optional

    Der eingestellte HTML-keyCode, ein system- und implementierungsabhängiger numerischer Code, der die unveränderte Kennung des gedrückten Schlüssels angibt.

  • requestId

    String optional

    (Veraltet) Die ID der Anfrage. Verwenden Sie stattdessen den Parameter requestId aus dem onKeyEvent-Ereignis.

  • shiftKey

    boolean optional

    Gibt an, ob die UMSCHALTTASTE gedrückt ist.

  • Einer der beiden Werte: „keyup“ oder „keydown“.

KeyboardEventType

Chrome 44 und höher

Enum

"keyup"

"keydown"

MenuItem

Ein Menüelement, das von einer Eingabemethode verwendet wird, um über das Sprachmenü mit dem Nutzer zu interagieren.

Attribute

  • ausgewählt

    boolean optional

    Gibt an, dass dieses Element mit einem Häkchen gezeichnet werden soll.

  • aktiviert

    boolean optional

    Gibt an, dass dieses Element aktiviert ist.

  • id

    String

    String, der an Callbacks übergeben wird, die auf dieses MenuItem verweisen.

  • Label

    String optional

    Text, der im Menü für dieses Element angezeigt wird.

  • Stil

    MenuItemStyle optional

    Der Typ des Menüpunkts.

  • sichtbar

    boolean optional

    Gibt an, dass dieses Element sichtbar ist.

MenuItemStyle

Chrome 44 und höher

Der Typ des Menüpunkts. Optionsfelder zwischen Trennzeichen werden als gruppiert betrachtet.

Enum

„check“

"radio"

"separator"

MenuParameters

Chrome 88 und höher

Attribute

  • engineID

    String

    ID der zu verwendenden Engine.

  • Elemente

    MenuItems, die hinzugefügt oder aktualisiert werden sollen. Sie werden in der Reihenfolge hinzugefügt, in der sie im Array vorhanden sind.

MouseButton

Chrome 44 und höher

Welche Maustasten gedrückt wurden

Enum

"left"

"middle"

"right"

ScreenType

Chrome 44 und höher

Der Bildschirmtyp, unter dem der IME aktiviert wird.

Enum

"normal"

"login"

"lock"

"secondary-login"

UnderlineStyle

Chrome 44 und höher

Der Typ der Unterstreichung, mit der dieses Segment geändert werden soll.

Enum

"underline"

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44 und höher

Wo das Kandidatenfenster angezeigt werden soll. Wenn diese Option auf „cursor“ festgelegt ist, folgt das Fenster dem Cursor. Wenn diese Option auf „composition“ festgelegt ist, wird das Fenster am Anfang der Komposition fixiert.

Enum

"cursor"

"composition"

Methoden

clearComposition()

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

Aktuelle Komposition löschen Wenn diese Erweiterung nicht die aktive IME besitzt, schlägt der Vorgang fehl.

Parameter

  • Parameter

    Objekt

    • contextID

      Zahl

      ID des Kontexts, in dem die Komposition gelöscht wird

Ausgabe

  • Promise<boolean>

    Chrome 111 und höher

commitText()

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

Übernimmt den angegebenen Text in die aktuelle Eingabe.

Parameter

  • Parameter

    Objekt

    • contextID

      Zahl

      ID des Kontexts, in dem der Text übernommen wird

    • Text

      String

      Der zu übergebende Text

Ausgabe

  • Promise<boolean>

    Chrome 111 und höher

deleteSurroundingText()

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

Löscht den Text um den Cursor.

Parameter

  • Parameter

    Objekt

    • contextID

      Zahl

      ID des Kontexts, in dem der umgebende Text gelöscht wird.

    • engineID

      String

      ID der Engine, die das Ereignis empfängt.

    • Länge

      Zahl

      Die Anzahl der zu löschenden Zeichen

    • kompensiert

      Zahl

      Der Offset von der Cursorposition, an der das Löschen beginnt. Dieser Wert kann negativ sein.

Ausgabe

  • Promise<void>

    Chrome 111 und höher

hideInputView()

chrome.input.ime.hideInputView(): void

Blendet das Eingabefenster aus, das automatisch vom System eingeblendet wird. Wenn das Eingabeansichtsfenster bereits ausgeblendet ist, hat diese Funktion keine Auswirkungen.

keyEventHandled()

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

Gibt an, dass das von onKeyEvent empfangene Schlüsselereignis verarbeitet wird. Diese Methode sollte nur aufgerufen werden, wenn der onKeyEvent-Listener asynchron ist.

Parameter

  • requestId

    String

    Anfrage-ID des Ereignisses, das verarbeitet wurde. Dieser Wert sollte von „keyEvent.requestId“ stammen.

  • Antwort

    boolean

    Wahr, wenn der Tastendruck verarbeitet wurde, andernfalls falsch

sendKeyEvents()

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

Sendet die Schlüsselereignisse. Diese Funktion soll von virtuellen Tastaturen verwendet werden. Wenn ein Nutzer eine oder mehrere Tasten auf einer virtuellen Tastatur drückt, wird diese Funktion verwendet, um das Ereignis an das System weiterzugeben.

Parameter

  • Parameter

    Objekt

    • contextID

      Zahl

      ID des Kontexts, in dem die Schlüsselereignisse gesendet werden, oder 0, um Schlüsselereignisse an ein Nicht-Eingabefeld zu senden.

    • keyData

      Daten zum Schlüsselereignis.

Ausgabe

  • Promise<void>

    Chrome 111 und höher

setAssistiveWindowButtonHighlighted()

Chrome 86 und höher
chrome.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
)
: Promise<void>

Hebt eine Schaltfläche in einem Bedienungshilfenfenster hervor oder entfernt die Hervorhebung.

Parameter

  • Parameter

    Objekt

    • announceString

      String optional

      Der Text, der vom Screenreader vorgelesen werden soll.

    • Die ID der Schaltfläche

    • contextID

      Zahl

      ID des Kontexts, zu dem das Assistenzfenster gehört.

    • hervorgehoben

      boolean

      Gibt an, ob die Schaltfläche hervorgehoben werden soll.

    • windowType

      „undo“

      Der Fenstertyp, zu dem die Schaltfläche gehört.

Ausgabe

  • Promise<void>

    Chrome 111 und höher

setAssistiveWindowProperties()

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

Zeigt ein Hilfsfenster mit den angegebenen Eigenschaften an oder blendet es aus.

Parameter

  • Parameter

    Objekt

    • contextID

      Zahl

      ID des Kontexts, zu dem das Assistenzfenster gehört.

    • Eigenschaften des Assistenzfensters.

Ausgabe

  • Promise<boolean>

    Chrome 111 und höher

setCandidates()

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

Legt die aktuelle Kandidatenliste fest. Dieser Vorgang schlägt fehl, wenn die Erweiterung nicht die aktive IME besitzt.

Parameter

  • Parameter

    Objekt

    • Kandidaten

      object[]

      Liste der Kandidaten, die im Kandidatenfenster angezeigt werden sollen

      • Annotation

        String optional

        Zusätzlicher Text zur Beschreibung des Kandidaten

      • Variante

        String

        Der Kandidat

      • id

        Zahl

        Die ID des Kandidaten

      • Label

        String optional

        Kurzer String, der neben dem Vorschlag angezeigt wird, oft die Tastenkombination oder der Index

      • parentId

        number optional

        Die ID, unter der diese Kandidaten hinzugefügt werden sollen

      • Verwendung

        object optional

        Die Verwendung oder detaillierte Beschreibung des Wortes.

        • body

          String

          Der Text der Detailbeschreibung.

        • Titel

          String

          Der Titelstring der Detailbeschreibung.

    • contextID

      Zahl

      ID des Kontexts, zu dem das Kandidatenfenster gehört.

Ausgabe

  • Promise<boolean>

    Chrome 111 und höher

setCandidateWindowProperties()

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

Legt die Eigenschaften des Kandidatenfensters fest. Dieser Vorgang schlägt fehl, wenn die Erweiterung nicht die aktive IME besitzt.

Parameter

  • Parameter

    Objekt

    • engineID

      String

      ID der Engine, für die Attribute festgelegt werden sollen.

    • Properties

      Objekt

      • auxiliaryText

        String optional

        Text, der unten im Kandidatenfenster angezeigt wird.

      • auxiliaryTextVisible

        boolean optional

        „True“, um den Hilfetext anzuzeigen, „false“, um ihn auszublenden.

      • currentCandidateIndex

        number optional

        Chrome 84 und höher

        Der Index des aktuell ausgewählten Kandidaten im Verhältnis zur Gesamtzahl der Kandidaten.

      • cursorVisible

        boolean optional

        „True“, um den Cursor einzublenden, „false“, um ihn auszublenden.

      • pageSize

        number optional

        Die Anzahl der Kandidaten, die pro Seite angezeigt werden sollen.

      • totalCandidates

        number optional

        Chrome 84 und höher

        Die Gesamtzahl der Kandidaten für das Kandidatenfenster.

      • Branche

        boolean optional

        „True“, wenn das Kandidatenfenster vertikal gerendert werden soll, „false“, wenn es horizontal gerendert werden soll.

      • sichtbar

        boolean optional

        „True“, um das Vorschlagsfenster ein- und „false“, um es auszublenden.

      • windowPosition

        WindowPosition optional

        Wo das Kandidatenfenster angezeigt werden soll.

Ausgabe

  • Promise<boolean>

    Chrome 111 und höher

setComposition()

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

Legen Sie die aktuelle Komposition fest. Wenn diese Erweiterung nicht die aktive IME besitzt, schlägt der Vorgang fehl.

Parameter

  • Parameter

    Objekt

    • contextID

      Zahl

      ID des Kontexts, in dem der Kompositionstext festgelegt wird

    • cursor

      Zahl

      Position des Cursors im Text.

    • Segmente

      object[] optional

      Liste der Segmente und der zugehörigen Typen.

      • Ende

        Zahl

        Index des Zeichens, nach dem dieses Segment enden soll.

      • start

        Zahl

        Index des Zeichens, mit dem dieses Segment beginnen soll

      • Der Typ der Unterstreichung, mit der dieses Segment geändert werden soll.

    • selectionEnd

      number optional

      Position im Text, an der die Auswahl endet.

    • selectionStart

      number optional

      Position im Text, an der die Auswahl beginnt.

    • Text

      String

      Festzulegender Text

Ausgabe

  • Promise<boolean>

    Chrome 111 und höher

setCursorPosition()

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

Legen Sie die Position des Cursors im Kandidatenfenster fest. Wenn diese Erweiterung nicht das aktive IME besitzt, ist dies ein Leerbefehl.

Parameter

  • Parameter

    Objekt

    • candidateID

      Zahl

      ID des auszuwählenden Kandidaten.

    • contextID

      Zahl

      ID des Kontexts, zu dem das Kandidatenfenster gehört.

Ausgabe

  • Promise<boolean>

    Chrome 111 und höher

setMenuItems()

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

Fügt dem Sprachmenü die angegebenen Menüpunkte hinzu, wenn diese IME aktiv ist.

Parameter

Ausgabe

  • Promise<void>

    Chrome 111 und höher

updateMenuItems()

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

Aktualisiert den Status der angegebenen MenuItems.

Parameter

Ausgabe

  • Promise<void>

    Chrome 111 und höher

Ereignisse

onActivate

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

Dieses Ereignis wird gesendet, wenn eine IME aktiviert wird. Es signalisiert, dass die IME onKeyPress-Ereignisse empfängt.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

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

onAssistiveWindowButtonClicked

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

Dieses Ereignis wird gesendet, wenn auf eine Schaltfläche in einem Assistenzfenster geklickt wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => void

onBlur

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

Dieses Ereignis wird gesendet, wenn der Fokus ein Textfeld verlässt. Sie wird an alle Erweiterungen gesendet, die auf dieses Ereignis warten und vom Nutzer aktiviert wurden.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (contextID: number) => void

    • contextID

      Zahl

onCandidateClicked

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

Dieses Ereignis wird gesendet, wenn diese Erweiterung die aktive IME besitzt.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

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

    • engineID

      String

    • candidateID

      Zahl

    • Schaltfläche

onDeactivated

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

Dieses Ereignis wird gesendet, wenn eine IME deaktiviert wird. Es signalisiert, dass das IME keine onKeyPress-Ereignisse mehr empfängt.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (engineID: string) => void

    • engineID

      String

onFocus

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

Dieses Ereignis wird gesendet, wenn der Fokus in ein Textfeld gelangt. Sie wird an alle Erweiterungen gesendet, die auf dieses Ereignis warten und vom Nutzer aktiviert wurden.

Parameter

onInputContextUpdate

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

Dieses Ereignis wird gesendet, wenn sich die Eigenschaften des aktuellen InputContext ändern, z. B. der Typ. Sie wird an alle Erweiterungen gesendet, die auf dieses Ereignis warten und vom Nutzer aktiviert wurden.

Parameter

onKeyEvent

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

Wird ausgelöst, wenn ein Schlüsselereignis vom Betriebssystem gesendet wird. Das Ereignis wird an die Erweiterung gesendet, wenn diese das aktive IME besitzt. Die Listener-Funktion sollte „true“ zurückgeben, wenn das Ereignis verarbeitet wurde, und „false“, wenn nicht. Wenn das Ereignis asynchron ausgewertet wird, muss diese Funktion „undefined“ zurückgeben und die IME muss später „keyEventHandled()“ mit dem Ergebnis aufrufen.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

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

    • Gibt zurück

      boolean | undefined

onMenuItemActivated

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

Wird aufgerufen, wenn der Nutzer ein Menüelement auswählt

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

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

    • engineID

      String

    • name

      String

onReset

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

Dieses Ereignis wird gesendet, wenn Chrome eine laufende Texteingabesitzung beendet.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (engineID: string) => void

    • engineID

      String

onSurroundingTextChanged

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

Wird aufgerufen, wenn sich der bearbeitbare String um den Cursor ändert oder wenn die Cursorposition verschoben wird. Die Textlänge ist für jede Richtung auf 100 Zeichen begrenzt.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

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

    • engineID

      String

    • surroundingInfo

      Objekt

      • anchor

        Zahl

        Die Anfangsposition der Auswahl. Dieser Wert gibt die Cursorposition an, wenn keine Auswahl vorhanden ist.

      • Fokus

        Zahl

        Die Endposition der Auswahl. Dieser Wert gibt die Cursorposition an, wenn keine Auswahl vorhanden ist.

      • kompensiert

        Zahl

        Chrome 46 und höher

        Die Offsetposition von text. Da text nur eine Teilmenge des Texts um den Cursor enthält, gibt „offset“ die absolute Position des ersten Zeichens von text an.

      • Text

        String

        Der Text um den Cursor. Dies ist nur ein Teil des gesamten Texts im Eingabefeld.