O "Mouse Button Test" é um utilitário online concebido para verificar o correto funcionamento de todos os botões e da roda de scroll de um rato. Ao interagir com a área de teste dedicada, o utilizador consegue diagnosticar falhas de hardware em tempo real, identificando se um interruptor físico está desgastado, se falha pressões ou se regista cliques duplos involuntários (fenómeno conhecido como chattering ou ricochete de contactos).
A ferramenta monitoriza e regista eventos de clique, movimento e scroll, fornecendo dados detalhados sobre coordenadas, tempos de resposta e códigos de botões diretamente no navegador.
O Fenómeno do Duplo Clique Acidental (Chattering)
Os ratos de computador utilizam interruptores mecânicos para registar os cliques. No interior de cada interruptor, existem lâminas metálicas que estabelecem o contacto elétrico quando o botão é pressionado. Com o desgaste físico e a fadiga do material, estas lâminas perdem elasticidade ou acumulam sujidade, o que faz com que oscilem rapidamente ao fechar ou abrir o circuito.
Este comportamento físico gera múltiplos sinais elétricos numa fração de milissegundo, um fenómeno conhecido como contact bounce ou ricochete. Embora os dispositivos e os sistemas operativos utilizem algoritmos de debouncing (filtragem de ruído) para ignorar estas oscilações rápidas, um interruptor gravemente desgastado ultrapassa estes limites de tolerância. O resultado é um duplo clique acidental: o utilizador pressiona o botão uma única vez, mas o computador regista duas ações quase instantâneas.
O "Mouse Button Test" ajuda a expor este problema através de uma verificação temporal precisa. Por predefinição, a ferramenta define um limite de 40 ms para a deteção de duplos cliques acidentais. Se duas pressões consecutivas do mesmo botão ocorrerem num intervalo inferior a este limiar, o sistema sinaliza o evento como um duplo clique involuntário, uma vez que é humanamente quase impossível clicar de forma deliberada com tanta rapidez.
Funcionamento e Parâmetros de Entrada
Para iniciar o diagnóstico, o utilizador deve interagir diretamente com o painel que exibe a etiqueta Área de teste. Esta área possui a descrição de acessibilidade Área de teste do rato e apresenta a seguinte instrução de utilização:
Área de teste Clique, clique com o botão direito, clique com o botão do meio, prima os botões laterais e faça scroll em qualquer lugar dentro deste painel. A posição do ponteiro atualiza-se à medida que se move.
Para garantir a precisão dos testes, a ferramenta aplica regras específicas de captura de eventos dentro deste espaço:
- Supressão do Menu de Contexto: O menu de contexto padrão do botão direito do rato é desativado dentro do painel. Isto permite que o clique secundário seja registado e contabilizado de forma contínua. Fora deste painel, o comportamento do navegador permanece inalterado.
- Interceção de Atalhos Laterais: A ferramenta tenta bloquear as ações padrão de navegação (como retroceder ou avançar páginas) associadas aos botões laterais do rato, permitindo que estes botões sejam testados sem navegar para fora da página.
- Ajuste do Limiar de Ruído: O utilizador pode configurar o valor temporal (definido originalmente em 40 ms) no campo Sinalizar pressões com intervalo menor que para ajustar a sensibilidade da deteção de duplos cliques acidentais.
- Limpeza de Dados: O botão Limpar registo permite apagar instantaneamente todo o histórico de eventos acumulado no painel.
Indicadores de Estado e Estatísticas em Tempo Real
Ao carregar a página, o utilizador visualiza o estado inicial Clique ou faça scroll na área de teste para começar. Assim que o ponteiro entra na zona de teste, o estado muda para Aguardar ações do rato.
A interface dispõe de uma legenda visual para identificar o estado de cada botão do hardware:
- Premido: Indica que o botão está atualmente a ser pressionado.
- Testado: Identifica os botões que já foram acionados e registados com sucesso durante a sessão.
- Duplo clique acidental: Sinaliza visualmente que o botão em causa disparou um evento duplo abaixo do limiar de tempo configurado.
O painel de estatísticas acumula os seguintes dados consolidados:
- Botões testados: Quantidade de botões físicos distintos que já registaram pelo menos uma ação.
- Total de pressões: O número acumulado de cliques detetados.
- Duplos cliques acidentais: O número de vezes que o limiar de tempo de duplo clique foi violado.
- Passos da roda: A contagem de incrementos de rotação da roda de scroll.
Adicionalmente, a tabela Verificação de duplo clique acidental monitoriza a estabilidade de cada interruptor através das colunas Botão, Pressões e Intervalo mín. (que exibe o menor intervalo de tempo registado entre cliques consecutivos).
O Registo de Eventos Detalhado
Cada ação realizada na área de teste gera uma nova linha na tabela Registo de eventos. Se não existirem interações prévias, a tabela exibe a mensagem Sem eventos de rato ainda — clique ou faça scroll na área de teste..
A tabela é estruturada com as seguintes colunas:
- Hora: O carimbo de data/hora exato em que o evento ocorreu.
- Evento: O tipo de ação capturada, que pode ser Premido (Down), Solto (Up), Duplo clique (Double-click) ou Roda (Wheel).
- Botão: Identifica qual o botão que originou o evento. Os botões mapeados são o Esquerdo (Left), Direito (Right), Middle (botão central), Back (retroceder), Forward (avançar) e Wheel (roda de scroll). Qualquer outro botão não mapeado pelo padrão do navegador será exibido como Botão
{number}. - Detalhes: Apresenta as propriedades técnicas do evento capturado pelo navegador:
- Botão: O código numérico do botão físico.
- Botões premidos: Lista os botões que estão a ser mantidos pressionados em simultâneo (exibe Nenhum se nenhum outro estiver ativo).
- Posição: As coordenadas X e Y do ponteiro no momento do evento.
- Roda: A direção do scroll, identificada como Up, Down, Left ou Right.
- Intervalo: O tempo decorrido entre o evento atual e o anterior.
- Premido durante: O tempo total que o botão permaneceu pressionado (calculado entre o evento de descida e o de subida).
- Ponteiro: O tipo de dispositivo de entrada detetado, classificado como mouse (rato físico), pen (caneta digitalizadora) ou touch (ecrã tátil).
- Se um evento violar o tempo limite configurado, é adicionado o marcador visual Duplo clique acidental na linha correspondente.
Comportamento dos Navegadores e Sistemas Operativos
A captura de eventos de rato está sujeita às APIs do navegador e às regras de tradução de hardware do sistema operativo. Isto resulta em comportamentos específicos que o utilizador deve compreender ao analisar os resultados:
Mapeamento de Scroll e Unidades de Medida
Os valores de deslocamento da roda de scroll (deltas) variam significativamente. Dependendo do sistema operativo e do navegador utilizado, a unidade de medida do scroll pode ser reportada em pixels, lines (linhas) ou pages (páginas). Por exemplo, um único dente da roda de scroll pode registar um valor elevado em pixels num navegador, mas apenas uma unidade em lines noutro. Recomenda-se que o utilizador valide a direção do movimento e a consistência dos passos da roda, em vez de comparar os valores numéricos absolutos entre diferentes plataformas.
Limitações de Botões Laterais
Os botões laterais (geralmente mapeados como botões 4 e 5 para navegação) são frequentemente intercetados pelo sistema operativo ou pelo próprio navegador antes de chegarem à página web. Em sistemas Linux, por exemplo, o navegador Firefox pode bloquear completamente a propagação destes eventos para o documento. Se os botões laterais funcionarem noutras aplicações locais mas não registarem eventos na área de teste, isto indica uma interceção por parte do software e não uma avaria física do rato.
Exceções de Teclas Modificadoras
- macOS: Por desenho do sistema operativo da Apple, a combinação de teclas
Control + cliquecom o botão esquerdo é convertida automaticamente num clique secundário, registando-se como um clique com o botão Direito. - Firefox: Neste navegador, a combinação
Shift + clique direitoignora qualquer instrução de bloqueio da página web, abrindo obrigatoriamente o menu de contexto do navegador e impedindo o registo correto do clique na ferramenta.
Privacidade e Processamento de Dados
O processamento de todos os eventos de clique, movimento e scroll é realizado localmente, correndo inteiramente no navegador do utilizador. Nenhuns dados de entrada, coordenadas ou tempos de clique são enviados para servidores externos ou guardados de forma persistente. A informação recolhida existe apenas na memória temporária da página web. Ao acionar o comando para limpar o registo ou ao fechar/atualizar a página, todos os dados acumulados são permanentemente eliminados.
Perguntas Frequentes
O meu rato faz duplo clique quando clico apenas uma vez — isto pode confirmar o problema?
Sim. Prima o botão suspeito com cliques únicos e deliberados: cada pressão deve registar exatamente um Down e um Up. Uma pressão extra que ocorra dentro da janela de sinalização (40 ms por predefinição) é marcada como um duplo clique acidental e contabilizada — pressão após pressão, esse padrão indica um interruptor desgastado, não um problema de software. Um botão saudável quase nunca dispara duas vezes tão rápido manualmente, por isso só deve alargar a janela se clicar intencionalmente de forma invulgarmente rápida.
Porque é que o menu do botão direito não abre na área de teste?
A área suprime o menu de contexto para que os cliques com o botão direito possam ser contados como qualquer outro botão; fora da área, o menu funciona normalmente. Duas exceções que a página não consegue contornar: no Firefox, Shift + clique direito abre sempre o menu e não é contado, e num Mac, Ctrl + clique é registado como um clique direito por conceção.
Porque é que os meus botões laterais não são registados?
Muitos navegadores utilizam os botões Back e Forward para a navegação no histórico, e alguns intercetam-nos antes que a página consiga detetar a pressão — esta área de teste suprime esse comportamento onde o navegador o permite, mas não em todo o lado. O Firefox no Linux pode não comunicar de todo os botões laterais. Se eles nunca forem registados aqui, mas funcionarem noutras aplicações, o navegador intercetou-os; isso não significa que o rato esteja avariado.
Porque é que o mesmo scroll mostra números de delta diferentes noutro navegador?
Os valores de scroll são transmitidos em pixels, lines ou pages, dependendo do navegador e da plataforma, e a leitura indica qual a unidade que cada evento utilizou. Um valor em pixels é sempre muito maior do que um valor em lines para o mesmo dente da roda. Compare a direção do scroll e a contagem de passos entre navegadores, e não os números brutos de delta.