One of my programs require CTRL key to used very frequently. But it is not very comfortable in my case and I would like to change it to 0 button on the right side of my keyboard.

I've been downloaded and try to use BetterTouchTool and Karabiner but unfortunately you can bind a key only for already pre-defined keys for you, but cannot add your custom there, like in my case I want on 0 click -> CTRL be pressed as well.

Could you please help me to make it possible? I am on Yosemite.

Thanks for any help!


The program Ukelele can be used to create custom keyboard layouts, including remapping control keys. It's not he simplest program to use, but it does give you more flexibility that what you have tried.


It's no problem to add custom key-bindings to the predefined key-bindings in Karabiner/KeyRemap2MacBook.

The default method is to create a private.xml in ~/Application Support/KeyRemap4MacBook or ~/Application Support/Karabiner (depending which OS X is installed: KeyRemap4MacBook works in 10.4-10.8 and Karabiner works in 10.9-10.10).

The xml code you have to add to private.xml probably should look like this:

<?xml version="1.0"?>
        <name>Numpad-0 to Control_L</name>
        <autogen>__KeyToKey__ KeyCode::KEYPAD_0, KeyCode::CONTROL_L</autogen>

Reload the xml by hitting the ReloadXML button in Preferences -> Change Key after finishing the modification.

The non-standard way is to edit one of the numerous pre-defined key-bindings located at *.app/Contents/Resources/include/. You also find samples and the symbol_map.xml as well as appdef.xml (which defines apps if you want to restrict the key-binding to special apps or exclude apps) there or in *.app/Contents/Resources/.

You must log in to answer this question.

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