Ctrl2Cap v2.0

Von Mark Russinovich

Veröffentlichungsdatum: 1. November 2006

DownloadCtrl2Cap herunterladen(48 KB)

Einführung

Ctrl2cap ist ein Kernelmodus-Gerätetreiber, der den Tastaturklassentreiber des Systems filtert, um mit der FESTSTELLTASTE eingegebene Zeichen in Steuerzeichen zu konvertieren. Menschen wie ich, die von UNIX zu NT gekommen sind, sind es gewohnt, dass die STRG-TASTE dort ist, wo sich auf der Standard-PC-Tastatur die FESTSTELLTASTE befindet. Daher ist für uns ein Hilfsprogramm wie dieses bei der Bearbeitung unerlässlich.

Installation und Nutzung

Installieren Sie Ctrl2cap mit dem Befehl „ctrl2cap /install“ aus dem Verzeichnis, in dem Sie die Ctrl2cap-Dateien entzippt haben. Geben Sie zum Deinstallieren „ctrl2cap /uninstall“ ein.

Funktionsweise von Ctrl2cap

Unter NT 4 ist Ctrl2cap eigentlich recht einfach. Es fügt sich einfach an den Tastaturklassentreiber an, um Tastaturleseanforderungen zu erfassen. Für jede Anforderung veröffentlicht es einen E/A-Abschlussrückruf und überprüft den zurückgegebenen Scancode. Handelt es sich um eine Betätigung der FESTSTELLTASTE, ändert Ctrl2cap dies in eine Betätigung der linken UMSCHALTTASTE.

Unter Win2K ist Ctrl2cap ist ein WDM-Filtertreiber, der sich im Stapel des Tastaturklassengeräts über dem Tastaturklassengerät befindet. Dies steht im Gegensatz zum kbfiltr-Beispiel des Win2K DDK, das sich zwischen dem i8042-Portgerät und dem Tastaturklassengerät befindet. Ich habe mich aus mehreren Gründen für die Platzierung über dem Tastaturklassengerät entschieden:

  • Es bedeutet, dass der Abfang- und Manipulationscode „IRP_MJ_READ“ von Ctrl2cap sowohl von der NT 4-Version als auch von der Win2K-Version genutzt wird.
  • Ich muss keine INF-Datei bereitstellen, und Benutzer*innen müssen Ctrl2cap nicht über den Geräte-Manager installieren. Ich ändere einfach den entsprechenden Registrierungswert (den Wert „HKLM\System\CurrentControlSet\Control\Class UpperFilters“ der Tastaturklassengeräte).

Der Nachteil meines Ansatzes (der je nach Standpunkt auch ein Vorteil sein kann):

  • Da ich keine Installation mit einer INF-Datei über den Geräte-Manager durchführe, werden Benutzer*innen nicht gewarnt, dass die Ctrl2cap-Treiberdatei über keine digitale Signatur von Microsoft verfügt.

In diesem speziellen überwiegen für mich die Vorteile. Bevor Sie jedoch einen Win2K-Tastaturfilter nach dem Vorbild von Ctrl2cap gestalten, rate ich Ihnen dringend, sich mit dem kbfiltr-Beispiel aus dem Win2K DDK vertraut zu machen. Der Abfangpunkt von kbfiltr in der Tasteneingabesequenz macht es kbfiltr sehr einfach, Tastenanschläge in den Eingabedatenstrom einzufügen.

Weitere Informationen

Weitere Informationen zum Schreiben von Filtertreibern (Treiber, die sich an andere Treiber anfügen, um deren Eingabe und/oder Ausgabe sehen zu können), finden Sie in folgenden Quellen:

  • Das Windows NT und Windows 2000 DDK-Beispiel (\src\storage\filter\diskperf)
  • Das Windows 2000 DDK-Beispiel (\src\input\kbfiltr)
  • „Examining the Windows NT File System“ von Mark Russinovich, Dr. Dobb's Journal, Februar 1997
  • Der zugehörige Dateisystemfiltertreiber Filemon

DownloadCtrl2Cap herunterladen(48 KB)

Läuft auf:

  • Client: Windows Vista und höher.
  • Server: Alle Windows Server 2008 und höher.