Pular para o conteúdo principal

Como um traço é reconhecido

Quando você solta um botão de desenho, o Input.Observer decide em duas etapas o que executar:

  1. Qual forma você desenhou? O traço é pontuado em relação aos gestos do escopo, e a melhor pontuação vence se atingir o limite de correspondência. Esta página explica esta etapa.
  2. Qual ação usa essa forma aqui? Os gatilhos do grupo de aplicativos para essa forma são verificados quanto a modificadores, botão de desenho, região e perfil. Consulte Regras de escopo e de recurso.

A dica ao vivo usa exatamente as mesmas duas etapas com o traço desenhado até o momento, então a dica sempre nomeia o que seria executado se você soltasse naquele instante.

Como um traço é pontuado​

Cada comparação dá uma pontuação de 0 a 100:

  1. O traço é levemente suavizado, para remover o tremor da mão.
  2. Ele é reamostrado em um número fixo de pontos distribuídos uniformemente ao longo do comprimento (36 por padrão).
  3. A direção de cada segmento curto entre dois pontos é comparada com a direção do mesmo segmento em um exemplo salvo.
  4. A diferença média vira a pontuação: 100 quando todos os segmentos apontam para o mesmo lado, 0 quando todos apontam para o lado oposto.

O que isso significa quando você desenha:

O que mudaEfeito na pontuação
O tamanho, ou o lugar da tela onde você desenhaNenhum
A velocidade do desenhoNenhum
A direção: da direita para a esquerda em vez de da esquerda para a direitaA direção oposta pontua perto de 0
A rotação: uma forma desenhada inclinadaMenor, quanto mais inclinada, menor
O ponto de início: um círculo começado no alto ou embaixo, no sentido horário ou anti-horárioCada um é uma forma diferente
As proporções: um L com o pé longo ou curtoMenor: cada parte ocupa uma fração diferente do traço

Um gesto com vários exemplos é pontuado em relação a cada um deles. Pontuação de exemplos decide como essas pontuações se combinam: Melhor exemplo (o padrão) pega a mais alta; Média de todos os exemplos pega a média delas, então um traço próximo de um exemplo, mas distante dos outros, pontua menos.

Quais formas competem​

Um traço não é comparado com a biblioteca inteira, somente com as formas do escopo da janela sobre a qual você pressionou:

  • todas as formas que um gatilho de gesto usa no grupo de aplicativos dono da janela, e
  • todas as formas que um gatilho de gesto usa no grupo Global, quando esse grupo pode recorrer ao Global (consulte Regras de escopo e de recurso).

Uma forma conta assim que qualquer gatilho desses grupos a usa, mesmo quando esse gatilho não pode ser executado no momento: a ação dele está desativada, está limitada a outro perfil, precisa de um modificador que você não pressionou, ou precisa de outro botão de desenho ou de outra região. Essa forma ainda pode vencer o traço, e então nada é executado. Uma forma que nenhum gatilho do escopo usa nunca compete, então nunca pode vencer ali.

A vencedora​

  • Vence a pontuação mais alta, desde que esteja igual ou acima do limite de correspondência. Se nada estiver igual ou acima do limite, nada corresponde.
  • Pontuações exatamente iguais: vence a forma encontrada primeiro: as formas do próprio grupo de aplicativos antes das do Global, na ordem da lista de ações do grupo.
  • Não há segunda opção. Assim que uma forma vence, só são procuradas ações para essa forma: primeiro no grupo de aplicativos, depois no Global, se o grupo recorre a ele. Se nenhuma se encaixar (por exemplo, ela precisa de Shift e você não pressionou), nada é executado, mesmo que uma forma com pontuação menor tivesse uma ação que teria se encaixado.

Vence a forma mais próxima do escopo​

Como só as formas do escopo competem, um traço que claramente é outra forma ainda corresponde à forma mais próxima do escopo, se ela atingir o limite.

