browser.input.ime

Descrição

Use a API chrome.input.ime para implementar um IME personalizado para o ChromeOS. Isso permite que a extensão processe as teclas digitadas, defina a composição e gerencie a janela de candidatos.

Permissões

input

É necessário declarar a permissão "input" no manifesto da extensão para usar a API input.ime. Por exemplo:

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

Disponibilidade

Somente no ChromeOS

Exemplos

O código a seguir cria um IME que converte letras digitadas em maiúsculas.

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

Tipos

AssistiveWindowButton

Chrome 85+ browser.* desde o Chrome 148

ID dos botões na janela de acessibilidade.

Enumeração

"undo"

"addToDictionary"

AssistiveWindowProperties

Chrome 85+ browser.* desde o Chrome 148

Propriedades da janela de acessibilidade.

Propriedades

  • announceString

    string opcional

    Strings para o ChromeVox anunciar.

  • tipo

    "undo"

  • visível

    booleano

    Define como verdadeiro para mostrar a AssistiveWindow e como falso para ocultar.

AssistiveWindowType

Chrome 85+ browser.* desde o Chrome 148

Tipo de janela de acessibilidade.

Valor

"undo"

AutoCapitalizeType

Chrome 69+ browser.* desde o Chrome 148

O tipo de capitalização automática do campo de texto.

Enumeração

"characters"

"palavras"

"sentences"

InputContext

Descreve um contexto de entrada

Propriedades

  • autoCapitalize
    Chrome 69+ browser.* desde o Chrome 148

    O tipo de capitalização automática do campo de texto.

  • autoComplete

    booleano

    Se o campo de texto quer preenchimento automático.

  • autoCorrect

    booleano

    Se o campo de texto quer correção automática.

  • contextID

    número

    Isso é usado para especificar destinos de operações de campo de texto. Esse ID se torna inválido assim que onBlur é chamado.

  • shouldDoLearning

    booleano

    Chrome 68+ browser.* desde o Chrome 148

    Se o texto inserido no campo de texto deve ser usado para melhorar as sugestões de digitação para o usuário.

  • spellCheck

    booleano

    Se o campo de texto quer uma verificação ortográfica.

  • Tipo de valor que esse campo de texto edita (texto, número, URL etc.)

InputContextType

Chrome 44+ browser.* desde o Chrome 148

Tipo de valor que esse campo de texto edita (texto, número, URL etc.)

Enumeração

"text"

"search"

"tel"

"url"

"email"

"number"

"password"

"null"

KeyboardEvent

Consulte http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent

Propriedades

  • altKey

    booleano opcional

    Se a tecla ALT está pressionada ou não.

  • altgrKey

    booleano opcional

    Chrome 79+ browser.* desde o Chrome 148

    Se a tecla ALTGR está pressionada ou não.

  • capsLock

    booleano opcional

    Se o CAPS_LOCK está ativado ou não.

  • código

    string

    Valor da tecla física que está sendo pressionada. O valor não é afetado pelo layout do teclado atual ou pelo estado do modificador.

  • ctrlKey

    booleano opcional

    Se a tecla CTRL está pressionada ou não.

  • extensionId

    string opcional

    O ID da extensão do remetente desse evento de tecla.

  • chave

    string

    Valor da tecla que está sendo pressionada

  • keyCode

    número optional

    O keyCode HTML descontinuado, que é um código numérico dependente do sistema e da implementação que representa o identificador não modificado associado à tecla pressionada.

  • requestId

    string opcional

    (Descontinuado) O ID da solicitação. Use o parâmetro requestId do evento onKeyEvent.

  • shiftKey

    booleano opcional

    Se a tecla SHIFT está pressionada ou não.

  • keyup ou keydown.

KeyboardEventType

Chrome 44+ browser.* desde o Chrome 148

Enumeração

"keyup"

"keydown"

MenuItem

Um item de menu usado por um método de entrada para interagir com o usuário no menu de idiomas.

