Zrobiłem sobie układzik symulujący klawiaturę ps2, na razie dość ograniczona wersja z jednym przyciskiem i jedną diodą. Problem w tym że to co ten przycisk robi zależy od systemu operacyjnego. Do momentu zabootowania systemu symuluje wciśnięcie klawisza "a" oraz jego zwolnienie (make code 1C, break code F0 1C), w Linuksie jest tak samo natomiast Windows podczas bootowania się zawiesza (prawdopodobnie wysyła coś do klawiatury i czeka na odpowiedź, nie bardzo tylko wiem co wysłał) a następnie reaguje na mój przycisk jak na "enter". Wykombinowałem że BIOS i Linux korzystają z scan code set 2, natomiast windows z scan code set 1. Pytania:
1. Dlaczego windows korzysta z archaicznego scan code set 1 (zakładając że moje domysły pokrywają się z prawdą).
2. Czy od strony tego mojego symulatora mogę zrobić coś aby windows korzystał jednak z scan code set 2? Rozwiązania programowe od strony Windows nie wchodzą w grę, w końcu po to robię urządzenie sprzętowe.
3. Co Windows może wysyłać i na jaką odpowiedź czekać w czasie bootowania. W tym urządzeniu mam rs232, ale ciężko mi coś z niego odebrać jak system jeszcze nie wstał (mogę wziąć drugi komputer ale to jest większa zabawa).
Z góry dziękuję za jakieś sugestie,
1. Dlaczego windows korzysta z archaicznego scan code set 1 (zakładając że moje domysły pokrywają się z prawdą).
2. Czy od strony tego mojego symulatora mogę zrobić coś aby windows korzystał jednak z scan code set 2? Rozwiązania programowe od strony Windows nie wchodzą w grę, w końcu po to robię urządzenie sprzętowe.
3. Co Windows może wysyłać i na jaką odpowiedź czekać w czasie bootowania. W tym urządzeniu mam rs232, ale ciężko mi coś z niego odebrać jak system jeszcze nie wstał (mogę wziąć drugi komputer ale to jest większa zabawa).
Z góry dziękuję za jakieś sugestie,