Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Apple's MacBook Pro has a slight delay on the caps lock key. That is, the caps lock key has to be held down slightly longer than normal to register the key press required to engage the caps lock.

This is super annoying. Does anyone know how to stop it from happening?

(Above copied over from stackoverflow as it was closed there as "off topic".)

To elaborate further: Apple deems this a feature, and their knowledge base article does not disclose how to disable this delay.

However, I have reason to believe it is possible to do so.

Notably, I have found that, at least in my experience, if you remap the caps-lock key on Mac OS X (in System Preferences .. Keyboard .. Modifier Keys), and e.g. map it to Control, then the delay goes away while I am logged into Mac OS X.

My problem is that the delay remains when I boot into Ubuntu Linux, and in that context, even when I remap the Caps Lock key to Control, the delay is still present.

So, the question is: How is Apple disabling the delay, and more importantly, how can one replicate that act in the context of a Linux installation atop the laptop?

Update: There is a thread on superuser that may provide workarounds. I have not yet tried the suggestions there (namely: (1) toggling CapsLock-NoAction off/on, and (2) a firmware upgrade). I cannot tell from the context of that thread whether the workarounds have been tested on an Ubuntu installation.

share|improve this question
    
I have never noticed this before now, but I have had a play with mine and I can see what you mean. If you tap the caps lock key too quickly it does nothing. I never found it a problem before but just tried the disable/re-enable the caps lock key trick and it has made it instant! now no matter quickly I hit the key it always toggles caps lock. Very strange! –  tom1990 Mar 8 '13 at 23:21
    
Always thought I was just going crazy :p I can see its benefit, but in some situations it really annoys me. Would be good to know if its possible! –  OrangeBox Apr 1 '13 at 22:47
    
Indeed, the disable/re-enable caps lock trick (on the Mac OS X side), does seem to make the problem go away once one subsequently reboots to Linux. But it is not clear to me if the effect is permanent -- I left my machine powered-off for some time (weeks or perhaps even more than a month), and when I booted it straight to Linux this morning, it seemed like the delay had returned. Still quite mysterious to me. –  pnkfelix Apr 28 '13 at 16:47

2 Answers 2

First of all let me tell you that there is definitely a way of removing the caps lock delay. I myself prefer to use caps lock over shift just from a comfort perspective, with caps lock being closer to my pinky finger than shift the majority of the time.

The solution is quite elusive, and you wouldn't really know you removed it unless you were specifically trying to get rid of it in the first place. The way I am going to show you is purely for the (current)latest version of OSX, Yosemite. However you can absolutely apply this method to previous and future versions.

The solution is simple. If you navigate to Keyboard in the System preferences via the apple logo in the top left hand corner you will reach this screen enter image description here

If you click the modifier keys button, you are able to change the function of each of the keys which are programmable. All you have to do is set the caps lock key to no action and press ok to bring you back to the keyboard menu. Once done, go back into the modifier keys and change the caps lock key back to caps lock and this will remove the delay! Do note that this fix remains in place until you sleep, restart or power down the device. At which point the delay is reinstated.

It's a strange fix, and it begs the question why do they not provide an option to remove the delay when this fix is purely software based. But hey, at least there is a way!

Happy capsing.

share|improve this answer
    
How does this solve my problem in Linux? –  pnkfelix May 20 at 11:39
    
To be clearer: the original question said: "... the delay goes away while I am logged into Mac OS X. My problem is that the delay remains when I boot into Ubuntu Linux, and in that context, even when I remap the Caps Lock key to Control, the delay is still present." –  pnkfelix May 20 at 11:39
    
Ah! I see, I guess I should read OP questions more carefully. I found on OSX that unbinding the caps key completely and rebinding solved the issue. Maybe the delay remains because you're binding to control instead? Worth trying everything if you don't yet have a work around :) –  Bradley May 20 at 21:33

I do know for certain that the caps lock delay is a feature of the firmware on the keyboard itself - so you can be confident that the delay timing happens no matter what OS the keyboard is driving at the moment.

I also know that Apple does not offer a path to flash the firmware to a lower level so we all will have to wait until someone with enough hardware experience blogs the tools and steps they performed to trick the hardware into loading the older firmware (or provide what looks like a newer firmware that regresses the delay to how it worked before without any delay.)

I apologize for the non-answer, but the path to accomplish this is well lit and it may help others take action (selecting an older keyboard - or refraining from upgrading the firmware) in the mean time while we wait for a real solution to implement a short or no timer on the caps lock key.

share|improve this answer
2  
One detail I am confused about in your answer: Are you saying it is false that when one remaps the caps-lock key in Mac OS X, the delay goes away? (I do not know how else to interpret your statement "the delay timing happens no matter what OS the keyboard is driving at the moment"; but that contradicts my direct experience -- unless Apple is using some undocumented API to the firmware to adjust the timing?) –  pnkfelix Apr 15 '13 at 3:30
    
I have mine remapped to ESC and the slightly longer hold is still necessary. I did this using a third-party app called Seil, though, and not via any functionality built in to OSX. Annoying, to be sure — don't their developers use Vim? Geez. –  intuited Dec 19 '14 at 22:59

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.