Propriedades

  • checked

    booleano opcional

    Indica que este item precisa ser desenhado com uma marca de seleção.

  • ativado

    booleano opcional

    Indica que este item está ativado.

  • ID

    string

    String que será transmitida para callbacks que fazem referência a esse MenuItem.

  • o rótulo.

    string opcional

    Texto exibido no menu para este item.

  • estilo

    MenuItemStyle opcional

    O tipo de item de menu.

  • visível

    booleano opcional

    Indica que este item está visível.

MenuItemStyle

Chrome 44+ browser.* desde o Chrome 148

O tipo de item de menu. Os botões de opção entre separadores são considerados agrupados.

Enumeração

"check"

"radio"

"separator"

MenuParameters

Chrome 88+ browser.* desde o Chrome 148

Propriedades

  • engineID

    string

    ID do mecanismo a ser usado.

  • itens

    MenuItems para adicionar ou atualizar. Eles serão adicionados na ordem em que aparecem na matriz.

MouseButton

Chrome 44+ browser.* desde o Chrome 148

Quais botões do mouse foram clicados.

Enumeração

"left"

"middle"

"right"

ScreenType

Chrome 44+ browser.* desde o Chrome 148

O tipo de tela em que o IME é ativado.

Enumeração

"normal"

"login"

"lock"

"secondary-login"

UnderlineStyle

Chrome 44+ browser.* desde o Chrome 148

O tipo de sublinhado para modificar este segmento.

Enumeração

"underline"

"doubleUnderline"

"noUnderline"

WindowPosition

Chrome 44+ browser.* desde o Chrome 148

Onde mostrar a janela de candidatos. Se definido como "cursor", a janela segue o cursor. Se definido como "composition", a janela será bloqueada no início da composição.

Enumeração

"cursor"

"composição"

Métodos

clearComposition()

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

Limpar a composição atual. Se essa extensão não for proprietária do IME ativo, isso vai falhar.

Parâmetros

  • parâmetros

    objeto

    • contextID

      número

      ID do contexto em que a composição será limpa

Retorna

  • Promise<boolean>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída com um booleano que indica se o texto foi aceito ou não. Em caso de falha, a promessa será rejeitada.

commitText()

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

Confirma o texto fornecido na entrada atual.

Parâmetros

  • parâmetros

    objeto

    • contextID

      número

      ID do contexto em que o texto será confirmado

    • texto

      string

      O texto a ser confirmado

Retorna

  • Promise<boolean>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída com um booleano que indica se o texto foi aceito ou não. Em caso de falha, a promessa será rejeitada.

deleteSurroundingText()

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

Exclui o texto ao redor do cursor de texto.

Parâmetros

  • parâmetros

    objeto

    • contextID

      número

      ID do contexto em que o texto ao redor será excluído.

    • engineID

      string

      ID do mecanismo que recebe o evento.

    • comprimento

      número

      O número de caracteres a serem excluídos

    • offset

      número

      O deslocamento da posição do cursor de texto em que a exclusão vai começar. Esse valor pode ser negativo.

Retorna

  • Promessa<void>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída.

hideInputView()

browser.input.ime.hideInputView(): void

Oculta a janela de visualização de entrada, que é aberta automaticamente pelo sistema. Se a janela de visualização de entrada já estiver oculta, essa função não fará nada.

keyEventHandled()

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

Indica que o evento de tecla recebido por onKeyEvent foi processado. Isso só deve ser chamado se o listener onKeyEvent for assíncrono.

Parâmetros

  • requestId

    string

    ID da solicitação do evento que foi processado. Isso deve vir de keyEvent.requestId

  • resposta

    booleano

    Verdadeiro se o pressionamento de tecla foi processado. Caso contrário, falso.

sendKeyEvents()

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

Envia os eventos principais. Essa função deve ser usada por teclados virtuais. Quando uma ou mais teclas de um teclado virtual são pressionadas por um usuário, essa função é usada para propagar esse evento para o sistema.

Parâmetros

  • parâmetros

    objeto

    • contextID

      número

      ID do contexto em que os eventos principais serão enviados ou zero para enviar eventos principais para um campo que não seja de entrada.

    • keyData

      Dados sobre o evento principal.

Retorna

  • Promessa<void>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída.

