Pular para o conteúdo principal

Regras de escopo e de recurso

Esta página descreve exatamente como o Input.Observer escolhe a ação de um gesto: qual janela conta, qual grupo é o dono dela, quando o grupo Global assume e qual ação vence quando várias poderiam ser executadas. Teclas de atalho e expansão de texto seguem as mesmas regras de grupos, com as diferenças listadas no fim.

Termos​

  • Escopo: o grupo de aplicativos cujas ações são tentadas para um gesto. Um gesto tem um escopo, mais o Global como possível recurso.
  • Grupo dono: o único grupo de aplicativos ao qual uma janela pertence. Consulte Grupos de aplicativos.
  • Recorrer ao Global: tentar as ações do grupo Global quando o grupo dono não tem nada. Duas chaves controlam isso, e as duas precisam estar ligadas:
    • Recorrer ao Global na página Geral, cartão Quando um gesto corresponde: para todos os grupos de uma vez (ligada por padrão);
    • Recorrer ao Global no cartão O que acontece nestas janelas de cada grupo de aplicativos: para esse grupo (ligada por padrão).

A janela que conta​

Para um gesto, a janela que conta é a janela de nível superior sob o ponteiro no momento em que você pressiona o botão de desenho:

  • Para onde o traço vai depois não importa. Um traço que começa sobre o Bloco de Notas e termina sobre um navegador é um gesto do Bloco de Notas.
  • Um controle dentro de uma janela (uma caixa de texto, uma página do navegador) conta como a janela inteira do programa dele.
  • O grupo dono, a verificação do perfil e a célula de região são decididos uma vez, no pressionamento. Um título de janela que muda enquanto você desenha, ou uma troca de perfil durante o gesto, não altera o resultado desse gesto.

A decisão, passo a passo​

No pressionamento​

  1. Encontrar o grupo dono. Verifique os grupos nesta ordem e pare no primeiro cujas regras correspondam à janela:

    1. cada grupo ignorado, de cima para baixo na página Grupos ignorados;
    2. cada grupo de aplicativos, de cima para baixo na página Grupos de aplicativos.

    São pulados como se não existissem: um grupo que não está Ativado, um grupo sem regras e um grupo ignorado com Somente enquanto a janela estiver em tela cheia cuja janela não está em tela cheia no momento.

  2. Um grupo ignorado é o dono: o pressionamento passa direto. Nada mais é verificado: não se recorre ao Global, não há gesto, e nenhuma tecla de atalho ou expansão de texto é executada para essa janela. Consulte Grupos ignorados.

  3. Um grupo de aplicativos é o dono: o escopo é esse grupo se Gestos funcionam aqui estiver ligada e o grupo se aplicar no perfil ativo (consulte Perfis). Se não, o escopo é o Global, mas somente se as duas chaves Recorrer ao Global estiverem ligadas; caso contrário, o pressionamento passa direto.

  4. Nenhum grupo é o dono: o escopo é o Global. As chaves Recorrer ao Global não importam aqui: o Global é o grupo próprio dessa janela.

  5. O Global como escopo só funciona se estiver Ativado, com Gestos funcionam aqui ligada e se aplicar no perfil ativo. Caso contrário, o pressionamento passa direto.

  6. As zonas de exclusão são verificadas, para todas as janelas e para o grupo do escopo. Um pressionamento dentro de uma delas volta para a janela. Consulte Zonas de exclusão.

  7. A captura começa. A célula de região é calculada agora, para o grupo do escopo e, separadamente, para o Global (consulte Regiões).

Um pressionamento que passa nos passos 2 a 6 é entregue intacto e sem atraso, e não desenha nenhum rastro.

