If I just pressed SHIFT_L (i.e. left shift button), I want it to type ( & if I am using SHIFT_L for a combination to work it like normal SHIFT_L.


(typed key) ==> (expectation)
SHIFT_L     ==> (
SHIFT_L + e ==> E

How can I achieve this?

  • You want the left Shift key to type a character all by itself? The key mapping tools are Ukelele and Karabiner, but I don't know if they can do that. – Tom Gewecke Oct 3 '15 at 14:43

To change the behavior of SHIFT_L (and SHIFT_R) download, install and start Karabiner.

Open the menulet Karabiner -> Preferences... in the menubar, search for shift and enable the custom key binding like in the example below (FYI KeyRemap4MacBook shown in the screenshot is the predecessor of Karabiner):

enter image description here

This enables writing ( by simply pressing SHIFT_L and ) by simply pressing SHIFT_R using an us-american keyboard layout with the keys 9|( and 0|). In combination with letters the common function is kept.

If you have a different keyboard layout (e.g. german with 8|( and 9|) you have to create a custom key binding. Open the tab Misc & Uninstall. Then open Open private.xml and add:

<?xml version="1.0"?>
    <name>Change Shift Keys</name>
      <name>Shift to Shift</name>
      <appendix>(+ When you type (left or right) Shift only, send the appropriate parenthesis on german keyboard)</appendix>
      <autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::KEY_8, ModifierFlag::SHIFT_L</autogen>
      <autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_R, ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>

Save the file, switch back to Change Key, press ReloadXML ad enable the new key binding. Usually it's the first one listed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .