2013-05-18 5 views
8

Moja siostra i ja piszemy program pomagający ludziom, którzy cierpią z powodu drżenia (drżenie w dłoniach).Wykryj, czy mysz dotyka ziemi, czy jest w powietrzu

Program rozpoznaje, czy kursor myszy jest wolniejszy, a następnie sprawia, że ​​kursor jest łatwiejszy do kontrolowania i wolniejszy, ponieważ ułatwia korzystanie z myszy z drżącymi dłońmi.

Program działa do tej pory i istnieje tylko jeden problem: jeśli użytkownik podniesie mysz do innej pozycji, prędkość wynosi 0 przez krótki okres czasu. Program zakłada, że ​​kursor musi zostać spowolniony, ale tak się nie stanie.

Czy istnieje sposób sprawdzenia, czy mysz dotyka podkładki pod mysz/ziemi?

Programujemy w języku C#.

+0

Dobre pytanie, ale nie sądzę, że jest to możliwe, niestety – craig1231

+1

Próbowaliśmy rozpoznać ruch użytkownika podnoszącego mysz w powietrzu o szybkość kursora myszy. Jeśli dana osoba drży, prędkość kursora myszy prawie nigdy nie wynosi 0. Jeśli mysz znajduje się w powietrzu, prędkość powinna wynosić 0. Niestety to nie działało zbyt dobrze .... –

+2

Pomysł: Zakładam, że jeśli mysz zatrzyma się celowo, najpierw zwolniła. Gdyby był w powietrzu, przystanek byłby bardziej gwałtowny. Może spróbuj to wykryć? Jeśli masz już do tego algorytm, może to być tylko kwestia jego kalibracji/dopracowania. Radzę ci uchwycić strumień prędkości myszy w różnych sytuacjach i zrobić z tego wykres. Sprawi, że charakterystyka wokół zachowania, które chcesz wykryć, stanie się bardziej oczywista. –

Odpowiedz

1

Prawdopodobnie najlepiej jest scharakteryzować straty danych myszy, jak w tym przypadku, a następnie program powinien zignorować ruch, który pasuje.

Na przykład, ruch jest równy dokładnie zero, gdy mysz jest podnoszona, a nie jest przenoszona? Jeśli tak, zignoruj ​​ruch pod niskim progiem.

+0

Próbowaliśmy tego, ale nie działało tak dobrze. A zanim poświęciliśmy temu więcej czasu, chcieliśmy zapytać was, bo wiecie tak dużo i może być łatwiejsza opcja. –

+0

Co masz na myśli, mówiąc, że to nie działa dobrze? –

+0

Wyniki były bardzo niespójne, czasami rozpoznawanie zadziałało, ale nie udało nam się naprawdę sprawić, żeby działało. Próbowaliśmy również w najprostszy sposób (mierząc jak długo prędkość była bliska zeru). Może bardziej złożony algorytm może pomóc ... –