Beschrijving
Gebruik de chrome.input.ime API om een aangepaste IME voor ChromeOS te implementeren. Hiermee kan je extensie toetsaanslagen verwerken, de samenstelling instellen en het kandidaatvenster beheren.
Rechten
inputJe moet het recht 'input' definiëren in het extensiemanifest om de input.ime API te gebruiken. Voorbeeld:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Beschikbaarheid
Voorbeelden
Met de volgende code maak je een IME die getypte letters omzet in hoofdletters.
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 van knoppen in het ondersteunende venster.
Enum
"undo"
"addToDictionary"
AssistiveWindowProperties
Eigenschappen van het ondersteunende venster.
Eigenschappen
-
announceString
tekenreeks optioneel
Tekenreeksen die ChromeVox moet aankondigen.
-
type
"undo"
-
zichtbaar
booleaans
Stelt de waarde in op True om AssistiveWindow te tonen en op False om het te verbergen.
AssistiveWindowType
Type ondersteunend venster.
Waarde
"undo"
AutoCapitalizeType
Het type automatisch hoofdlettergebruik van het tekstveld.
Enum
"characters"
"words"
"sentences"
InputContext
Beschrijft een invoercontext
Eigenschappen
-
autoCapitalizeChrome 69 of hoger browser.* sinds Chrome 148
Het type automatisch hoofdlettergebruik van het tekstveld.
-
autoComplete
booleaans
Of het tekstveld automatisch aanvullen wil.
-
autoCorrect
booleaans
Of het tekstveld autocorrectie wil.
-
contextID
getal
Dit wordt gebruikt om doelen van tekstveldbewerkingen aan te geven. Deze ID wordt ongeldig zodra onBlur wordt aangeroepen.
-
shouldDoLearning
booleaans
Chrome 68+ browser.* sinds Chrome 148Of tekst die in het tekstveld is ingevoerd, moet worden gebruikt om de suggesties voor de gebruiker te verbeteren.
-
spellCheck
booleaans
Of het tekstveld spellingcontrole wil.
-
type
Type waarde dat dit tekstveld bewerkt (tekst, getal, URL, enzovoort)
InputContextType
Type waarde dat dit tekstveld bewerkt (tekst, getal, URL, enzovoort)
Enum
"text"
"search"
"tel"
"url"
"email"
"number"
"password"
"null"
KeyboardEvent
Ga naar http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
Eigenschappen
-
altKey
booleaans optioneel
Of de ALT-toets is ingedrukt.
-
altgrKey
booleaans optioneel
Chrome 79+ browser.* sinds Chrome 148Of de ALTGR-toets is ingedrukt.
-
capsLock
booleaans optioneel
Of CAPS_LOCK aanstaat.
-
code
tekenreeks
Waarde van de fysieke toets die wordt ingedrukt. De waarde wordt niet beïnvloed door de huidige toetsenbordindeling of de status van de functietoetsen.
-
ctrlKey
booleaans optioneel
Of de CTRL-toets is ingedrukt.
-
extensionId
tekenreeks optioneel
De extensie-ID van de afzender van deze toetsgebeurtenis.
-
sleutel
tekenreeks
Waarde van de toets die wordt ingedrukt
-
keyCode
number optioneel
De beëindigde HTML keyCode, een systeem- en implementatieafhankelijke numerieke code die de ongewijzigde ID aangeeft die is gekoppeld aan de ingedrukte toets.
-
requestId
tekenreeks optioneel
(Beëindigd) De ID van het verzoek. Gebruik in plaats daarvan de parameter
requestIdvan de gebeurtenisonKeyEvent. -
shiftKey
booleaans optioneel
Of de Shift-toets is ingedrukt.
-
type
keyup of keydown.
KeyboardEventType
Enum
"keyup"
"keydown"
MenuItem
Een menu-item dat door een invoermethode wordt gebruikt om met de gebruiker te communiceren via het taalmenu.
Eigenschappen
-
aangevinkt
booleaans optioneel
Geeft aan dat dit item moet worden getekend met een vinkje.
-
aangezet
booleaans optioneel
Geeft aan dat dit item aanstaat.
-
id
tekenreeks
Tekenreeks die wordt doorgegeven aan callbacks die verwijzen naar dit MenuItem.
-
label
tekenreeks optioneel
Tekst die in het menu voor dit item wordt getoond.
-
stijl
MenuItemStyle optioneel
Het type menu-item.
-
zichtbaar
booleaans optioneel
Geeft aan dat dit item zichtbaar is.
MenuItemStyle
Het type menu-item. Keuzerondjes tussen scheidingstekens worden als gegroepeerd beschouwd.
Enum
"check"
"radio"
"separator"
MenuParameters
Eigenschappen
-
engineID
tekenreeks
ID van de engine die je wilt gebruiken.
-
items
MenuItem[]
MenuItems die u wilt toevoegen of updaten. Ze worden toegevoegd in de volgorde waarin ze in de matrix staan.
MouseButton
Op welke muisknoppen is geklikt.
Enum
"left"
"middle"
"right"
ScreenType
Het schermtype waaronder de IME is geactiveerd.
Enum
"normal"
"login"
"lock"
"secondary-login"
UnderlineStyle
Het type onderstreping om dit segment aan te passen.
Enum
"underline"
doubleUnderline
"noUnderline"
WindowPosition
Waar het kandidaatvenster moet worden getoond. Als je deze instelt op Cursor, volgt het venster de cursor. Als je deze instelt op composition, wordt het venster vergrendeld aan het begin van de compositie.
Enum
"cursor"
compositie
Methoden
clearComposition()
browser.input.ime.clearComposition(
parameters: object,
): Promise<boolean>
Wis de huidige compositie. Als deze extensie niet de eigenaar is van de actieve IME, mislukt dit.
Parameters
-
parameters
object
-
contextID
getal
ID van de context waarin de compositie wordt gewist
-
Retourzendingen
-
Promise<boolean>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond met een booleaanse waarde die aangeeft of de tekst is geaccepteerd of niet. Als dit mislukt, wordt de promise afgewezen.
commitText()
browser.input.ime.commitText(
parameters: object,
): Promise<boolean>
Voert de verstrekte tekst in de huidige invoer in.
Parameters
-
parameters
object
-
contextID
getal
ID van de context waarin de tekst wordt vastgelegd
-
tekst
tekenreeks
De tekst die moet worden vastgelegd
-
Retourzendingen
-
Promise<boolean>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond met een booleaanse waarde die aangeeft of de tekst is geaccepteerd of niet. Als dit mislukt, wordt de promise afgewezen.
deleteSurroundingText()
browser.input.ime.deleteSurroundingText(
parameters: object,
): Promise<void>
Verwijdert de tekst rond het inlasteken.
Parameters
-
parameters
object
-
contextID
getal
ID van de context waarin de omringende tekst wordt verwijderd.
-
engineID
tekenreeks
ID van de engine die de gebeurtenis krijgt.
-
lengte
getal
Het aantal tekens dat moet worden verwijderd
-
gecompenseerd
getal
De verschuiving vanaf de positie van het inlasteken waar de verwijdering begint. Deze waarde kan negatief zijn.
-
Retourzendingen
-
Promise<void>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond.
hideInputView()
browser.input.ime.hideInputView(): void
Verbergt het invoerweergavevenster, dat automatisch door het systeem wordt geopend. Als het invoerweergavevenster al is verborgen, doet deze functie niets.
keyEventHandled()
browser.input.ime.keyEventHandled(
requestId: string,
response: boolean,
): void
Geeft aan dat de toetsgebeurtenis die is ontvangen door onKeyEvent, is verwerkt. Dit mag alleen worden aangeroepen als de onKeyEvent-listener asynchroon is.
Parameters
-
requestId
tekenreeks
Verzoek-ID van de gebeurtenis die is verwerkt. Dit moet afkomstig zijn van keyEvent.requestId
-
reactie
booleaans
Waar als de toetsaanslag is verwerkt, onwaar als dit niet het geval is
sendKeyEvents()
browser.input.ime.sendKeyEvents(
parameters: object,
): Promise<void>
Stuurt de belangrijke gebeurtenissen. Deze functie wordt naar verwachting gebruikt door virtuele toetsenborden. Als een gebruiker op een of meer toetsen op een virtueel toetsenbord drukt, wordt deze functie gebruikt om die gebeurtenis door te geven aan het systeem.
Parameters
-
parameters
object
-
contextID
getal
ID van de context waarnaar de belangrijke gebeurtenissen worden gestuurd, of 0 om belangrijke gebeurtenissen naar een niet-invoerveld te sturen.
-
keyData
Gegevens over de belangrijke gebeurtenis.
-
Retourzendingen
-
Promise<void>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond.
setAssistiveWindowButtonHighlighted()
browser.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
): Promise<void>
Markeert een knop in een ondersteunend venster of heft de markering op.
Parameters
-
parameters
object
-
announceString
tekenreeks optioneel
De tekst die de schermlezer moet voorlezen.
-
buttonID
De ID van de knop
-
contextID
getal
ID van de context die eigenaar is van het ondersteunende venster.
-
gemarkeerd
booleaans
Of de knop moet worden gemarkeerd.
-
windowType
"undo"
Het venstertype waartoe de knop behoort.
-
Retourzendingen
-
Promise<void>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond. Als dit mislukt, wordt de promise afgewezen.
setAssistiveWindowProperties()
browser.input.ime.setAssistiveWindowProperties(
parameters: object,
): Promise<boolean>
Toont/verbergt een ondersteunend venster met de opgegeven eigenschappen.
Parameters
-
parameters
object
-
contextID
getal
ID van de context die eigenaar is van het ondersteunende venster.
-
property's
Eigenschappen van het ondersteunende venster.
-
Retourzendingen
-
Promise<boolean>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond.
setCandidates()
browser.input.ime.setCandidates(
parameters: object,
): Promise<boolean>
Hiermee wordt de huidige kandidatenlijst ingesteld. Dit mislukt als deze extensie niet de eigenaar is van de actieve IME
Parameters
-
parameters
object
-
kandidaten
object[]
Lijst met kandidaten die moeten worden getoond in het kandidatenvenster
-
annotatie
tekenreeks optioneel
Aanvullende tekst die de kandidaat beschrijft
-
kandidaat
tekenreeks
De kandidaat
-
id
getal
De ID van de kandidaat
-
label
tekenreeks optioneel
Korte tekenreeks die naast de kandidaat wordt getoond, vaak de sneltoets of index
-
parentId
number optioneel
De ID waaronder deze kandidaten moeten worden toegevoegd
-
gebruik
object optioneel
Het gebruik of de gedetailleerde beschrijving van het woord.
-
lichaam
tekenreeks
De hoofdtekst van de gedetailleerde beschrijving.
-
titel
tekenreeks
De titel van de beschrijving van de details.
-
-
-
contextID
getal
ID van de context die eigenaar is van het kandidaatvenster.
-
Retourzendingen
-
Promise<boolean>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond.
setCandidateWindowProperties()
browser.input.ime.setCandidateWindowProperties(
parameters: object,
): Promise<boolean>
Stelt de eigenschappen van het kandidaatvenster in. Dit mislukt als de extensie niet de eigenaar is van de actieve IME
Parameters
-
parameters
object
-
engineID
tekenreeks
ID van de engine waarvoor u property's wilt instellen.
-
property's
object
-
auxiliaryText
tekenreeks optioneel
Tekst die onderaan het kandidaatvenster wordt getoond.
-
auxiliaryTextVisible
booleaans optioneel
True om de hulptekst te tonen, False om deze te verbergen.
-
currentCandidateIndex
number optioneel
Chrome 84 of hoger browser.* sinds Chrome 148De index van de huidige gekozen kandidaat van het totale aantal kandidaten.
-
cursorVisible
booleaans optioneel
Waar om de cursor te tonen, onwaar om deze te verbergen.
-
pageSize
number optioneel
Het aantal kandidaten dat per pagina moet worden getoond.
-
totalCandidates
number optioneel
Chrome 84 of hoger browser.* sinds Chrome 148Het totale aantal kandidaten voor het kandidatenvenster.
-
categorie
booleaans optioneel
Waar als het kandidaatvenster verticaal moet worden weergegeven, onwaar om het horizontaal te maken.
-
zichtbaar
booleaans optioneel
Waar om het venster Kandidaten te tonen, onwaar om het te verbergen.
-
windowPosition
WindowPosition optioneel
Waar het kandidaatvenster moet worden getoond.
-
-
Retourzendingen
-
Promise<boolean>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond.
setComposition()
browser.input.ime.setComposition(
parameters: object,
): Promise<boolean>
Stel de huidige samenstelling in. Als deze extensie niet de eigenaar is van de actieve IME, mislukt dit.
Parameters
-
parameters
object
-
contextID
getal
ID van de context waarin de compositietekst wordt ingesteld
-
cursor
getal
Positie in de tekst van de cursor.
-
segmenten
object[] optioneel
Lijst met segmenten en de bijbehorende typen.
-
End
getal
Index van het teken waarna dit segment moet eindigen.
-
start
getal
Index van het teken waarmee dit segment moet beginnen
-
stijl
Het type onderstreping om dit segment aan te passen.
-
-
selectionEnd
number optioneel
De positie in de tekst waar de selectie eindigt.
-
selectionStart
number optioneel
Positie in de tekst waar de selectie begint.
-
tekst
tekenreeks
Tekst om in te stellen
-
Retourzendingen
-
Promise<boolean>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond met een booleaanse waarde die aangeeft of de tekst is geaccepteerd of niet. Als dit mislukt, wordt de promise afgewezen.
setCursorPosition()
browser.input.ime.setCursorPosition(
parameters: object,
): Promise<boolean>
Stel de positie van de cursor in het kandidaatvenster in. Dit is een no-op als deze extensie niet de eigenaar is van de actieve IME.
Parameters
-
parameters
object
-
candidateID
getal
ID van de kandidaat die je wilt selecteren.
-
contextID
getal
ID van de context die eigenaar is van het kandidaatvenster.
-
Retourzendingen
-
Promise<boolean>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond
setMenuItems()
browser.input.ime.setMenuItems(
parameters: MenuParameters,
): Promise<void>
Voegt de verstrekte menu-items toe aan het taalmenu als deze IME actief is.
Parameters
-
parameters
Retourzendingen
-
Promise<void>
Chrome 111+ browser.* sinds Chrome 148
updateMenuItems()
browser.input.ime.updateMenuItems(
parameters: MenuParameters,
): Promise<void>
Updatet de status van de opgegeven MenuItems
Parameters
-
parameters
Retourzendingen
-
Promise<void>
Chrome 111+ browser.* sinds Chrome 148Wordt opgelost als de bewerking is afgerond
Evenementen
onActivate
browser.input.ime.onActivate.addListener(
callback: function,
)
Deze gebeurtenis wordt verstuurd als een IME wordt geactiveerd. Dit geeft aan dat de IME onKeyPress-gebeurtenissen krijgt.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(engineID: string, screen: ScreenType) => void
-
engineID
tekenreeks
-
scherm
-
onAssistiveWindowButtonClicked
browser.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
Deze gebeurtenis wordt gestuurd als er op een knop in een ondersteunend venster wordt geklikt.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(details: object) => void
-
details
object
-
buttonID
De ID van de knop waarop is geklikt.
-
windowType
Het type hulpvenster.
-
-
onBlur
browser.input.ime.onBlur.addListener(
callback: function,
)
Deze gebeurtenis wordt gestuurd als de focus een tekstvak verlaat. De gebeurtenis wordt gestuurd naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn aangezet.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(contextID: number) => void
-
contextID
getal
-
onCandidateClicked
browser.input.ime.onCandidateClicked.addListener(
callback: function,
)
Deze gebeurtenis wordt gestuurd als deze extensie de actieve IME bezit.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(engineID: string, candidateID: number, button: MouseButton) => void
-
engineID
tekenreeks
-
candidateID
getal
-
knop
-
onDeactivated
browser.input.ime.onDeactivated.addListener(
callback: function,
)
Deze gebeurtenis wordt verstuurd als een IME wordt gedeactiveerd. Dit geeft aan dat de IME geen onKeyPress-gebeurtenissen meer krijgt.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(engineID: string) => void
-
engineID
tekenreeks
-
onFocus
browser.input.ime.onFocus.addListener(
callback: function,
)
Deze gebeurtenis wordt gestuurd als de focus naar een tekstvak gaat. De gebeurtenis wordt gestuurd naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn aangezet.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(context: InputContext) => void
-
context
-
onInputContextUpdate
browser.input.ime.onInputContextUpdate.addListener(
callback: function,
)
Deze gebeurtenis wordt gestuurd als de eigenschappen van de huidige InputContext veranderen, zoals het type. De gebeurtenis wordt gestuurd naar alle extensies die naar deze gebeurtenis luisteren en die door de gebruiker zijn aangezet.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(context: InputContext) => void
-
context
-
onKeyEvent
browser.input.ime.onKeyEvent.addListener(
callback: function,
)
Wordt geactiveerd als er een belangrijke gebeurtenis wordt gestuurd vanuit het besturingssysteem. De gebeurtenis wordt naar de extensie gestuurd als deze extensie de actieve IME bezit. De listenerfunctie moet 'true' retourneren als de gebeurtenis is verwerkt en 'false' als dat niet het geval is. Als de gebeurtenis asynchroon wordt geëvalueerd, moet deze functie undefined retourneren en moet de IME later keyEventHandled() aanroepen met het resultaat.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
tekenreeks
-
keyData
-
requestId
tekenreeks
-
returns
boolean | undefined
-
onMenuItemActivated
browser.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Wordt aangeroepen als de gebruiker een menu-item selecteert
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(engineID: string, name: string) => void
-
engineID
tekenreeks
-
name
tekenreeks
-
onReset
browser.input.ime.onReset.addListener(
callback: function,
)
Deze gebeurtenis wordt verstuurd als Chrome een lopende tekstinvoersessie beëindigt.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(engineID: string) => void
-
engineID
tekenreeks
-
onSurroundingTextChanged
browser.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
Wordt aangeroepen als de bewerkbare tekenreeks rond het inlasteken wordt gewijzigd of als de positie van het inlasteken wordt verplaatst. De tekstlengte is beperkt tot 100 tekens voor elke heen-en-weer-richting.
Parameters
-
callback
functie
De parameter
callbackziet er zo uit:(engineID: string, surroundingInfo: object) => void
-
engineID
tekenreeks
-
surroundingInfo
object
-
anker
getal
De beginpositie van de selectie. Deze waarde geeft de positie van het inlasteken aan als er geen selectie is.
-
focus
getal
De eindpositie van de selectie. Deze waarde geeft de positie van het inlasteken aan als er geen selectie is.
-
gecompenseerd
getal
Chrome 46+ browser.* sinds Chrome 148De offsetpositie van
text. Omdattextalleen een subset van de tekst rond de cursor bevat, geeft offset de absolute positie van het eerste teken vantextaan. -
tekst
tekenreeks
De tekst rond de cursor. Dit is maar een subset van alle tekst in het invoerveld.
-
-