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
-
Encontrar o grupo dono. Verifique os grupos nesta ordem e pare no primeiro cujas regras correspondam à janela:
- cada grupo ignorado, de cima para baixo na página Grupos ignorados;
- 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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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
-
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.
-
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.
-
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.
-
Executar a ação vencedora, dentro das ações Antes e Depois do grupo correspondente. Consulte Ações antes e depois.
-
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
| Pergunta | Regra |
|---|---|
| As regras de dois grupos correspondem à janela | O 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 gesto | As 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 encaixam | A ação do grupo de aplicativos, sempre, quaisquer que sejam os modificadores, botões ou regiões. |
| Duas formas pontuam acima do limite | A 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 encaixam | Regiõ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 forma | Somente 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ção | Sem recurso | Com recurso (as duas chaves ligadas) |
|---|---|---|
| Nenhum grupo é dono da janela | Global | Global |
| O grupo dono tem Gestos funcionam aqui desligada | O pressionamento passa | Global |
| O grupo dono não se aplica no perfil ativo | O pressionamento passa | Global |
| O grupo dono não tem ação para o traço | Nada correspondeu | As ações do Global são tentadas |
| Um grupo ignorado é dono da janela | O pressionamento passa | O pressionamento passa |
| O grupo dono está desativado (Ativado desligado) | A janela é comparada com os grupos abaixo dele, como se este grupo não existisse | Igual |
| O Global está desativado | Nada em nenhum lugar onde o Global seria usado | Igual |
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:
| Lista | Grupo | Regras | Ações |
|---|---|---|---|
| Grupos ignorados | Área de Trabalho Remota | Nome do programa é exatamente mstsc.exe | nenhuma |
| Grupos de aplicativos, 1º | Navegadores | Nome do programa é exatamente chrome.exe | "Voltar" em Deslizar para a esquerda; "Fechar guia" em Deslizar para baixo |
| Grupos de aplicativos, 2º | Arquivos de texto | Título da janela termina com .txt - Bloco de Notas | "Salvar" em Deslizar para baixo |
| Grupos de aplicativos, 3º | Bloco de Notas | Nome do programa é exatamente notepad.exe | "Desfazer" em Deslizar para a esquerda |
| — | Global | nenhuma | "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:
| Gestos | Teclas de atalho | Expansão de texto | |
|---|---|---|---|
| A janela que conta | A janela de nível superior sob o ponteiro no pressionamento | A janela em foco quando você pressiona as teclas | A janela em foco quando você termina de digitar o texto |
| A chave do grupo | Gestos funcionam aqui | Teclas de atalho funcionam aqui | nenhuma (a página Expansão de texto tem uma chave para tudo) |
| Regiões, botão de desenho | Sim | Não | Não |
| Quando o grupo é decidido | Uma vez, no pressionamento | A cada pressionamento de teclas | A cada expansão |
Consulte Teclas de atalho e Expansão de texto para o que mais é particular de cada uma.