2010-08-20 7 views
15

Zastanawiam się, czy ktoś tam miał doświadczenie w pisaniu sterowników urządzeń klawiatury. Znam podstawy działania przerwań na klawiaturze, ale nie znam szczegółów wszystkiego. Czy to jest trudne? Zbyt trudne dla jednej osoby?Pisanie sterownika urządzenia klawiatury

Pytam o to, ponieważ niedawno kupiłem klawiaturę Apple, a sterownik systemu Windows nie rozpoznaje wielu kluczy. Również, jeśli znasz łatwiejsze rozwiązanie tego problemu niż napisanie sterownika, również to doceniłbym. (Ja już próbowałem SharpKeys, wydaje się, że to problem sterownika okna, że ​​nie można rozpoznać pewne kody skanowania)

+4

+1 za chęć wzięcia udziału w niesamowitym hackismo. – Mhmmd

+0

Możesz spróbować sprawdzić, czy możliwe jest użycie sterowników dołączonych do BootCamp. – Bruno

+0

Myślałem, że BootCamp nie był wolny? – Albinoswordfish

Odpowiedz

11

Oto co trzeba będzie napisać sterownik urządzenia dla systemu Windows:

  • An zrozumienie ram kierowcy WDF (KMDF) i jego API (nie polecam WDM)
  • Drugi komputer (lub Hyper-V), którego można użyć do debugowania jądra. Pobierz program WinDbg, a następnie zdalnie debuguj drugi komputer. Nie próbuj pisać sterowników urządzeń bez możliwości debugowania.
  • Pełna specyfikacja oprogramowania klawiatury < -> interfejs sprzętowy. Może ekspert może w jakiś sposób wnioskować o interfejsie eksperymentalnie, ale może to potrwać wieki. Myślę, że powinieneś mieć więcej szczęścia, żeby zaprojektować sterownik na drugiej platformie.

Jeśli można znaleźć źródło bardzo podobny sterownika lub sterownik na inną platformę to może stać się wykonalne, w przeciwnym razie ...

Jeśli jesteś zainteresowany sterowników, spróbuj uruchomić pisząc oprogramowanie - tylko kierowca. Najprawdopodobniej będzie to tylko "zabawka", ale w jądrze można zrobić naprawdę fajne rzeczy, więc może warto mieć kierowcę zabawkowego. Możesz komunikować się między plikiem .exe i trybem użytkownika, używając IOCTL. Może w końcu możesz zaktualizować go do sterownika emulującego klawiaturę, a następnie spróbuj go zaktualizować do właściwego sterownika urządzenia klawiatury, który chcesz.

Znaleziony wątek o oprogramowanie tylko kierowców Klawiatura: http://www.osronline.com/showthread.cfm?link=119885

Może to jest przydatne: http://www.osronline.com/ddkx/intinput/i8042ref_9eb6.htm

Aktualizacja: Hyper-V jest dostępna dla wszystkich 8 użytkowników systemu Windows i powinien w znacznym stopniu wyeliminować „drugim Wymagania dotyczące komputera. Możesz uruchomić sterownik na maszynie wirtualnej i podłączyć do niego debuger jądra.