Descrição
Use a API chrome.input.ime
para implementar um IME personalizado para o Chrome OS. Isso permite que a extensão processe pressionamentos de tecla, defina a composição e gerencie a janela de candidatos.
Permissões
input
É necessário declarar a permissão "input" no manifesto de extensões para usar a API input.ime. Exemplo:
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
Exemplos
O código a seguir cria um IME que converte letras digitadas em maiúsculas.
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;
}
}
);
Tipos
AssistiveWindowButton
ID dos botões na janela assistiva.
Tipo enumerado
"addToDictionary"
AssistiveWindowProperties
Propriedades da janela assistiva.
Propriedades
-
announceString
string opcional
Strings para o ChromeVox anunciar.
-
digitar
-
visível
boolean
Define "true" para mostrar a AssistiveWindow e define "false" para ocultar.
AssistiveWindowType
Tipo de janela assistiva.
Valor
AutoCapitalizeType
O tipo de letra maiúscula no campo de texto.
Tipo enumerado
"sentences"
InputContext
Descreve um contexto de entrada
Propriedades
-
autoCapitalizeChrome 69 ou mais recente
O tipo de letra maiúscula no campo de texto.
-
autoComplete
boolean
Define se o campo de texto precisa ser preenchido automaticamente.
-
autoCorrect
boolean
Define se o campo de texto precisa da correção automática.
-
contextID
number
É usado para especificar destinos de operações de campo de texto. Esse ID se torna inválido assim que o onBlur é chamado.
-
shouldDoLearning
boolean
Chrome 68 ou mais recenteDefine se o texto inserido no campo de texto deve ser usado para melhorar as sugestões de digitação para o usuário.
-
spellCheck
boolean
Define se o campo de texto precisa da verificação ortográfica.
-
digitar
Tipo de valor editado por este campo de texto (texto, número, URL etc.).
InputContextType
Tipo de valor editado por este campo de texto (texto, número, URL etc.).
Tipo enumerado
"url"
"null"
KeyboardEvent
Consulte http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
Propriedades
-
altKey
booleano opcional
Se a tecla ALT está ou não pressionada.
-
altgrKey
booleano opcional
Chrome 79 ou mais recenteSe a tecla ALTGR está ou não pressionada.
-
capsLock
booleano opcional
Se CAPS_LOCK está ativado ou não.
-
código
string
Valor da chave física que está sendo pressionada. O valor não é afetado pelo layout atual do teclado nem pelo estado do modificador.
-
ctrlKey
booleano opcional
Se a tecla CTRL foi pressionada ou não.
-
extensionId
string opcional
O ID da extensão do remetente deste evento principal.
-
chave
string
Valor da tecla pressionada
-
keyCode
número opcional
O keyCode HTML descontinuado, que é um código numérico dependente do sistema e da implementação, que significa o identificador não modificado associado à tecla pressionada
-
requestId
string opcional
(Descontinuado) O ID da solicitação. Use o parâmetro
requestId
do eventoonKeyEvent
. -
shiftKey
booleano opcional
Se a tecla SHIFT está ou não pressionada.
-
digitar
Keyup ou keydown.
KeyboardEventType
Tipo enumerado
"keyup"
"keydown"
MenuItem
Item de menu usado por um método de entrada para interagir com o usuário no menu de idioma.
Propriedades
-
verificou
booleano opcional
Indica que o item precisa ser desenhado com uma marca de seleção.
-
ativado
booleano opcional
Indica que esse item está ativado.
-
id
string
String que será transmitida para callbacks que fazem referência a esse MenuItem.
-
Identificador
string opcional
Texto exibido no menu desse item.
-
estilo
MenuItemStyle opcional
O tipo de item de menu.
-
visível
booleano opcional
Indica que esse item está visível.
MenuItemStyle
O tipo de item de menu. Os botões de opção entre separadores são considerados agrupados.
Tipo enumerado
MenuParameters
Propriedades
-
engineID
string
ID do mecanismo a ser usado.
-
items
MenuItem[]
MenuItems a serem adicionados ou atualizados. Eles serão adicionados na ordem em que existem na matriz.
MouseButton
Quais botões do mouse foram clicados.
Tipo enumerado
ScreenType
O tipo de tela em que o IME é ativado.
Tipo enumerado
"normal"
"login"
"secondary-login"
UnderlineStyle
O tipo de sublinhado para modificar este segmento.
Tipo enumerado
"doubleUnderline"
WindowPosition
Onde exibir a janela de candidatos. Se definido como "cursor", a janela seguirá o cursor. Se definido como 'composição', a janela será bloqueada no início da composição.
Tipo enumerado
"cursor"
Métodos
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
callback?: function,
)
Limpar a composição atual. Se essa extensão não tiver o IME ativo, o processo falhará.
Parâmetros
-
parâmetros
objeto
-
contextID
number
ID do contexto em que a composição será apagada
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:(success: boolean)=>void
-
sucesso
boolean
-
Retorna
-
Promise<boolean>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
commitText()
chrome.input.ime.commitText(
parameters: object,
callback?: function,
)
Confirma o texto fornecido na entrada atual.
Parâmetros
-
parâmetros
objeto
-
contextID
number
ID do contexto em que o texto será confirmado
-
texto
string
O texto a ser confirmado
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:(success: boolean)=>void
-
sucesso
boolean
-
Retorna
-
Promise<boolean>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
callback?: function,
)
Exclui o texto ao redor do cursor.
Parâmetros
-
parâmetros
objeto
-
contextID
number
ID do contexto em que o texto ao redor será excluído.
-
engineID
string
ID do mecanismo que recebe o evento.
-
length
number
O número de caracteres a serem excluídos
-
offset
number
O deslocamento da posição do cursor em que a exclusão começará. Esse valor pode ser negativo.
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:()=>void
Retorna
-
Promise<void>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
hideInputView()
chrome.input.ime.hideInputView()
Oculta a janela de visualização de entrada, que é exibida automaticamente pelo sistema. Se a janela de visualização de entrada já estiver oculta, essa função não terá efeito.
keyEventHandled()
chrome.input.ime.keyEventHandled(
requestId: string,
response: boolean,
)
Indica que o evento de tecla recebido por onKeyEvent é processado. Só deverá ser chamado se o listener onKeyEvent for assíncrono.
Parâmetros
-
requestId
string
ID da solicitação do evento que foi processado. Deve vir de keyEvent.requestId
-
resposta
boolean
"True" se o pressionamento de tecla foi manipulado; "false" se não
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
callback?: function,
)
Envia os eventos de teclas. Espera-se que essa função seja usada por teclados virtuais. Quando um usuário pressiona as teclas de um teclado virtual, a função é usada para propagar esse evento para o sistema.
Parâmetros
-
parâmetros
objeto
-
contextID
number
ID do contexto para o qual os eventos principais serão enviados, ou zero para enviar eventos principais a um campo que não seja de entrada.
-
keyData
Dados sobre o evento principal.
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:()=>void
Retorna
-
Promise<void>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
callback?: function,
)
Destaca/destaca um botão em uma janela assistiva.
Parâmetros
-
parâmetros
objeto
-
announceString
string opcional
O texto que o leitor de tela anunciará.
-
buttonID
O ID do botão
-
contextID
number
ID do contexto que detém a janela assistiva.
-
em destaque
boolean
Se o botão deve ser destacado.
-
windowType
O tipo de janela a que o botão pertence.
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:()=>void
Retorna
-
Promise<void>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
callback?: function,
)
Mostra/oculta uma janela assistiva com as propriedades fornecidas.
Parâmetros
-
parâmetros
objeto
-
contextID
number
ID do contexto que detém a janela assistiva.
-
properties
Propriedades da janela assistiva.
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:(success: boolean)=>void
-
sucesso
boolean
-
Retorna
-
Promise<boolean>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
callback?: function,
)
Define a lista de candidatos atual. Ocorrerá uma falha se essa extensão não tiver o IME ativo
Parâmetros
-
parâmetros
objeto
-
candidatos
objeto[]
Lista de candidatos a serem exibidos na janela "Candidate"
-
annotation
string opcional
Texto adicional que descreve o candidato
-
candidato
string
O candidato
-
id
number
O ID do candidato
-
Identificador
string opcional
String curta exibida ao lado do candidato, geralmente a tecla de atalho ou índice
-
parentId
número opcional
O ID para adicionar esses candidatos
-
utilização
objeto opcional
O uso ou a descrição detalhada da palavra.
-
body
string
A string do corpo da descrição detalhada.
-
title
string
A string do título da descrição dos detalhes.
-
-
-
contextID
number
ID do contexto que contém a janela candidata.
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:(success: boolean)=>void
-
sucesso
boolean
-
Retorna
-
Promise<boolean>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
callback?: function,
)
Define as propriedades da janela candidata. Ocorrerá uma falha se a extensão não tiver o IME ativo.
Parâmetros
-
parâmetros
objeto
-
engineID
string
ID do mecanismo em que as propriedades serão definidas.
-
properties
objeto
-
auxiliaryText
string opcional
Texto mostrado na parte inferior da janela do candidato.
-
auxiliaryTextVisible
booleano opcional
Verdadeiro para exibir o texto auxiliar, falso para ocultá-lo.
-
currentCandidateIndex
número opcional
Chrome 84 ou mais recenteO índice do candidato escolhido atualmente em relação ao total de candidatos.
-
cursorVisible
booleano opcional
Verdadeiro para mostrar o cursor, falso para ocultá-lo.
-
pageSize
número opcional
O número de candidatos a serem exibidos por página.
-
totalCandidates
número opcional
Chrome 84 ou mais recenteO número total de candidatos para a janela de candidatos.
-
categoria
booleano opcional
"True", se a janela candidata precisa ser renderizada na vertical, "false" para torná-la horizontal.
-
visível
booleano opcional
"True" para mostrar a janela "Candidate", ou "falso" para ocultá-la.
-
windowPosition
WindowPosition (opcional)
Onde exibir a janela de candidatos.
-
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:(success: boolean)=>void
-
sucesso
boolean
-
Retorna
-
Promise<boolean>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
setComposition()
chrome.input.ime.setComposition(
parameters: object,
callback?: function,
)
Define a composição atual. Se essa extensão não tiver o IME ativo, o processo falhará.
Parâmetros
-
parâmetros
objeto
-
contextID
number
ID do contexto em que o texto da composição será definido
-
cursor
number
Posição no texto do cursor.
-
segmentos
objeto[] opcional
Lista de segmentos e os tipos associados a eles.
-
end
number
Índice do caractere para o fim deste segmento depois.
-
start
number
Índice do caractere em que o segmento inicia este segmento
-
estilo
O tipo de sublinhado para modificar este segmento.
-
-
selectionEnd
número opcional
Posição no texto em que a seleção termina.
-
selectionStart
número opcional
Posição no texto em que a seleção começa.
-
texto
string
Texto a ser definido
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:(success: boolean)=>void
-
sucesso
boolean
-
Retorna
-
Promise<boolean>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
callback?: function,
)
Defina a posição do cursor na janela candidata. Trata-se de um ambiente autônomo se essa extensão não tiver o IME ativo.
Parâmetros
-
parâmetros
objeto
-
candidateID
number
ID do candidato a ser selecionado.
-
contextID
number
ID do contexto que contém a janela candidata.
-
-
callback
função optional
O parâmetro
callback
tem esta aparência:(success: boolean)=>void
-
sucesso
boolean
-
Retorna
-
Promise<boolean>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
setMenuItems()
chrome.input.ime.setMenuItems(
parameters: MenuParameters,
callback?: function,
)
Adiciona os itens de menu fornecidos ao menu de idioma quando esse IME está ativo.
Parâmetros
-
parâmetros
-
callback
função optional
O parâmetro
callback
tem esta aparência:()=>void
Retorna
-
Promise<void>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
callback?: function,
)
Atualiza o estado dos MenuItems especificados
Parâmetros
-
parâmetros
-
callback
função optional
O parâmetro
callback
tem esta aparência:()=>void
Retorna
-
Promise<void>
Chrome 111 ou mais recentePromessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.
Eventos
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
Este evento é enviado quando um IME é ativado. Isso indica que o IME receberá eventos onKeyPress.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(engineID: string,screen: ScreenType)=>void
-
engineID
string
-
Tela
-
onAssistiveWindowButtonClicked
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
Este evento é enviado quando um botão em uma janela assistiva é clicado.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(details: object)=>void
-
detalhes
objeto
-
buttonID
O ID do botão clicado.
-
windowType
O tipo de janela assistiva.
-
-
onBlur
chrome.input.ime.onBlur.addListener(
callback: function,
)
Esse evento é enviado quando o foco sai de uma caixa de texto. Ele é enviado para todas as extensões que detectam o evento e ativado pelo usuário.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(contextID: number)=>void
-
contextID
number
-
onCandidateClicked
chrome.input.ime.onCandidateClicked.addListener(
callback: function,
)
Esse evento será enviado se essa extensão for proprietária do IME ativo.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(engineID: string,candidateID: number,button: MouseButton)=>void
-
engineID
string
-
candidateID
number
-
botão
-
onDeactivated
chrome.input.ime.onDeactivated.addListener(
callback: function,
)
Esse evento é enviado quando um IME é desativado. Isso indica que o IME não receberá mais eventos onKeyPress.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(engineID: string)=>void
-
engineID
string
-
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
Este evento é enviado quando o foco é inserido em uma caixa de texto. Ele é enviado para todas as extensões que detectam o evento e ativado pelo usuário.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(context: InputContext)=>void
-
contexto
-
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
Esse evento é enviado quando as propriedades do InputContext atual mudam, como o tipo. Ele é enviado para todas as extensões que detectam o evento e ativado pelo usuário.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(context: InputContext)=>void
-
contexto
-
onKeyEvent
chrome.input.ime.onKeyEvent.addListener(
callback: function,
)
Disparado quando um evento de tecla é enviado do sistema operacional. O evento será enviado para a extensão se ela for proprietária do IME ativo. A função do listener retornará verdadeiro se o evento foi tratado como falso. Se o evento for avaliado de forma assíncrona, essa função deverá retornar indefinido e o IME deverá chamar mais tarde o keyEventHandled() com o resultado.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(engineID: string,keyData: KeyboardEvent,requestId: string)=>boolean|undefined
-
engineID
string
-
keyData
-
requestId
string
-
retorna
boolean|undefined
-
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
Chamado quando o usuário seleciona um item de menu
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(engineID: string,name: string)=>void
-
engineID
string
-
name
string
-
onReset
chrome.input.ime.onReset.addListener(
callback: function,
)
Este evento é enviado quando o Chrome encerra a sessão de entrada de texto em andamento.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(engineID: string)=>void
-
engineID
string
-
onSurroundingTextChanged
chrome.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
Chamado quando a string editável em torno do cursor é alterada ou quando a posição do cursor é movida. O tamanho do texto é limitado a 100 caracteres para cada direção de ida e volta.
Parâmetros
-
callback
função
O parâmetro
callback
tem esta aparência:(engineID: string,surroundingInfo: object)=>void
-
engineID
string
-
surroundingInfo
objeto
-
âncora
number
A posição inicial da seleção. Este valor indica a posição do cursor se não houver seleção.
-
foco
number
A posição final da seleção. Este valor indica a posição do cursor se não houver seleção.
-
offset
number
Chrome 46 ou mais recenteA posição de deslocamento de
text
. Comotext
só inclui um subconjunto de texto ao redor do cursor, o deslocamento indica a posição absoluta do primeiro caractere dotext
. -
texto
string
O texto ao redor do cursor. Esse é apenas um subconjunto de todo o texto do campo de entrada.
-
-