Ctrl2Cap v2.0

Par Mark Russinovich

Date de publication : 1 novembre 2006

DownloadTélécharger Ctrl2Cap(48 Ko)

Présentation

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

Installation et utilisation

Installez Ctrl2cap en exécutant la commande "ctrl2cap /install" à partir du répertoire dans lequel vous avez décompressé les fichiers Ctrl2cap. Pour désinstaller, tapez "ctrl2cap /uninstall".

Comment fonctionne Ctrl2cap

Sur NT 4, Ctrlcap est en fait assez trivial. Il s'attache simplement au pilote de la classe du clavier afin d'intercepter les demandes de lecture du clavier. Pour chaque requête, il publie un rappel d'achèvement d'E/S, auquel cas il jette un coup d'œil au scancode qui est renvoyé. S'il s'agit d'un verrouillage des majuscules, ctrl2cap le transforme en un contrôle gauche.

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

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

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

  • Parce que je n'installe pas avec un fichier INF via le Gestionnaire de périphériques, l'utilisateur n'est pas averti que le fichier du pilote Ctrl2cap n'est pas signé numériquement par Microsoft.

Dans ce cas particulier, j'ai senti que les avantages l'emportaient sur les inconvénients. Cependant, avant de modéliser un filtre de clavier Win2K sur Ctrl2cap, je vous suggère fortement d'étudier l'exemple kbfiltr du DDK Win2K. Le point d'interception de Kbfiltr dans la séquence d'entrée des touches permet à kbfiltr d'injecter très facilement des frappes 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 sortie), voici les sources à consulter :

  • L'exemple DDK Windows NT et Windows 2000 \src\storage\filter\diskperf
  • Exemple de DDK Windows 2000 \src\input\kbfiltr
  • « Examen du système de fichiers Windows NT », par Mark Russinovich, Journal du Dr Dobb, février 1997
  • Le pilote de filtre de système de fichiers qui l'accompagne, Filemon

DownloadTélécharger Ctrl2Cap(48 Ko)

Fonctionne sur :

  • Client : Windows Vista et supérieur.
  • Serveur : Windows Server 2008 et supérieur.