Zuk, klawiatura inicjuje transmisję do hosta, host inicjuje transmisję do klawiatury (w celu odpytania o stan diód/zapalenie/zgaszenie diody), ale to zawsze klawiatura nadaje sygnał zegarowy do przesyłu znaków, dlatego zarówno odbiór, wysyłanie jak i sama implementacja protokołu jest proste. Clock z klawiatury podłącza się bezpośrednio do wejścia INT0/1, robi przerwanie na opadające zbocze i przerwanie-po-przerwaniu odczytuje się bit-po-bicie. Tzn. w przerwaniu odbiór bitu, i wpisanie do odpowiedniej zmiennej. Tak moim zdaniem najprościej 🙂
Sam protokół PS\2 jest bardzo, bardzo dobrze opisany. W zeszłym roku, nie mając prawie w ogóle pojęcia o programowaniu mikrokontrolerów pisałem sterownik (tylko odbiór znaków) do klawiatury ps\2 na procesory '51 - może trzy dni mi to zajęło. [jeśli ktoś byłby zainteresowany to mogę udostępić źródła]
http://www.hardwarebook.info/AT_Keyboard/Mouse_protocol
http://www.burtonsys.com/PS2_keyboard_and_mouse_mini-DIN-6_connector_pinouts.html
http://elportal.pl/forum/viewtopic.php?t=8155 < przykładowy kod na avry, choć polecam próbować pisać własny!
Warto kupić przedłużacz do klawiatury, rozwalić go i zrobić sobie wygodne podłączenie pod goldpiny, albo jakoś inaczej do testów.