Diagnostyka przełączników i analiza zdarzeń wskaźnika
Mechaniczne przełączniki stosowane w myszach komputerowych ulegają z czasem fizycznemu zużyciu. Objawia się to najczęściej problemem określany jako drganie styków (ang. contact bounce lub chattering), w wyniku którego pojedyncze naciśnięcie generuje dwa lub więcej sygnałów elektrycznych w bardzo krótkim odstępie czasu. Narzędzie "Mouse Button Test" umożliwia precyzyjną weryfikację sprawności sprzętu poprzez rejestrowanie i analizowanie każdego zdarzenia wejściowego bezpośrednio w przeglądarce internetowej.
Podczas testu użytkownik wykonuje interakcje w wyznaczonym polu, a aplikacja rejestruje parametry takie jak kody przycisków, współrzędne kursora, kierunek obrotu kółka oraz dokładny czas przejścia między stanami wysokimi i niskimi sygnału. Pozwala to odróżnić naturalne, celowe kliknięcia od wadliwego działania mikroprzełączników, które pomijają kliknięcia lub samoczynnie wyzwalają podwójne rejestracje.
Parametry wejściowe i konfiguracja testu
Aplikacja przetwarza w czasie rzeczywistym następujące akcje i ustawienia wprowadzane przez użytkownika:
- Akcje myszy: Klikanie lewym, prawym i środkowym przyciskiem, naciskanie przycisków bocznych oraz przewijanie kółkiem wewnątrz obszaru testowego.
- Ruch wskaźnika: Przemieszczanie urządzenia wskazującego (mysz, pióro lub dotyk) w granicach wyznaczonego pola w celu aktualizacji współrzędnych geometrycznych.
- Oznaczaj naciśnięcia szybsze niż: Konfigurowalny próg czasowy (domyślnie ustawiony na 40 ms), służący do identyfikacji nienaturalnie szybkich, następujących po sobie kliknięć tego samego przycisku.
- Wyczyść dziennik: Polecenie usuwające całą dotychczas zgromadzoną historię zdarzeń z pamięci podręcznej strony.
Wizualizacja danych i wskaźniki wyjściowe
Interfejs prezentuje szczegółowe dane diagnostyczne podzielone na sekcje funkcjonalne:
- Ostatnie zdarzenie: Panel wyświetlający parametry ostatnio zarejestrowanej akcji.
- Wskaźniki stanu: Informacje tekstowe określające status aplikacji, takie jak
Kliknij lub przewiń w obszarze testowym, aby rozpocząćorazOczekiwanie na ruchy i kliknięcia myszy. - Legenda wizualna: Kolorystyczne oznaczenia stanów przycisków:
Wciśnięty,PrzetestowanyorazPodwójne kliknięcie. - Panel statystyk: Zbiorcze liczniki obejmujące pozycje:
Przetestowane przyciski,Suma naciśnięć,Podwójne kliknięciaorazKroki kółka. - Tabela weryfikacji podwójnych kliknięć: Zestawienie zawierające kolumny
Przycisk,NaciśnięciaorazMin. odstęp. - Dziennik zdarzeń: Tabela rejestrująca historię operacji z kolumnami:
CzasZdarzenie(przyjmujące wartości:Wciśnięcie,Zwolnienie,Dwukrotne kliknięcielubKółko)Przycisk(identyfikowany jakoLewy,Prawy,Środkowy,Wstecz,Dalej,KółkolubPrzycisk {number}w przypadku niestandardowych kontrolerów)Szczegóły(zawierające właściwości:Przycisk,Wciśnięte przyciski(lubBrak),Pozycja,Kółko,Odstęp,Czas wciśnięciaoraz typ urządzenia w poluWskaźnik:mouse,penlubtouch)- Etykieta ostrzegawcza
Podwójne kliknięcieprzy wykryciu zbyt szybkiego interwału.
W stanie początkowym, przed wykonaniem jakiejkolwiek akcji, w sekcji raportu widoczny jest komunikat Brak zdarzeń myszy — kliknij lub przewiń w obszarze testowym..
Zasady detekcji i ograniczenia systemowe
Prawidłowa interpretacja wyników wymaga uwzględnienia specyfiki obsługi zdarzeń przez systemy operacyjne i przeglądarki internetowe:
Algorytm wykrywania podwójnych kliknięć (Chatter)
Jeśli dwa kolejne naciśnięcia tego samego przycisku zostaną zarejestrowane w odstępie krótszym niż zdefiniowany próg (np. 40 ms), system klasyfikuje to zdarzenie jako wadliwe podwójne kliknięcie. Fizyczne, celowe kliknięcie wykonane ludzką ręką niemal nigdy nie osiąga tak niskiego czasu reakcji, co pozwala jednoznacznie wskazać na mechaniczną usterkę blaszki stykowej przełącznika.
Blokowanie menu kontekstowego i wyjątków systemowych
Standardowe menu kontekstowe wywoływane prawym przyciskiem myszy jest blokowane wewnątrz obszaru testowego, co umożliwia swobodne zliczanie kliknięć. Poza tym obszarem menu działa bez zmian. Istnieją jednak wyjątki niezależne od aplikacji:
- W przeglądarce Firefox użycie kombinacji klawiszy
Shift + prawy przycisk myszyzawsze wymusi otwarcie menu systemowego, pomijając przechwytywanie przez stronę. - W systemie macOS naciśnięcie klawisza
Ctrlwraz z kliknięciem jest domyślnie interpretowane przez system operacyjny jako kliknięcie prawym przyciskiem myszy.
Przechwytywanie przycisków bocznych
Narzędzie podejmuje próbę zablokowania domyślnych akcji przeglądarki dla przycisków bocznych (takich jak przejście wstecz lub dalej w historii przeglądania). Niektóre środowiska, np. Firefox pod systemem operacyjnym Linux, mogą jednak całkowicie przechwytywać te zdarzenia na poziomie systemowym, uniemożliwiając ich rejestrację na stronie internetowej.
Jednostki przewijania kółka
Wartości przesunięcia kółka myszy (scroll delta) są raportowane w różnych jednostkach w zależności od używanej przeglądarki oraz systemu operacyjnego. Mogą to być piksele (pixels), wiersze (lines) lub strony (pages). Z tego powodu podczas testów porównawczych na różnych platformach należy analizować kierunek ruchu oraz liczbę kroków, a nie surowe wartości liczbowe przesunięcia.
Obsługa ekranów dotykowych
To narzędzie zostało stworzone dla myszy lub touchpadów. Dotknięcia ekranu dotykowego będą rejestrowane w dzienniku jako zdarzenia dotykowe (touch), ale pełne testy przycisków i kółka wymagają fizycznej myszy lub touchpada.
Bezpieczeństwo danych i przetwarzanie lokalne
Wszystkie operacje związane z przechwytywaniem ruchu, kliknięć oraz analizą czasu przejść sygnałów są wykonywane lokalnie w przeglądarce użytkownika. Ruchy i kliknięcia myszy są odczytywane wyłącznie przez tę stronę w celu wyświetlenia szczegółów zdarzeń oraz lokalnego dziennika. Żadne dane nie są zapisywane na stałe ani przesyłane na zewnętrzne serwery. Zamknięcie karty, odświeżenie strony lub kliknięcie przycisku czyszczenia powoduje bezpowrotne usunięcie wszystkich zarejestrowanych parametrów.
Często zadawane pytania (FAQ)
Moja mysz klika dwukrotnie przy pojedynczym naciśnięciu — czy ten test to potwierdzi? Tak. Naciskaj podejrzany przycisk pojedynczymi, celowymi kliknięciami: każde naciśnięcie powinno zarejestrować dokładnie jedno zdarzenie Wciśnięcie i jedno Zwolnienie. Dodatkowe naciśnięcie mieszczące się w oknie testowym (domyślnie 40 ms) jest oznaczane jako podwójne kliknięcie i zliczane — powtarzanie się tego wzorca przy kolejnych kliknięciach oznacza zużyty przełącznik, a nie błąd oprogramowania. Sprawny przycisk prawie nigdy nie klika dwukrotnie tak szybko przy ręcznym naciskaniu, więc zwiększaj to okno tylko wtedy, gdy celowo klikasz wyjątkowo szybko.
Dlaczego w obszarze testowym nie otwiera się menu pod prawym przyciskiem myszy? Obszar testowy blokuje menu kontekstowe, aby prawy przycisk mógł być zliczany jak każdy inny; poza tym obszarem menu działa normalnie. Istnieją dwa wyjątki, których strona nie może obejść: w przeglądarce Firefox kombinacja Shift + prawy przycisk myszy zawsze otwiera menu i nie jest zliczana, a na systemach Mac skrót Ctrl + kliknięcie jest domyślnie rejestrowany jako kliknięcie prawym przyciskiem.
Dlaczego moje przyciski boczne nie reagują? Wiele przeglądarek rezerwuje przyciski Wstecz i Dalej do nawigacji w historii i przechwytuje je, zanim strona zdąży zarejestrować naciśnięcie — ten obszar testowy blokuje to zachowanie tam, gdzie przeglądarka na to pozwala, ale nie wszędzie. Firefox na systemie Linux może w ogóle nie zgłaszać przycisków bocznych. Jeśli nie reagują one tutaj, ale działają w innych aplikacjach, oznacza to, że zostały przechwycone przez przeglądarkę, a nie że mysz jest uszkodzona.
Dlaczego to samo przewinięcie pokazuje inne wartości przesunięcia w innej przeglądarce? Wartości przewijania są przekazywane w pikselach (pixels), wierszach (lines) lub stronach (pages) w zależności od przeglądarki i platformy, a odczyt wskazuje jednostkę użytą przy każdym zdarzeniu. Wartość w pikselach jest zawsze znacznie większa niż wartość w wierszach dla tego samego skoku kółka. Porównuj kierunek przewijania i liczbę kroków między przeglądarkami, a nie same surowe wartości przesunięcia.