Trochę pracy i powstała działająca biblioteka

.
Mam tylko problem z zczytywaniem wartości 2 przycisków znajdujących się pod sobą.
Biblioteka działa tak:
-jeżeli wciśniemy jeden to zwróci 17 bo pierwsza linia czyli 16 i pierwszy przycisk czyli waga bitu 1.
-jeżeli wciśniemy 3 to da nam 20 bo linia pierwsza i trzeci bit czyli 4.
-jeśli wciśniemy 4 to funkcja zwróci nam 33 bo druga linia czyli 32 + 1 bo pierwszy bit.
-jeśli wciśniemy 3 i 8 da nam 86 bo 3= 16+4, a 8= 64+2 co razem daje 20+66=86.
Problem polega na tym że ta zasada nie działa jeśli naciskam dwa przyciski z tej samej linii wejścia np. 2 i 5 powinno mi dać 18 + 34 czyli 52, a daje 34.
Mile widziane objaśnienie problemu jak i obiektywna krytyka całego kodu.
Jak komuś się przyda biblioteka to zachęcam do korzystania:).
no to kodzik:)
klaw.h
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
klaw.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
main.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.