Exemplo: o grupo Global usa três formas: Deslizar para baixo, Deslizar para a esquerda e Marca de seleção. Sobre uma janela que nenhum grupo de aplicativos possui, você desenha Deslizar para cima. Deslizar para cima está na biblioteca, mas nenhum gatilho do escopo a usa, então ela não compete. O traço é pontuado em relação às três formas do escopo; se Marca de seleção pontuar mais alto e atingir o limite, a ação de Marca de seleção é executada.

Duas formas de impedir isso:

  • Vincular a forma do escopo a uma ação que não faz nada. Ela então compete, pontua mais alto para o próprio traço e não executa nada. Quando a página Grupos de aplicativos encontra um caso assim, ela mostra a faixa "Um traço aqui pode executar a ação errada", e o botão Adicionar ação que não faz nada dela adiciona essa ação para você. Consulte Grupos de aplicativos.
  • Aumentar o limite de correspondência, para que um traço precise ficar mais perto de uma forma para contar.

O próprio cartão Executa outras ações do gesto, na página Gestos, lista os mesmos casos do lado da forma.

Quando nada corresponde​

Um traço que não corresponde a nenhuma ação, em nenhum escopo:

  • não executa nada;
  • não devolve o clique: a janela sob o ponteiro não recebe nada;
  • executa o evento global Nada correspondeu, se você configurou um (por exemplo, para tocar um som). Consulte Eventos globais.

A dica desaparece enquanto o traço até ali não corresponde a nada, então a falta da dica avisa você com antecedência.

Configurações​

As configurações de reconhecimento ficam na página Gestos, guia Configurações, no cartão Correspondência de gestos.

Input.ObserverSimplesAvançado
AUTOMAÇÃO
Ações
Expansão de texto
Snippets
Área de testes
Grupos de aplicativos
Grupos ignorados
Gestos
CONFIGURAÇÃO
Geral
Aparência
Segurança
Ajuda
Sobre
Gestos
FormasConfigurações
Correspondência de gestos
Limite de correspondência
O quanto um traço desenhado precisa se parecer com um gesto salvo para contar como acerto.
ToleranteRigoroso75
Qualidade da suavização do traço
Equilibra velocidade e precisão da correspondência. Editar as configurações avançadas abaixo muda esta opção para Personalizado.
RápidoEquilibradoPreciso

Limite de correspondência​

Limite de correspondência ① é a menor pontuação que conta como correspondência: 75 por padrão, de 50 (Tolerante) a 100 (Rigoroso).

  • Aumente-o quando a ação errada for executada, ou quando um traço que você não queria como gesto executar algo. Traços descuidados passam a não corresponder a nada com mais frequência.
  • Diminua-o quando um traço que você queria como gesto muitas vezes não corresponder a nada. Traços que não se parecem com nenhuma das suas formas passam a ser pegos pela forma mais próxima do escopo com mais frequência.

O cartão Desenhe para testar da página Gestos mostra a pontuação de um traço em relação a esse limite. Consulte A biblioteca de gestos.

Qualidade da suavização do traço​

Qualidade da suavização do traço ② troca velocidade de reconhecimento por precisão. Cada opção define ao mesmo tempo o número de pontos reamostrados e a Pontuação de exemplos:

OpçãoPontosPontuação de exemplos
Rápido24Melhor exemplo
Equilibrado (padrão)36Melhor exemplo
Preciso64Média de todos os exemplos

Mais pontos percebem detalhes menores de uma forma. Qualquer outra combinação, definida no modo Avançado, aparece como Personalizado.

observação

Modo Avançado. O cartão adiciona três linhas:

  • Precisão da reamostragem: o número de pontos em que um traço é reamostrado, de 8 a 128 (36 por padrão).
  • Pontuação de exemplos: Melhor exemplo ou Média de todos os exemplos.
  • Limite de sugestão do treinamento: a pontuação, de 0 a 100 (80 por padrão), a partir da qual a janela de treinamento sugere salvar um traço como outro exemplo do gesto mais próximo em vez de como um novo gesto. Ela não afeta o reconhecimento.