Witaj,
Znasz szerokość / wysokość ekranu, znasz szerokość /wysokość klawiszy, więc wiesz wszystko.
Zakładamy, że odczytywane współrzędne masz już obrobione, i są prawidłowe
Zakładamy, że np. szerokość jednego klawisza to 64 piksele, czyli 5 klawiszy się zmieści dla szerokości ekranu 320px
Zakładamy, że np wysokość jednego klawisza to 60 pikseli, czyli 4 klawisze się zmieszczą na wysokości ekranu 240px
----0------------1--------------2---------------3----------------4
0......63 64.....127 128.....191 192.....255 256.....319
Teraz odczytujemy pozycję dotyku w X, dzielimy przez szerokość jednego klawisza, odrzucamy część ułamkową i otrzymujemy numer klawisza w poziomie. Jeżeli dzielenie wykonujemy na liczbach całkowitych to automatycznie dostaniemy część całkowitą z dzielenia
To samo robimy dla osi Y.
Zakładając, że odczyt dotyku to np X = 165 oraz Y = 73
Więc:
X / 64 = 165 / 64 = 2.578 = 2
czyli liczba całkowita to 2.
Y / 60 = 73 / 60 = 1.21 = 1
czyli liczba całkowita to 1.
Wiemy więc, że naciśnięty klawisz jest w 2 kolumnie 1 rzędu.
Możemy teraz to zrobić tak, że
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
W tej metodzie ważne jest to, aby dotyk był tak oprogramowany / wyskalowany, aby odczytywane współrzędne odpowiadały pikselom na ekranie, oraz, aby klawisze były jednakowych wymiarów. Można je w oprogramowaniu oczywiście łączyć w większe klawisze.