setAssistiveWindowButtonHighlighted()

Chrome 86+ browser.* desde o Chrome 148
browser.input.ime.setAssistiveWindowButtonHighlighted(
  parameters: object,
)
: Promise<void>

Destaca/remove o destaque de um botão em uma janela de acessibilidade.

Parâmetros

  • parâmetros

    objeto

    • announceString

      string opcional

      O texto que o leitor de tela vai anunciar.

    • O ID do botão

    • contextID

      número

      ID do contexto que possui a janela de assistência.

    • em destaque

      booleano

      Se o botão precisa ser destacado.

    • windowType

      "undo"

      O tipo de janela a que o botão pertence.

Retorna

  • Promessa<void>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída. Em caso de falha, a promessa será rejeitada.

setAssistiveWindowProperties()

Chrome 85+ browser.* desde o Chrome 148
browser.input.ime.setAssistiveWindowProperties(
  parameters: object,
)
: Promise<boolean>

Mostra/oculta uma janela de assistência com as propriedades fornecidas.

Parâmetros

  • parâmetros

    objeto

    • contextID

      número

      ID do contexto que possui a janela de assistência.

    • Propriedades da janela de acessibilidade.

Retorna

  • Promise<boolean>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída.

setCandidates()

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

Define a lista de candidatos atual. Isso vai falhar se a extensão não for proprietária do IME ativo.

Parâmetros

  • parâmetros

    objeto

    • candidatos

      object[]

      Lista de candidatos a serem mostrados na janela de candidatos

      • anotação

        string opcional

        Texto adicional que descreve o candidato

      • candidato

        string

        O candidato

      • ID

        número

        O ID do candidato

      • o rótulo.

        string opcional

        String curta exibida ao lado do candidato, geralmente a tecla de atalho ou o índice

      • parentId

        número optional

        O ID para adicionar esses candidatos

      • utilização

        objeto optional

        O uso ou a descrição detalhada da palavra.

        • body

          string

          A string do corpo da descrição detalhada.

        • título

          string

          A string de título da descrição de detalhes.

    • contextID

      número

      ID do contexto que possui a janela de candidatos.

Retorna

  • Promise<boolean>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída.

setCandidateWindowProperties()

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

Define as propriedades da janela de candidatos. Isso falhará se a extensão não for proprietária do IME ativo.

Parâmetros

  • parâmetros

    objeto

    • engineID

      string

      ID do mecanismo em que as propriedades serão definidas.

    • propriedades

      objeto

      • auxiliaryText

        string opcional

        Texto mostrado na parte de baixo da janela de candidatos.

      • auxiliaryTextVisible

        booleano opcional

        "True" para mostrar o texto auxiliar, "false" para ocultá-lo.

      • currentCandidateIndex

        número optional

        Chrome 84+ browser.* desde o Chrome 148

        O índice do candidato escolhido no momento em relação ao total de candidatos.

      • cursorVisible

        booleano opcional

        Verdadeiro para mostrar o cursor, falso para ocultá-lo.

      • pageSize

        número optional

        O número de candidatos a serem exibidos por página.

      • totalCandidates

        número optional

        Chrome 84+ browser.* desde o Chrome 148

        O número total de candidatos para a janela de candidatos.

      • vertical

        booleano opcional

        Verdadeiro se a janela de candidatos precisar ser renderizada na vertical, falso para que seja horizontal.

      • visível

        booleano opcional

        Verdadeiro para mostrar a janela de candidatos, falso para ocultá-la.

      • windowPosition

        WindowPosition opcional

        Onde mostrar a janela de candidatos.

Retorna

  • Promise<boolean>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída.

setComposition()

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

Defina a composição atual. Se essa extensão não for proprietária do IME ativo, isso vai falhar.

Parâmetros

  • parâmetros

    objeto

    • contextID

      número

      ID do contexto em que o texto de composição será definido

    • cursor

      número

      Posição no texto do cursor.

    • segmentos

      object[] optional

      Lista de segmentos e os tipos associados.

      • end

        número

        Índice do caractere para encerrar este segmento.

      • start

        número

        Índice do caractere para iniciar este segmento

      • O tipo de sublinhado para modificar este segmento.

    • selectionEnd

      número optional

      Posição no texto em que a seleção termina.

    • selectionStart

      número optional

      Posição no texto em que a seleção começa.

    • texto

      string

      Texto a ser definido

