Friday, July 30, 2010   
  Search   
 

Office 2010 - Launch Event

Register  Login  
Forums  
     Minimize  

Welcome to MeraWindows forums.

Thank you for being at the Microsoft Windows Community Site. You may have to register before posting in forums. It's absolutely free. After registering, you can get all the benefits available to our registered members, you can access our Downloads section, you can participate in contests, etc. You can post in forums in English as well as in Hindi, in fact we encourage you to use Hindi in your posts. If you have any problem with registration or login, please contact us.

     
  
     Minimize  


     
  
 
Microsoft Windows ForumsMicrosoft Windows ForumsOther Windows V...Other Windows V...Windows XPWindows XPHow to map - remap keyboard buttons?How to map - remap keyboard buttons?
Previous Previous
 
Next Next
New Post
 2/23/2009 6:11 PM
 


How to map - remap keyboard buttons?

How about disabling DELETE key or the most often used SPACEBAR?

Sometimes before, I came to know how to remap keyboard, which would allow me to disable & interchange keys, without having to use any software, neither any special keyboard driver etc. I must tell you that this tutorial is making use of regedit it means if you don't know anything about regedit than first read the article Understanding/Backup & Restoring Regedit.

In Windows operating systems, PS/2-compatible scan codes provided by an input device (Keyboard, Joystick, Mouse etc) are converted into virtual keys, which are transferred through the system in the form of Windows messages. Windows 2000 and Windows XP include a new Scan Code Mapper, which provides a method that allows for mapping of scan codes. The scan code mappings for Windows are stored in the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

NOTE: There is also a Keyboard Layouts key under the Control key, you should not mess up with that key.

To make you understand the concept I will first start from the basic that is disabling key, once you understand the concept you can disable any key or even interchange any key with another. Here I am disabling DELETE key. 
 
 
 
 
 
 
 
 
 

Disable CAPS LOCK key

Open Regedit and go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout.

Be careful not to edit the "Keyboard Layouts" key. If you want the remapping to apply on a user-specific basis, log in as that user (you need to be an administrator in XP Home or have registry editing privileges, usually a power user or administrator, in XP Pro) and use HKEY_CURRENT_USER\Keyboard Layout.

Your browser may not support display of this image.

In right-side pane create or modify Binary Value, name it Scancode Map. The content of the key will depend on what kind of mapping – remapping you wants.

Start offset (in bytes) Size (in bytes) Data
0 4 Header: Version Information
4 4 Header: Flags
8 4 HeaderNumber of Mappings
12 4 Individual Mappings
Last 4 bytes 4 Null Terminator (0x00000000)
 

The first and second DWORDS store header information and should be set to all zeroes for the current version of the Scan Code Mapper. The third DWORD entry holds a count of the total number of mappings that follow, including the null terminating mapping. The minimum count would therefore be 1 (no mappings specified). The individual mappings follow the header. Each mapping is one DWORD in length.

Scancode Map entries to disable CAPS LOCK

DWORDs 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 5 0x00000000 Null Terminator 00 00 00 00
 

From here you need to take proper care on entering the value, place the first DWORD (i.e. the header of your scancode), so that your scancode map should look like this

  • 00 00 00 00

Now following the header place the second DWORD value (i.e.  The flag of your scancode), now your scancode should look like this

  • 00 00 00 00   00 00 00 00

Till here your version and flag is all set, now identify how many mappings you want to do, in this case it is 2 (1st to change CAPS LOCK key to 00 00 00 00 and then placing the Null Terminator, so in any case the minimum mapping should be 1. The no of mapping is also followed by the null key i.e. 4 zeros 00 00

It should now look like this:

  • 00 00 00 00  00 00 00 00

    02 00 00 00   

Now we have our header, flag, and no’s of mapping all set now its time for real mapping, so for disabling CAPS LOCK key you need to look at the scancode (given below) of it which is 3A. Now in order to disable the key first write the null key i.e. 4 zeros 00 00

  • 00 00 00 00  00 00 00 00

    02 00 00 00  00 00

If you look at scancode you will see that its scancode is 3A which is a 2 digit number, so if you want to enter it into registry you need to modify it by adding 2 more zeros in the end, so as to make it 3A 00, but even now it is incorrect you need to reverse it (Thanks to MICROSOFT for that more headache) i.e. the correct value will be 00 3A. Till now your scancode should look like below

  • 00 00 00 00  00 00 00 00

    02 00 00 00  00 00 00 3A

NOTE: if you want to turn off DELETE key then the code will be 02 00 00 00   00 00 00 E0 53

Finally!  This yields three effects.  Pressing Caps Lock no longer does -anything-.

To finish it up, add four more bytes of zeros (00 00 00 00) i.e. null terminator and exit and reboot.

  • 00 00 00 00  00 00 00 00

    02 00 00 00  00 00 00 3A

    00 00 00 00

Your browser may not support display of this image. 
 

Complete Scan Codes

Special Keys Scan Code
Application 5D E0
Backspace 0E 00
Caps Lock 3A 00
Delete 53 E0
End 4F E0
Enter 1C 00
Escape 01 00
HOME 47 E0
Insert 52 E0
Left Alt 38 00
Left Ctrl 1D 00
Left Shift 2A 00
Left Windows 5B E0
Num Lock 45 00
Page Down 51 E0
Page Up 49 E0
Power 5E E0
PrtSc 37 E0
Right Alt 38 E0
Right Ctrl 1D E0
Right Shift 36 00
Right Windows 5C E0
Scroll Lock 46 00
Sleep 5F E0
Space 39 00
Tab 0F 00
Wake 63 E0
 
Number Pad Keys Scan Code
0 52 00
1 4F 00
2 50 00
3 51 00
4 4B 00
5 4C 00
6 4D 00
7 47 00
8 48 00
9 49 00
- 4A 00
* 37 00
. 53 00
/ 35 E0
+ 4E 00
Enter 1C E0
  
 
Arrow Keys Scan Code
Down 50 E0
Left 4B E0
Right 4D E0
Up 48 E0
  
 
 
Function Keys Scan Code
F1 3B 00
F2 3C 00
F3 3D 00
F4 3E 00
F5 3F 00
F6 40 00
F7 41 00
F8 42 00
F9 43 00
F10 44 00
F11 57 00
F12 58 00
F13 64 00
F14 65 00
F15 66 00
  
 
 
Application

Keys

Scan Code
Calculator 21 E0
E-Mail 6C E0
Media Select 6D E0
Messenger 11 E0
My Computer 6B E0
  
 
 
 
QWERTY Keys Scan Code
' " 28 00
- _ 0C 00
, < 33 00
. > 34 00
/? 35 00
;: 27 00
[ { 1A 00
\ | 2B 00
] } 1B 00
` ~ 29 00
= + 0D 00
0 ) 0B 00
1 ! 02 00
2 @ 03 00
3 # 04 00
4 $ 05 00
5% 06 00
6 ^ 07 00
7 & 08 00
8 * 09 00
9 ( 0A 00
A 1E 00
B 30 00
C 2E 00
D 20 00
E 12 00
F 21 00
G 22 00
H 23 00
I 17 00
J 24 00
K 25 00
L 26 00
M 32 00
N 31 00
O 18 00
P 19 00
Q 10 00
R 13 00
S 1F 00
T 14 00
U 16 00
V 2F 00
W 11 00
X 2D 00
Y 15 00
Z 2C 00
 
F-Lock Keys Scan Code
Close 40 E0
Fwd 42 E0
Help 3B E0
New 3E E0
Office Home 3C E0
Open 3F E0
Print 58 E0
Redo 07 E0
Reply 41 E0
Save 57 E0
Send 43 E0
Spell 23 E0
Task Pane 3D E0
Undo 08 E0
  
 
 
 
 
 
 
 
 
 
 
 
Media Keys Scan Code
Mute 20 E0
Next Track 19 E0
Play/Pause 22 E0
Prev Track 10 E0
Stop 24 E0
Volume Down 2E E0
Volume Up 30 E0
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Web Keys Scan Code
Back 6A E0
Favorites 66 E0
Forward 69 E0
HOME 32 E0
Refresh 67 E0
Search 65 E0
Stop 68 E0
Disable Turn Key Off 00 00
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Manufacturer Special Keys Scan Code
Dell Internet 01 E0
Dell Fn No Code
Dell Decrease Brightness 40 05 E0
Dell Increase Brightness 40 06 E0
Dell CRT/LCD No Code
Logitech iTouch 13 E0
Logitech Shopping 04 E0
Logitech Webcam 12 E0
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Non-English (US) Keys Scan Code
¥ - 7D 00
45 E0
International Keyboard
Next to Enter 2B E0
Next to L-Shift 56 E0
Brazilian Keyboard
Next to R-Shift 73 E0
Far East Keyboard
DBE_KATAKANA 70 E0
DBE_SBCSCHAR 77 E0
CONVERT 79 E0
NONCONVERT 7B E0
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Microsoft Natural Multimedia Keyboard Scan Code
My Documents   
My Pictures  64 E0
My Music  3C E0
Mute  20 E0
Play/Pause  22 E0
Stop  24 E0
+ (Volume up)  30 E0
- (Volume down)  2E E0
|<< (Previous)  10 E0
>>| (Next)  19 E0
Media  6D E0
Mail  6C E0
Web/Home  32 E0
Messenger  05 E0
Calculator  21 E0
Log Off  16 E0
Sleep  5F E0
Help (on F1 key)  3B E0
Undo (on F2 key)  08 E0
Redo (on F3 key)  07 E0
New (on F4 key)   
Open (on F5 key)   
Close (on F6 key)   
Replay (on F7 key)   
Fwd (on F8 key)  42 E0
Send (on F9 key)  43 E0
Spell (on F10 key)  23 E0
Save (on F11 key)  57 E0
Print (on F12 key)  58 E0
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ready Made meal

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 
"Scancode Map"=hex:
 00,00,00,00,00,00,00,00,02,00,00,00,2a,00,3a,00,00,00,00,00

Be sure to include a blank line at the end (an extra carriage return).  You can substitute an example from the table for the text after thehex: You can also use it as a boilerplate for creating your own remap sequence.

Save the file and right-click and choose Merge.  This will place it into your registry and will take affect on the next boot.  

New Post
 2/23/2009 6:12 PM
 
New Post
 2/23/2009 6:42 PM
 

Awesome! I liked the registry part because softwares are easy to use but they don't teach us anything about how it works.  

Previous Previous
 
Next Next
Microsoft Windows ForumsMicrosoft Windows ForumsOther Windows V...Other Windows V...Windows XPWindows XPHow to map - remap keyboard buttons?How to map - remap keyboard buttons?