Beschreibung
Mit der chrome.input.ime API können Sie eine benutzerdefinierte Eingabemethode für ChromeOS implementieren. Dadurch kann Ihre Erweiterung Tastenanschläge verarbeiten, die Zusammensetzung festlegen und das Kandidatenfenster verwalten.
Berechtigungen
inputSie 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 ein IME erstellt, der eingegebene Buchstaben in Großbuchstaben umwandelt.
var context_id = -1;
browser.input.ime.onFocus.addListener(function(context) {
context_id = context.contextID;
});
browser.input.ime.onKeyEvent.addListener(
function(engineID, keyData) {
if (keyData.type == "keydown" && keyData.key.match(/^[a-z]$/)) {
browser.input.ime.commitText({"contextID": context_id,
"text": keyData.key.toUpperCase()});
return true;
} else {
return false;
}
}
);
Typen
AssistiveWindowButton
ID der Schaltflächen im Hilfefenster.
Enum
"undo"
"addToDictionary"
AssistiveWindowProperties
Eigenschaften des Assistenzfensters.
Attribute
-
announceString
String optional
Strings, die von ChromeVox angesagt werden sollen.
-
Typ
"undo"
-
sichtbar
boolean
Wird auf „true“ gesetzt, um das AssistiveWindow einzublenden, und auf „false“, um es auszublenden.
AssistiveWindowType
Typ des Assistenzfensters.
Wert
"undo"
AutoCapitalizeType
Der Typ der automatischen Großschreibung des Textfelds.
Enum
"characters"
"words"
"sentences"
InputContext
Beschreibt einen Eingabekontext
Attribute
-
autoCapitalizeChrome 69 und höher browser.* seit Chrome 148
Der Typ der automatischen Großschreibung des Textfelds.
-
autoComplete
boolean
Gibt an, ob die automatische Vervollständigung für das Textfeld aktiviert werden soll.
-
autoCorrect
boolean
Gibt an, ob für das Textfeld die Autokorrektur 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 oder höher browser.* seit Chrome 148Gibt an, ob der in das Textfeld eingegebene Text verwendet werden soll, um die Eingabevorschläge für den Nutzer zu verbessern.
-
spellCheck
boolean
Gibt an, ob für das Textfeld eine Rechtschreibprüfung gewünscht ist.
-
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
Siehe http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
Attribute
-
altKey
Boolesch optional
Gibt an, ob die ALT-Taste gedrückt ist.
-
altgrKey
Boolesch optional
Chrome 79 und höher browser.* seit Chrome 148Gibt an, ob die ALTGR-Taste gedrückt ist.
-
capsLock
Boolesch optional
Gibt an, ob die Feststelltaste aktiviert ist.
-
Code
String
Wert der gedrückten physischen Taste. Der Wert wird nicht vom aktuellen Tastaturlayout oder dem Status der Modifikatortasten beeinflusst.
-
ctrlKey
Boolesch 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 veraltete HTML-keyCode, ein system- und implementierungsabhängiger numerischer Code, der die unveränderte Kennung der gedrückten Taste angibt.
-
requestId
String optional
(Verworfen) Die ID der Anfrage. Verwenden Sie stattdessen den Parameter
requestIdaus dem EreignisonKeyEvent. -
shiftKey
Boolesch optional
Gibt an, ob die Umschalttaste gedrückt ist.
-
Entweder „keyup“ oder „keydown“.
KeyboardEventType
Enum
"keyup"
"keydown"
MenuItem
Ein Menüpunkt, der von einer Eingabemethode verwendet wird, um über das Sprachmenü mit dem Nutzer zu interagieren.
Attribute
-
ausgewählt
Boolesch optional
Gibt an, dass dieses Element mit einem Häkchen gezeichnet werden soll.
-
aktiviert
Boolesch 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 diesen Artikel angezeigt wird.
-
Stil
MenuItemStyle optional
Der Typ des Menüpunkts.
-
sichtbar
Boolesch 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 geklickt wurden.
Enum
"left"
"middle"
"right"
ScreenType
Der Bildschirmtyp, unter dem die Eingabemethode aktiviert wird.
Enum
"normal"
"login"
"lock"
"secondary-login"
UnderlineStyle
Der Typ der Unterstreichung, um dieses Segment zu ändern.
Enum
"underline"
"doubleUnderline"
"noUnderline"
WindowPosition
Wo das Kandidatenfenster angezeigt werden soll. Wenn „cursor“ festgelegt ist, folgt das Fenster dem Cursor. Wenn „composition“ festgelegt ist, wird das Fenster am Anfang der Komposition fixiert.
Enum
"cursor"
"composition"
Methoden
clearComposition()
browser.input.ime.clearComposition(
parameters: object,
): Promise<boolean>
Aktuelle Komposition löschen. Wenn diese Erweiterung nicht der Inhaber des aktiven IME ist, schlägt dies fehl.
Parameter
-
Parameter
Objekt
-
contextID
Zahl
ID des Kontexts, in dem die Komposition gelöscht wird
-
Ausgabe
-
Promise<boolean>
Chrome 111 und höher browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist. Ein boolescher Wert gibt an, ob der Text akzeptiert wurde oder nicht. Bei einem Fehler wird das Versprechen abgelehnt.
commitText()
browser.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 festgeschrieben wird
-
Text
String
Der zu übernehmende Text
-
Ausgabe
-
Promise<boolean>
Chrome 111 und höher browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist. Ein boolescher Wert gibt an, ob der Text akzeptiert wurde oder nicht. Bei einem Fehler wird das Versprechen abgelehnt.
deleteSurroundingText()
browser.input.ime.deleteSurroundingText(
parameters: object,
): Promise<void>
Löscht den Text um den Cursor herum.
Parameter
-
Parameter
Objekt
-
contextID
Zahl
ID des Kontexts, in dem der umgebende Text gelöscht wird.
-
engineID
String
ID der Suchmaschine, die das Ereignis empfängt.
-
Länge
Zahl
Die Anzahl der zu löschenden Zeichen
-
kompensiert
Zahl
Der Offset von der Position des Caret-Zeichens, an der das Löschen beginnt. Dieser Wert kann negativ sein.
-
Ausgabe
-
Promise<void>
Chrome 111 und höher browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist.
hideInputView()
browser.input.ime.hideInputView(): void
Blendet das Eingabeansichtsfenster aus, das automatisch vom System eingeblendet wird. Wenn das Eingabefenster bereits ausgeblendet ist, hat diese Funktion keine Auswirkungen.
keyEventHandled()
browser.input.ime.keyEventHandled(
requestId: string,
response: boolean,
): void
Gibt an, dass das von onKeyEvent empfangene Schlüsselereignis verarbeitet wird. Dies sollte nur aufgerufen werden, wenn der onKeyEvent-Listener asynchron ist.
Parameter
-
requestId
String
Anfrage-ID des Ereignisses, das verarbeitet wurde. Dieser sollte aus keyEvent.requestId stammen.
-
Antwort
boolean
„True“, wenn der Tastendruck verarbeitet wurde, andernfalls „false“
sendKeyEvents()
browser.input.ime.sendKeyEvents(
parameters: object,
): Promise<void>
Sendet die Schlüsselereignisse. Diese Funktion wird voraussichtlich von Bildschirmtastaturen verwendet. Wenn ein Nutzer eine oder mehrere Tasten auf einer Bildschirmtastatur drückt, wird diese Funktion verwendet, um das Ereignis an das System weiterzugeben.
Parameter
-
Parameter
Objekt
-
contextID
Zahl
ID des Kontexts, an den 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 browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist.
setAssistiveWindowButtonHighlighted()
browser.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
Hebt eine Schaltfläche in einem Hilfefenster hervor oder hebt die Hervorhebung auf.
Parameter
-
Parameter
Objekt
-
announceString
String optional
Der Text, der vom Screenreader angesagt 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 browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist. Bei einem Fehler wird das Versprechen abgelehnt.
setAssistiveWindowProperties()
browser.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
Blendet ein Hilfefenster mit den angegebenen Eigenschaften ein oder 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 browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist.
setCandidates()
browser.input.ime.setCandidates(
parameters: object,
): Promise<boolean>
Legt die aktuelle Kandidatenliste fest. Dies schlägt fehl, wenn diese Erweiterung nicht die aktive Eingabemethode besitzt.
Parameter
-
Parameter
Objekt
-
Kandidaten
object[]
Liste der Kandidaten, die im Kandidatenfenster angezeigt werden sollen
-
Annotation
String optional
Zusätzlicher Text, der den Kandidaten beschreibt
-
Variante
String
Der Kandidat
-
id
Zahl
Die ID des Kandidaten
-
Label
String optional
Kurzer String, der neben dem Kandidaten angezeigt wird, oft die Tastenkombination oder der Index
-
parentId
number optional
Die ID, unter der diese Kandidaten hinzugefügt werden sollen
-
Verwendung
Objekt optional
Die Verwendung oder detaillierte Beschreibung des Wortes.
-
Text
String
Der Textstring der detaillierten Beschreibung.
-
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 browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist.
setCandidateWindowProperties()
browser.input.ime.setCandidateWindowProperties(
parameters: object,
): Promise<boolean>
Legt die Eigenschaften des Kandidatenfensters fest. Dies schlägt fehl, wenn die Erweiterung nicht der Inhaber des aktiven IME ist.
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
Boolesch optional
„True“, um den Hilfstext anzuzeigen, „False“, um ihn auszublenden.
-
currentCandidateIndex
number optional
Chrome 84 und höher browser.* seit Chrome 148Der Index des aktuell ausgewählten Kandidaten im Verhältnis zur Gesamtzahl der Kandidaten.
-
cursorVisible
Boolesch optional
„True“, um den Cursor anzuzeigen, „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 browser.* seit Chrome 148Die Gesamtzahl der Kandidaten für das Kandidatenfenster.
-
Branche
Boolesch optional
„True“, wenn das Kandidatenfenster vertikal dargestellt werden soll, „False“, wenn es horizontal dargestellt werden soll.
-
sichtbar
Boolesch optional
„True“, um das Kandidatenfenster einzublenden, „False“, um es auszublenden.
-
windowPosition
WindowPosition optional
Wo das Kandidatenfenster angezeigt werden soll.
-
-
Ausgabe
-
Promise<boolean>
Chrome 111 und höher browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist.
setComposition()
browser.input.ime.setComposition(
parameters: object,
): Promise<boolean>
Aktuelle Komposition festlegen. Wenn diese Erweiterung nicht der Inhaber des aktiven IME ist, schlägt dies fehl.
Parameter
-
Parameter
Objekt
-
contextID
Zahl
ID des Kontexts, in dem der Text für die Erstellung 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, bei dem dieses Segment beginnen soll
-
Stil
Der Typ der Unterstreichung, um dieses Segment zu ändern.
-
-
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 browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist. Ein boolescher Wert gibt an, ob der Text akzeptiert wurde oder nicht. Bei einem Fehler wird das Versprechen abgelehnt.
setCursorPosition()
browser.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
Legen Sie die Position des Cursors im Kandidatenfenster fest. Dies ist ein No-Op, wenn diese Erweiterung nicht die aktive Eingabemethode besitzt.
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 browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist
setMenuItems()
browser.input.ime.setMenuItems(
parameters: MenuParameters,
): Promise<void>
Fügt die angegebenen Menüpunkte dem Sprachmenü hinzu, wenn diese Eingabemethode aktiv ist.
Parameter
-
Parameter
Ausgabe
-
Promise<void>
Chrome 111 und höher browser.* seit Chrome 148
updateMenuItems()
browser.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
Aktualisiert den Status der angegebenen MenuItems
Parameter
-
Parameter
Ausgabe
-
Promise<void>
Chrome 111 und höher browser.* seit Chrome 148Wird aufgelöst, wenn der Vorgang abgeschlossen ist
Ereignisse
onActivate
browser.input.ime.onActivate.addListener(
callback: function,
)
Dieses Ereignis wird gesendet, wenn ein IME aktiviert wird. Es signalisiert, dass der IME onKeyPress-Ereignisse empfängt.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(engineID: string, screen: ScreenType) => void
-
engineID
String
-
Bildschirm
-
onAssistiveWindowButtonClicked
browser.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
Dieses Ereignis wird gesendet, wenn auf eine Schaltfläche in einem Hilfefenster geklickt wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(details: object) => void
-
Details
Objekt
-
buttonID
Die ID des angeklickten Buttons.
-
windowType
Der Typ des Assistenzfensters.
-
-
onBlur
browser.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
callbacksieht so aus:(contextID: number) => void
-
contextID
Zahl
-
onCandidateClicked
browser.input.ime.onCandidateClicked.addListener(
callback: function,
)
Dieses Ereignis wird gesendet, wenn diese Erweiterung die aktive Eingabemethode besitzt.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(engineID: string, candidateID: number, button: MouseButton) => void
-
engineID
String
-
candidateID
Zahl
-
Sicherungsknopf
-
onDeactivated
browser.input.ime.onDeactivated.addListener(
callback: function,
)
Dieses Ereignis wird gesendet, wenn ein IME deaktiviert wird. Es signalisiert, dass der IME keine onKeyPress-Ereignisse mehr empfängt.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(engineID: string) => void
-
engineID
String
-
onFocus
browser.input.ime.onFocus.addListener(
callback: function,
)
Dieses Ereignis wird gesendet, wenn der Fokus auf ein Textfeld verschoben wird. Sie wird an alle Erweiterungen gesendet, die auf dieses Ereignis warten und vom Nutzer aktiviert wurden.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(context: InputContext) => void
-
context
-
onInputContextUpdate
browser.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
callbacksieht so aus:(context: InputContext) => void
-
context
-
onKeyEvent
browser.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 Erweiterung die aktive Eingabemethode 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 Eingabemethode muss später „keyEventHandled()“ mit dem Ergebnis aufrufen.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
String
-
keyData
-
requestId
String
-
Gibt zurück
boolean | undefined
-
onMenuItemActivated
browser.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Wird aufgerufen, wenn der Nutzer einen Menüpunkt auswählt
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(engineID: string, name: string) => void
-
engineID
String
-
name
String
-
onReset
browser.input.ime.onReset.addListener(
callback: function,
)
Dieses Ereignis wird gesendet, wenn Chrome eine laufende Texteingabesitzung beendet.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(engineID: string) => void
-
engineID
String
-
onSurroundingTextChanged
browser.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
Wird aufgerufen, wenn der bearbeitbare String um den Cursor geändert oder die Cursorposition verschoben wird. Die Textlänge ist auf 100 Zeichen pro Richtung beschränkt.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht 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 getroffen wurde.
-
Fokus
Zahl
Die Endposition der Auswahl. Dieser Wert gibt die Cursorposition an, wenn keine Auswahl getroffen wurde.
-
kompensiert
Zahl
Chrome 46 und höher browser.* seit Chrome 148Die Offset-Position von
text. Datextnur einen Teil des Texts um den Cursor herum enthält, gibt der Offset die absolute Position des ersten Zeichens vontextan. -
Text
String
Der Text um den Cursor. Dies ist nur ein Teil des gesamten Texts im Eingabefeld.
-
-