Posts Tagged ‘Unix’

Sysinternal: Ctrl2cap

I am beginning a new series on the Sysinternal tools which is now part of Microsoft Technet tools. This series of posts will highlight both interesting and useful tools available as part of the Sysinternal suite of tools. The most common tool, and perhaps the most important is ProcMon, but we’ll get to that later. Today we’ll review the first tool posted, Ctrl2cap.

Ctrl2Cap was designed to help transition users from old Unix style keyboards where the control key is where the caps-lock key is on a standard windows keyboard. Installing this tool will capture keyboard inputs and will swap control and caps-lock keys to enable an easier transition for Unix administrators to a windows environment. I encounter the inverse-situation when I am at a Unix style workstation, or an AS400 and they are using a Unix style keyboard and am accustom to a standard windows keyboard layout.

Additional information directly from Microsoft on this tool:

On Win2K Ctrl2cap is a WDM filter driver that layers in the keyboard class device’s stack above the keyboard class device. This is in contrast to the Win2K DDK’s kbfiltr example that layers itself between the i8042 port device and the keyboard class device. I chose to layer on top of the keyboard class device for several reasons:

  • It means that the Ctrl2cap IRP_MJ_READ interception and manipulation code is shared between the NT 4 and Win2K versions.

  • I don’t need to supply an INF file and have the user go through the Device Manager to install Ctrl2cap – I simply modify the appropriate Registry value (the keyboard class devices’s HKLM\System\CurrentControlSet\Control\Class UpperFilters value).

More information and the download of this tool can be found at: