Monday, March 31, 2008

Switch input language by Caps Lock

Since birth, I've used Grave Accent(`) for switching input language.
Just recent years I changed to alt+shift key instead in order to type (`) key
in unix command. I found it's not quite convenient but have to used it.
Then I found that , in ubuntu, I can set to using the caps lock key as a hotkey to switch input language. The caps lock key was useless for me long time ago. So I changed it and found that it' so easy to use and happy about moving finger.
So I'm going to set caps lock as a hotkey in Windows too. But the Windows don't allow me to do that. I spent a few hours (yes, a few hours) to find the way but rarely found. I found the closest way is to change the caps lock to grave accent key.
(Only advanced user or sure to do)
Below is how to do that.
1. Open regedit (via Run-> type regedit -> Ok).
CurrentControlSetControlKeyboard Layout) key.
3. Add new key name "Scancode Map" as binary value type.
4. Double click this key and Fill the value.
"00 00 00 00 00 00 00 00 02 00 00 00 29 00 3a 00 00 00 00 00"

(In this picture my value is
"00 00 00 00 00 00 00 00 03 00 00 00 29 00 3a 00 3a 00 46 00 00 00 00 00"
because I add another keypair to remapping the Scroll lock key to work as a caps lock key.)
5. Change key setting in Control Panel->Regional and Language Options as below

6. Restart the computer!!
7. It works!

Thanks to Remap the Keyboard in Windows XP. :)