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
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
ID der Schaltflächen im Bedienungshilfenfenster.
Enum
„undo“
"addToDictionary"
AssistiveWindowProperties
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
Typ des unterstützenden Fensters.
Wert
„undo“
AutoCapitalizeType
Der Typ der automatischen Großschreibung für das Textfeld.
Enum
"characters"
„words“
„sentences“
InputContext
Beschreibt einen Eingabekontext
Attribute
- autoCapitalizeChrome 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öherGibt 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
Typ des Werts, der in diesem Textfeld bearbeitet wird (Text, Zahl, URL usw.)
InputContextType
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öherGibt 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 demonKeyEvent
-Ereignis. - shiftKey
boolean optional
Gibt an, ob die UMSCHALTTASTE gedrückt ist.
-
Einer der beiden Werte: „keyup“ oder „keydown“.
KeyboardEventType
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
Der Typ des Menüpunkts. Optionsfelder zwischen Trennzeichen werden als gruppiert betrachtet.
Enum
„check“
"radio"
"separator"
MenuParameters
Attribute
- engineID
String
ID der zu verwendenden Engine.
- Elemente
MenuItem[]
MenuItems, die hinzugefügt oder aktualisiert werden sollen. Sie werden in der Reihenfolge hinzugefügt, in der sie im Array vorhanden sind.
MouseButton
Welche Maustasten gedrückt wurden
Enum
"left"
"middle"
"right"
ScreenType
Der Bildschirmtyp, unter dem der IME aktiviert wird.
Enum
"normal"
"login"
"lock"
"secondary-login"
UnderlineStyle
Der Typ der Unterstreichung, mit der dieses Segment geändert werden soll.
Enum
"underline"
"doubleUnderline"
"noUnderline"
WindowPosition
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.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.
- buttonID
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.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.
- Properties
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öherDer 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öherDie 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
- Stil
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
- 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
- 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
- engineID
String
- Bildschirm
-
onAssistiveWindowButtonClicked
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
- Details
Objekt
- buttonID
Die ID der angeklickten Schaltfläche.
- windowType
Der Typ des Bedienungshilfenfensters.
-
-
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
- callback
Funktion
Der Parameter
callback
sieht so aus:(context: InputContext) => void
- context
-
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
- callback
Funktion
Der Parameter
callback
sieht so aus:(context: InputContext) => void
- context
-
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
- engineID
String
- keyData
- requestId
String
- 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öherDie Offsetposition von
text
. Datext
nur eine Teilmenge des Texts um den Cursor enthält, gibt „offset“ die absolute Position des ersten Zeichens vontext
an. - Text
String
Der Text um den Cursor. Dies ist nur ein Teil des gesamten Texts im Eingabefeld.
-
-