Can I type in inverse case, lIKE tHIS, with caps lock on? Every so often, I have to type some text consisting mostly of uppercase letters, but with an occasional lowercase letter—essentially, sentence case, but inverted. On Windows, I would simply have caps lock on the entire time, and pressing Shift would give me a lowercase letter. On OS X, however, if caps lock is on, I only get uppercase letters, whether Shift is pressed or not.

So, I can either hold down Shift the entire time I'm typing, letting go of it briefly to type a lowercase letter, or press Caps Lock twice for each lowercase letter I type. Neither works as well as what Windows does.

Is there a way to get Caps Lock to behave as it does on Windows, where pressing Shift while caps lock is on produces lowercase letters?

I am running 10.6.
See Update below...
It seems (only) the input source &quot;French - Numerical&quot; will behave like Window Caps Lock (with iNVERSE sHIFT):

Found that info here.
But note that this will come with a rather unusual keyboard layout (at least for me).


Update: Using Ukelele this can be applied to all keyboard layouts:
Thanks Daniel for pointing the right direction.
Open Ukelele and save your (current) layout to a file (e.g. by &quot;New from current input source&quot; and &quot;Save&quot;):

Open the .xml file in a text editor and find the mapIndex that you want to use for the combination ⇧ + ⇪ (shift + caps-lock). For German I used mapIndex=&quot;0&quot;. Insert this line:
&lt;modifier keys=&quot;shift caps&quot;/&gt;

Find all other occurrences of this combination and comment them out (or delete the lines). Again for German it's:
&lt;keyMapSelect mapIndex=&quot;1&quot;&gt;
&lt;modifier keys=&quot;anyShift&quot;/&gt;
&lt;modifier keys=&quot;shift rightShift? caps? rightOption? rightControl&quot;/&gt;
&lt;modifier keys=&quot;shift rightShift? caps? rightOption rightControl?&quot;/&gt;
&lt;!--&lt;modifier keys=&quot;shift rightShift? caps rightOption? rightControl?&quot;/&gt; --&gt;
    &lt;/keyMapSelect&gt;


Re-open the modified file with Ukelele.
Here is a comparison of the &quot;German&quot; layout before and after the modification:


Follow the instructions in Ukelele to create a new input source (Name, ID, installation).
I didn't test the modified file, should work though.