Modify/Disable The Caps Lock Key
This page explains how to modify a Windows 2000/XP computer in order
to disable the Caps Lock key or to swap the CTRL and Caps Lock Keys.
Windows 2000 and XP include a new Scan Code Mapper, which provides
a method that allows for mapping of scan codes. It allows the reassignment
of any key, incl. disabling keys by mapping them to a zero value.
Here are some of the keys:
Caps Lock |
0x3A |
Left CTRL |
0x1D |
The entries in the registry are stored in little Endia format.
Step 1
First, a new binary value called Scancode Map
needs to created in the Keyboard Layout key.
Using the registry editor, find HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard
Layout
Disable Caps Lock:
Scancode Map entries to disable CAPS LOCK
|
Value |
Interpretation |
Entered as |
DWORD 1 |
0x00000000 |
Header: Version. Set all to zeroes |
00 00 00 00 |
DWORD 2 |
0x00000000 |
Header: Flags. Set all to zeroes |
00 00 00 00 |
DWORD 3 |
0x00000002 |
Number of entries in the map, including null terminator (2 entries
in this example) |
02 00 00 00 |
DWORD 4 |
0x003A0000 |
Remove CAPS LOCK (0x3A --> 0x00) |
00 00 3A 00 |
DWORD 4 |
0x00000000 |
Null Terminator |
00 00 00 00 |
Therefore, in order to disable the CAPS Lock key, one would specify
the binary value of the Scancode Map as:
00 00 00 00 00 00 00 00 02 00 00 00 00 00 3A 00 00 00
00 00
and the editor window would look like:
Then reboot the system to activate the Scancode Map.
Swap CTRL and Caps Lock
Scancode Map entries to swap LEft CTRL for CAPS LOCK
|
Value |
Interpretation |
Entered as |
DWORD 1 |
0x00000000 |
Header: Version. Set all to zeroes |
00 00 00 00 |
DWORD 2 |
0x00000000 |
Header: Flags. Set all to zeroes |
00 00 00 00 |
DWORD 3 |
0x00000003 |
Number of entries in the map, including null terminator (3 entries
in this example) |
03 00 00 00 |
DWORD 4 |
0x001D003A |
Left Ctrl Key --> CAPS LOCK (0x1D --> 0x3A) |
3A 00 1D 00 |
DWORD 5 |
0x003A001D |
CAPS LOCK --> Left CTRL (0x3A --> 0x1D) |
1D 00 3A 00 |
DWORD 6 |
0x00000000 |
Null Terminator |
00 00 00 00 |
Therefore, in order to swap the Left CTRL with the CAPS
Lock key, one would specify the binary value of the Scancode Map as:
00 00 00 00 00 00 00 00 03 00 00 00 3A 00 1D 00 1D 00
3A 00 00 00 00 00
and the editor window will look like:
0000 00 00 00 00 00 00 00 00
0080 03 00 00 00 3A 00 1D 00
0010 1D 00 3A 00 00 00 00 00
Then reboot the system to activate the Scancode Map.
For more information, check out http://www.microsoft.com/hwdev/tech/input/w2kscan-map.asp