Ctrl2Cap v2.0

Par Mark Russinovich

Publié : 1er novembre 2006

DownloadTélécharger Ctrl2Cap(48 Ko)

Introduction

Ctrl2cap est un pilote de périphérique en mode noyau qui filtre le pilote de classe de clavier du système afin de convertir les caractères de verrouillage des majuscules en caractères de contrôle. Les personnes comme moi qui ont migré vers NT à partir de UNIX sont utilisées pour avoir la touche de contrôle située où la touche de verrouillage des majuscules se trouve sur le clavier de PC standard, donc un utilitaire comme celui-ci est essentiel pour notre bien-être d’édition.

Installation et utilisation

Installez Ctrl2cap exécutant la commande « ctrl2cap /install » à partir du répertoire dans lequel vous avez décompressé les fichiers Ctrl2cap. Pour désinstaller le type « ctrl2cap /uninstall ».

Fonctionnement de Ctrl2cap

Sur NT 4 Ctrlcap est en fait assez trivial. Il s’attache simplement au pilote de classe de clavier afin qu’il intercepte les demandes de lecture du clavier. Pour chaque demande, il publie un rappel d’achèvement d’E/S, auquel cas il prend un aperçu du code d’analyse retourné. S’il s’agit d’un verrou de majuscules, ctrl2cap la transforme en contrôle gauche.

Sur Win2K Ctrl2cap est un pilote de filtre WDM qui couche la pile de l’appareil de classe clavier au-dessus du périphérique de classe de clavier. Contrairement à l’exemple kbfiltr du DDK Win2K qui se couche entre l’appareil de port i8042 et l’appareil de classe de clavier. J’ai choisi de superposer le périphérique de classe de clavier pour plusieurs raisons :

  • Cela signifie que ctrl2cap IRP_MJ_READ code d’interception et de manipulation est partagé entre les versions NT 4 et Win2K.
  • Je n’ai pas besoin de fournir un fichier INF et l’utilisateur passe par la Gestionnaire de périphériques pour installer Ctrl2cap . Je modifie simplement la valeur de Registre appropriée (valeur HKLM\System\CurrentControlSet\Control\Class UpperFilters des appareils de la classe de clavier).

L’inconvénient de mon approche est (et ceci un avantage ou un inconvénient selon votre point de vue) :

  • Étant donné que je n’effectue pas d’installation avec un fichier INF via le Gestionnaire de périphériques, l’utilisateur n’est pas averti que le fichier de pilote Ctrl2cap n’est pas signé numériquement par Microsoft.

Dans ce cas particulier, j’ai estimé que les avantages l’emportent sur les inconvénients. Toutefois, avant de modéliser un filtre clavier Win2K sur Ctrl2cap, je vous suggère vivement d’étudier l’exemple kbfiltr à partir du DDK Win2K. Le point d’interception de Kbfiltr dans la séquence d’entrée de clé facilite l’injection de séquences de touches dans le flux d’entrée.

Informations complémentaires

Pour plus d’informations sur l’écriture de pilotes de filtre (pilotes qui s’attachent à d’autres pilotes afin qu’ils puissent voir leur entrée et/ou leur sortie), voici des sources à consulter :

  • L’exemple Windows NT et Windows 2000 DDK \src\storage\filter\diskperf
  • L’exemple Windows 2000 DDK \src\input\kbfiltr
  • « Examen du système de fichiers NT Windows », par Mark Russinovich, Dr. Dobb’s Journal, février 1997
  • Pilote de filtre du système de fichiers associé, Filemon

DownloadTélécharger Ctrl2Cap(48 Ko)

S’exécute sur :

  • Client : Windows Vista et versions ultérieures.
  • Serveur : Windows Server 2008 et versions ultérieures.