Ctrl2Cap v2.0

Autor: Mark Russinovich

Opublikowano: 1 listopada 2006 r.

DownloadPobierz klawisze Ctrl2Cap(48 KB)

Wprowadzenie

Ctrl2cap to sterownik urządzenia w trybie jądra, który filtruje sterownik klasy klawiatury systemu w celu przekonwertowania znaków caps-lock na znaki sterujące. Osoby jak ja, że zmigrowane do NT z system UNIX są używane do posiadania klawisza sterowania znajdującego się, gdzie klawisz caps-lock jest na standardowej klawiaturze komputera, więc narzędzie takie jest niezbędne dla naszego dobrego samopoczucia edycji.

Instalacja i użycie

Zainstaluj klawisze Ctrl2cap, uruchamiając polecenie "ctrl2cap /install" z katalogu, do którego rozpakujesz pliki Ctrl2cap. Aby odinstalować, wpisz "ctrl2cap /uninstall".

Jak działa ctrl2cap

Na NT 4 Ctrlcap jest rzeczywiście dość banalne. Po prostu dołącza się do sterownika klasy klawiatury, aby przechwycić żądania odczytu klawiatury. Dla każdego żądania publikuje wywołanie zwrotne ukończenia we/wy, w którym momencie pobiera wgląd w zwracany kod skanowania. Jeśli stanie się to caps-lock, ctrl2cap zmieni go w lewą kontrolkę.

Na Win2K Ctrl2cap jest sterownik filtru WDM, który warstwy w stosie urządzenia klasy klawiatury powyżej urządzenia klasy klawiatury. Jest to w przeciwieństwie do przykładu bazy danych DDK win2K, który warstwuje się między urządzeniem portu i8042 i urządzeniem klasy klawiatury. Zdecydowałem się na warstwę na górze urządzenia klasy klawiatury z kilku powodów:

  • Oznacza to, że kod przechwytywania i manipulowania ctrl2cap IRP_MJ_READ jest współużytkowany między wersjami NT 4 i Win2K.
  • Nie muszę podawać pliku INF i użytkownik przechodzi przez Menedżer urządzeń, aby zainstalować Ctrl2cap — po prostu zmodyfikuj odpowiednią wartość rejestru (HKLM\System\CurrentControlSet\Control\Class UpperFilters).

Wadą mojego podejścia jest (a zaletą lub wadą w zależności od punktu widzenia):

  • Ponieważ nie instaluję pliku INF za pośrednictwem Menedżer urządzeń, użytkownik nie jest ostrzegany, że plik sterownika Ctrl2cap nie jest podpisany cyfrowo przez firmę Microsoft.

W tym konkretnym przypadku czułem, że zalety przewyższają wady. Jednak przed utworzeniem modelu filtru klawiatury Win2K na ctrl2cap zdecydowanie sugerują, że badasz przykład kbfiltr z zestawu DDK Win2K. Punkt przechwytywania kbfiltru w sekwencji danych wejściowych klucza sprawia, że bardzo łatwo jest wstrzyknąć naciśnięcia klawiszy do strumienia wejściowego.

Więcej informacji

Aby uzyskać więcej informacji na temat pisania sterowników filtrów (sterowników, które dołączają się do innych sterowników w celu wyświetlenia ich danych wejściowych i/lub wyjściowych), oto źródła, które należy sprawdzić:

  • Windows NT i Windows 2000 DDK sample \src\storage\filter\diskperf
  • Przykład zestawu DDK systemu Windows 2000 \src\input\kbfiltr
  • "Badanie systemu plików Windows NT" , Mark Russinovich, Dr Dobb's Journal, luty 1997
  • Towarzyszący sterownik filtru systemu plików Filemon

DownloadPobierz klawisze Ctrl2Cap(48 KB)

Działa w:

  • Klient: Windows Vista i nowsze.
  • Serwer: Windows Server 2008 i nowsze.