Na liberação​

  1. A forma. O traço é pontuado em relação às formas que os gatilhos do grupo do escopo usam, mais as do Global quando o grupo do escopo pode recorrer a ele. Vence a melhor pontuação igual ou acima do limite de correspondência; caso contrário, nada corresponde. Consulte Como um traço é reconhecido.

  2. As ações do grupo do escopo. Percorra as ações dele na ordem da lista, e os gatilhos de cada ação em ordem. Um gatilho se encaixa quando:

    • é um gatilho de gesto para a forma vencedora,
    • a ação dele está ativada,
    • a ação dele se aplica no perfil ativo,
    • os modificadores que você pressionou são exatamente os que ele pede (consulte Modificadores e momento),
    • ele aceita o botão de desenho que você usou,
    • quando o grupo tem regiões ativadas, ele abrange a célula de região em que você pressionou.

    Com as regiões desativadas, vence o primeiro gatilho que se encaixa. Com as regiões ativadas, vence o gatilho que se encaixa com menos células e, entre os que têm a mesma quantidade, o primeiro.

  3. Recorrer ao Global quando nada no passo 9 se encaixa e tudo isto vale: o grupo do escopo não é o próprio Global, as duas chaves Recorrer ao Global estão ligadas, e o Global está ativado, tem Gestos funcionam aqui ligada e se aplica no perfil ativo. As ações do Global são então verificadas exatamente como no passo 9, com a célula de região própria do Global.

  4. Executar a ação vencedora, dentro das ações Antes e Depois do grupo correspondente. Consulte Ações antes e depois.

  5. Nada se encaixa: nada é executado, o pressionamento não é devolvido, e o evento global Nada correspondeu é executado se você configurou um.

O que vence, em ordem​

PerguntaRegra
As regras de dois grupos correspondem à janelaO grupo ignorado vence qualquer grupo de aplicativos; caso contrário, o mais acima na lista dele. Somente um grupo é dono de uma janela.
O grupo dono não tem ação para o gestoAs ações do Global, se o recurso for permitido. Nunca um grupo de aplicativos mais abaixo.
Uma ação de um grupo de aplicativos e uma ação do Global se encaixamA ação do grupo de aplicativos, sempre, quaisquer que sejam os modificadores, botões ou regiões.
Duas formas pontuam acima do limiteA pontuação mais alta.
Duas ações de um grupo se encaixam (regiões desativadas)A mais acima na lista de ações do grupo.
Duas ações de um grupo se encaixam (regiões ativadas)A que tem o gatilho que abrange menos células; com a mesma quantidade, a mais acima na lista.
Dois gatilhos de uma ação se encaixamRegiões desativadas: o primeiro gatilho. Regiões ativadas: o que abrange menos células; com a mesma quantidade, o primeiro. A mesma ação é executada de qualquer forma, mas valem as configurações próprias do gatilho escolhido, como Teclas modificadoras pressionadas.
Um gatilho simples e um gatilho que pede Shift, mesma formaSomente um pode se encaixar: o simples não precisa de nenhum modificador durante o gesto, o outro precisa de Shift.

Reordene as ações na página Ações (Mover para cima e Mover para baixo), e os grupos de aplicativos na página Grupos de aplicativos. A página Grupos de aplicativos e o editor de ações avisam quando um gatilho sempre esconde outro.

O recurso em resumo​

SituaçãoSem recursoCom recurso (as duas chaves ligadas)
Nenhum grupo é dono da janelaGlobalGlobal
O grupo dono tem Gestos funcionam aqui desligadaO pressionamento passaGlobal
O grupo dono não se aplica no perfil ativoO pressionamento passaGlobal
O grupo dono não tem ação para o traçoNada correspondeuAs ações do Global são tentadas
Um grupo ignorado é dono da janelaO pressionamento passaO pressionamento passa
O grupo dono está desativado (Ativado desligado)A janela é comparada com os grupos abaixo dele, como se este grupo não existisseIgual
O Global está desativadoNada em nenhum lugar onde o Global seria usadoIgual

O item Ações globais do menu da bandeja é a chave Ativado do Global. Enquanto o grupo da janela em foco não recorre ao Global, a dica de ferramenta do ícone da bandeja avisa isso, nomeando o grupo. Consulte O ícone da bandeja.

Exemplos práticos​

Os exemplos usam esta configuração:

ListaGrupoRegrasAções
Grupos ignoradosÁrea de Trabalho RemotaNome do programa é exatamente mstsc.exenenhuma
Grupos de aplicativos, 1ºNavegadoresNome do programa é exatamente chrome.exe"Voltar" em Deslizar para a esquerda; "Fechar guia" em Deslizar para baixo
Grupos de aplicativos, 2ºArquivos de textoTítulo da janela termina com .txt - Bloco de Notas"Salvar" em Deslizar para baixo
Grupos de aplicativos, 3ºBloco de NotasNome do programa é exatamente notepad.exe"Desfazer" em Deslizar para a esquerda
—Globalnenhuma"Minimizar" em Deslizar para baixo; "Maximizar" em Deslizar para cima

