Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

On the macintosh system, if you use Caps Lock it only changes the characters to capital characters but does not change numbers to symbols.

I think this actually makes more sense, because if you are instant messaging and you want to act like you are shouting you may use caps lock and not have to worry about turning it off when you make a period. (because the period will turn into a > sign otherwise)

However, for me I'd rather the caps lock act more like a shift lock because I actually don't use shift at all, but I only use caps lock (So if I was typing "I live in New York." I would do 'caps lock' 'i' 'caps lock' 'live in' 'caps lock' 'n' 'caps lock' 'ew' 'caps lock' 'y' 'caps lock' 'ork.). The reason for this is because I do speed typing, and when you are typing very very fast it is hard to time the shift key correctly to only capitalize the characters you want to capitalize.

Anyone have a solution to change caps lock to shift lock on mac?

share|improve this question

KeyRemap4MacBook has a built-in setting for changing the keys on the number row.

You can add keys after copying the definition to private.xml.

  <name>CapsLock+1234567890 to !@#$%^&amp;*() / CapsLock+Shift+1234567890 to 1234567890</name>
  <autogen>--KeyToKey-- KeyCode::KEY_1, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_1, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_2, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_2, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_3, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_3, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_4, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_4, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_5, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_5, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_6, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_6, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_7, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_7, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_8, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_8, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_9, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_0, ModifierFlag::CAPSLOCK | ModifierFlag::NONE, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_1, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_1</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_2, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_2</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_3, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_3</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_4, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_4</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_5, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_5</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_6, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_6</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_7, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_7</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_8, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_8</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_9, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_9</autogen>
  <autogen>--KeyToKey-- KeyCode::KEY_0, ModifierFlag::CAPSLOCK | VK_SHIFT | ModifierFlag::NONE, KeyCode::KEY_0</autogen>

Another option would be to use Ukelele to create a keyboard layout with key maps like <modifier keys="anyShift caps"/>.

share|improve this answer

Your Answer


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.