Retorna

  • Promise<boolean>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída com um booleano que indica se o texto foi aceito ou não. Em caso de falha, a promessa será rejeitada.

setCursorPosition()

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

Defina a posição do cursor na janela de candidatos. Essa será uma operação sem efeito se a extensão não for proprietária do IME ativo.

Parâmetros

  • parâmetros

    objeto

    • candidateID

      número

      ID do candidato a ser selecionado.

    • contextID

      número

      ID do contexto que possui a janela de candidatos.

Retorna

  • Promise<boolean>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída

setMenuItems()

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

Adiciona os itens de menu fornecidos ao menu de idiomas quando esse IME está ativo.

Parâmetros

Retorna

  • Promessa<void>

    Chrome 111+ browser.* desde o Chrome 148

updateMenuItems()

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

Atualiza o estado dos MenuItems especificados.

Parâmetros

Retorna

  • Promessa<void>

    Chrome 111+ browser.* desde o Chrome 148

    É resolvido quando a operação é concluída

Eventos

onActivate

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

Esse evento é enviado quando um IME é ativado. Ele indica que o IME vai receber eventos onKeyPress.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

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

onAssistiveWindowButtonClicked

Chrome 85+ browser.* desde o Chrome 148
browser.input.ime.onAssistiveWindowButtonClicked.addListener(
  callback: function,
)

Este evento é enviado quando um botão em uma janela de assistência é clicado.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (details: object) => void

onBlur

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

Este evento é enviado quando o foco sai de uma caixa de texto. Ele é enviado para todas as extensões que estão detectando esse evento e ativadas pelo usuário.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (contextID: number) => void

    • contextID

      número

onCandidateClicked

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

Esse evento será enviado se a extensão for proprietária do IME ativo.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

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

    • engineID

      string

    • candidateID

      número

    • botão

onDeactivated

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

Esse evento é enviado quando um IME é desativado. Isso indica que o IME não vai mais receber eventos onKeyPress.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

    (engineID: string) => void

    • engineID

      string

onFocus

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

Esse evento é enviado quando o foco entra em uma caixa de texto. Ele é enviado para todas as extensões que estão detectando esse evento e que foram ativadas pelo usuário.

Parâmetros

onInputContextUpdate

browser.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 estão detectando esse evento e ativadas pelo usuário.

Parâmetros

onKeyEvent

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

Acionado quando um evento principal é enviado pelo sistema operacional. O evento será enviado à extensão se ela for proprietária do IME ativo. A função de listener precisa retornar "true" se o evento foi processado e "false" se não foi. Se o evento for avaliado de forma assíncrona, essa função precisará retornar indefinido, e o IME precisará chamar keyEventHandled() com o resultado.

Parâmetros

  • callback

    função

    O parâmetro callback é semelhante a:

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

    • retorna

      boolean | undefined

onMenuItemActivated

browser.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 é semelhante a:

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

    • engineID

      string

    • nome

      string

onReset

browser.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 é semelhante a:

    (engineID: string) => void

    • engineID

      string

onSurroundingTextChanged

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

Chamado quando a string editável ao redor do cursor de texto é alterada ou quando a posição do cursor de texto é 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 é semelhante a:

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

    • engineID

      string

    • surroundingInfo

      objeto

      • âncora

        número

        A posição inicial da seleção. Esse valor indica a posição do cursor de texto se não houver seleção.

      • foco

        número

        A posição final da seleção. Esse valor indica a posição do cursor de texto se não houver seleção.

      • offset

        número

        Chrome 46+ browser.* desde o Chrome 148

        A posição de deslocamento de text. Como text inclui apenas um subconjunto de texto ao redor do cursor, o deslocamento indica a posição absoluta do primeiro caractere de text.

      • texto

        string

        O texto ao redor do cursor. Esse é apenas um subconjunto de todo o texto no campo de entrada.