As duas chaves Recorrer ao Global estão ligadas, a menos que um exemplo diga o contrário.

1. Uma forma que o grupo tem. Você desenha Deslizar para baixo sobre o Chrome. Navegadores é dono do Chrome e tem "Fechar guia" em Deslizar para baixo, então "Fechar guia" é executada. "Minimizar" do Global, na mesma forma, nunca tem chance: o grupo dono sempre vence.

2. Uma forma que só o Global tem. Você desenha Deslizar para cima sobre o Chrome. Navegadores não tem nada para Deslizar para cima, então o gesto recorre ao Global e "Maximizar" é executada, envolvida pelas ações Antes e Depois do Global, não pelas de Navegadores.

3. Sem recurso. Desligue Recorrer ao Global em Navegadores e desenhe Deslizar para cima sobre o Chrome. As formas do Global deixam de competir, então o traço é comparado somente com Deslizar para a esquerda e Deslizar para baixo. Se nenhuma atingir o limite, nada corresponde e o evento Nada correspondeu é executado. Se uma delas atingir (um traço descuidado pode atingir), a ação dela é executada. O clique direito não é devolvido em nenhum dos casos.

4. Dois grupos correspondem; só o primeiro conta. O Bloco de Notas tem aberto um arquivo chamado notes.txt, então o título dele é "notes.txt - Bloco de Notas". Tanto Arquivos de texto quanto Bloco de Notas correspondem a ele; Arquivos de texto está mais acima, então é o dono da janela. Você desenha Deslizar para a esquerda: nem Arquivos de texto nem o Global usam essa forma, então ela nem está entre as formas comparadas, e nada corresponde. "Desfazer" do grupo Bloco de Notas nunca é executada para esta janela, porque uma janela nunca passa para um grupo de aplicativos mais abaixo. Para ter "Desfazer" aqui, adicione-a a Arquivos de texto, ou mova Bloco de Notas para acima de Arquivos de texto.

5. Um grupo ignorado. Você desenha sobre uma janela da Área de Trabalho Remota. O grupo ignorado é o dono dela, então o pressionamento vai direto para o computador remoto: sem rastro, sem Global. Enquanto essa janela estiver em foco, nenhuma ação de tecla de atalho nem expansão de texto é executada.

6. Um grupo desativado e um grupo com os gestos desligados. Desligue Ativado em Arquivos de texto e desenhe Deslizar para a esquerda sobre "notes.txt - Bloco de Notas": agora Bloco de Notas é dono da janela e "Desfazer" é executada. Ative Arquivos de texto de novo, mas desligue em vez disso o Gestos funcionam aqui dele: Arquivos de texto volta a ser dono da janela, então Bloco de Notas nunca é alcançado; o gesto vai para o Global, que não usa Deslizar para a esquerda, e nada é executado.

7. Perfis. Limite Navegadores a um perfil "Trabalho" e não deixe nenhum perfil ativo. Navegadores continua sendo dono do Chrome, mas não se aplica, então um gesto sobre o Chrome vai para o Global: Deslizar para baixo executa "Minimizar", não "Fechar guia". Com Recorrer ao Global desligada em Navegadores, o pressionamento passa direto, e a página avisa Fora dos seus perfis, suas janelas não recebem nada.

Teclas de atalho e expansão de texto​

Teclas de atalho e expansão de texto usam os mesmos grupos ignorados, a mesma ordem de grupos, as mesmas chaves Ativado, os mesmos perfis, as mesmas chaves Recorrer ao Global, o mesmo grupo Global e as mesmas ações Antes e Depois. Isto é diferente:

GestosTeclas de atalhoExpansão de texto
A janela que contaA janela de nível superior sob o ponteiro no pressionamentoA janela em foco quando você pressiona as teclasA janela em foco quando você termina de digitar o texto
A chave do grupoGestos funcionam aquiTeclas de atalho funcionam aquinenhuma (a página Expansão de texto tem uma chave para tudo)
Regiões, botão de desenhoSimNãoNão
Quando o grupo é decididoUma vez, no pressionamentoA cada pressionamento de teclasA cada expansão

Consulte Teclas de atalho e Expansão de texto para o que mais é particular de cada uma.