Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How can I remap the caps lock key in Windows or OS X? Is there for example some way to map caps lock to a key combination like alt-tab on Windows or command-tab on OS X?

CAPS LOCK

share|improve this question
18  
YES, PLEASE TELL ME - HOW CAN I DISABLE THIS DARNED THING!? ;-) –  Chris W. Rea Jul 16 '09 at 2:32
1  
CapsLock might be the most useless key nowadays. '[Lenovo Vice-President David] Hill called “Caps Lock” a frustrating hangover from typewriter days, a key that can introduce garble, emulate shouting or foil password entries without the user noticing.', insidetech.com/news/articles/… –  VolkerK Jul 20 '09 at 9:42
    
Unbelievable that four years have gone by, and Windows STILL does not have a built-in way to permanently disable Caps Lock and Num Lock. –  William Jockusch Dec 16 '13 at 1:00
add comment

10 Answers

up vote 15 down vote accepted

You need Autohotkey and this script:

;Deactive CapsLock key 
$CapsLock:: 
return

Autohotkey is THE most powerful way to do this sort of thing on a WIndows PC. Also see this page for more details on re-mapping CAPS,

share|improve this answer
    
Very nice, thank you! As soon as I have time I'll look into it. –  splattne Jul 15 '09 at 14:40
3  
Was coming to suggest the same thing. I've remapped CapsLock to Escape to aid in Vim editing :D –  Andy Jul 18 '09 at 11:37
    
I've remapped Caps to LCtrl. It was a lot more natural for my hand go to the left that turn -60degres and extend the little finger to grab the LCtrl key. After months of this change the pain that i was felling to doing that repetitive movement was gone completely –  mjsr Aug 14 '11 at 16:57
    
This does not work with my japoanese keyboard. Instead, the CapsLock key gets replaced by the 半角/全角 key. –  wil Jun 28 '13 at 2:38
    
@wil: on Japanese keyboard, pressing shift+Capslock will do normal Capslock function –  Lưu Vĩnh Phúc Oct 7 '13 at 5:23
add comment

I've used SharpKeys (for windows) to remap CapsLock to ESC.

Works great for vim. VI-style editing really shines if you can keep your fingers near the home row at all times.

share|improve this answer
    
This is the best tool I have come across in over 6 years of disabling the caps-lock key, mapping my IBM Model M's right ALT key to the Windows key, etc. It simply records to the registry the necessary changes, but has a nice interface to facilitate that effort. And it isn't installed as an app, it is a simple utility. –  Jason Bunting Jun 19 '10 at 4:26
    
Too bad Windows-7 is not supported. –  WilliamKF Apr 15 '11 at 4:21
    
@WilliamKF: I am using SharpKeys on Windows 7. It works fine. –  wcoenen Apr 15 '11 at 8:14
    
@WilliamKF: I'm also using SharpKeys on Win7. Chek that you execute it with administrative permissions. –  mjsr Aug 14 '11 at 17:00
add comment

on Mac: You can reassign the caps lock key under "System Prefs" -> "Keyboard & Mouse" -> "Special Keys".

i assigned it to CTRL

share|improve this answer
1  
On Snow Leopard, it's "System Prefs" -> "Keyboard" -> "Modifier Keys". –  Marcel Levy Nov 1 '09 at 21:22
3  
This is so damn simple, why do we need an app for this on Windows? –  rightfold Jul 6 '11 at 14:01
    
@WTP Better yet, for proper remapping (rather than AutoHotkey-esque macros) you need admin rights as well as of Windows 7. Begging IT in a corporate environment for that doesn't seem to be going over well for me. –  brymck Jul 12 '12 at 5:09
add comment

You can use SharpKeys to disable the functionality of any key. For a detailed guide, you can check out Map Any Key to Any Key on Windows XP / Vista.

Aditionally, Lifehacker has a really good guide called NumLocker Disables the Caps Lock Key on how to remap or disable it entirely.

share|improve this answer
    
Thanks for the SharpKeys link! Sadly, there seems no way to map a key to a combination of keys in the program (I read the FAQ). –  splattne Jul 15 '09 at 13:07
    
@splattne for map a combination use Autohotkey. It is extremely simple to do it, for example: CapsLock:: SendInput !{Tab}, it will send Alt Tab when you press the Caps –  mjsr Aug 14 '11 at 17:02
    
Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. –  Oliver Salzburg Dec 18 '12 at 17:14
add comment

Here's how to swap the Caps Lock key with left Ctrl:

Windows

  1. Click Start > Run
  2. Type "regedit"
  3. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
  4. While Keyboard Layout has focus, go to Edit > New > Binary Value
  5. Enter "Scancode Map" as the name
  6. Enter the following as the Data:

    0000: 00 00 00 00 00 00 00 00
    0008: 03 00 00 00 3A 00 1D 00
    0010: 1D 00 3A 00 00 00 00 00
    
  7. Exit the Registry Editor

  8. Log out and log back into Windows

Linux

  1. Create a file in your home directory called .xmodmap if it doesn't already exist
  2. Paste the following lines into the file:

    remove Lock = Caps_Lock
    remove Control = Control_L
    keysym Control_L = Caps_Lock
    keysym Caps_Lock = Control_L
    add Lock = Caps_Lock
    add Control = Control_L
    
  3. Add the following line into ~/.bash_profile

    xmodmap ~/.xmodmap
    

Source

share|improve this answer
    
It should be noted that most graphical environments on Linux offer a way to set the caps lock key behavior in whatever keyboard configuration tool it offers. It can also be modified in the standard keymap for the console. –  greyfade Dec 27 '11 at 23:45
    
Excellent. This was what I was looking for and I didn't find the solution with MSKLC. Thanks a bunch (and +1 of course). –  0xC0000022L Dec 24 '12 at 13:10
add comment

I use Billy Mays Caps Lock. Now whenever I accidentally hit the Caps Lock key instead of getting frustrated I hear a quick Billy Mays pitch, which always puts a smile on my face.

share|improve this answer
add comment

SysInternals' Ctrl2Cap will work on older Win machines, too.

share|improve this answer
add comment

On MAC I can recommend to use KeyRemap4MacBook. Or PcKeyboardHack which has a slightly different focus. (I use both in combo without any problems).

The problem is, there is no out of the box solution built in MAC so you could assign CAPS LOCK to ESC (what is essential for Vi/Vim). The second problem with other tools is that they don't disable the green LED on the Caps-Lock-Key.

PcKeyboardHack is related to the ESC-mapping, but every mapping is possible. KeyRemap4MacBook directly allows to map to a different function-key. For sure every mapping you like is possible So for e.g. on MAC I have mapped the right cmd ⌘-Key to ctrl (what comes in handy when you are accustomed to eclipse-like autocompletion on windows)

share|improve this answer
1  
I just started using KeyRemap4MacBook this morning, and I love it. I have caps lock set to both esc and ctrl. It's esc when it's the only key being pressed, and it switches to ctrl if I press any other keys. –  Dean Oct 18 '13 at 5:51
    
@Dean glad to hear about it! –  Marschal Oct 18 '13 at 7:37
add comment

Swapping it with a different modifier key (I like Ctrl) is supported by Mac OS:

keyboard control panel -> modifier keys
share|improve this answer
add comment

As Marchal said, on OS X you can use PCKeyboardHack to change caps lock to another key like F19:

You can map the key like F19 to a more complex key combination by adding a setting like this to private.xml in KeyRemap4MacBook:

<autogen>__KeyToKey__ KeyCode::F19, KeyCode::CONTROL_L, ModifierFlag::CONTROL_L |
ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::COMMAND_L</autogen>

If the caps lock light on your keyboard does not get disabled, try enabling the "Pass-Through caps lock LED status" setting in KeyRemap4MacBook.

This maps F19 to control when held and to escape when pressed:

<autogen>__KeyOverlaidModifier__ KeyCode::F19, KeyCode::CONTROL_L, KeyCode::ESCAPE</autogen>

You can also map F19 to an extra modifier key that can be used to for example activate applications:

<vkopenurldef>
  <name>KeyCode::VK_OPEN_URL_SAFARI</name>
  <url>file:///Applications/Safari.app</url>
</vkopenurldef>
<item>
  <name>test</name>
  <identifier>test</identifier>
  <autogen>__KeyToKey__ KeyCode::F19, KeyCode::VK_MODIFIER_EXTRA1</autogen>
  <autogen>__KeyToKey__ KeyCode::S, ModifierFlag::EXTRA1,
  KeyCode::VK_OPEN_URL_SAFARI</autogen>
</item>

See http://lri.me/keyremap4macbook.html for more information about using KeyRemap4MacBook.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.