16

I'm used to navigating through my code using Ctrl+Click. In OS X this function still works in my IDE, but it opens a context menu as well, which is very annoying!

I've done lots of Googling and didn't manage to find any answers that would let me disable Ctrl+Click system-wide in OS X 10.6.7. All the answers that I was able to find refer to Fusion and VMware.

I have a proper mouse with two buttons, I never used Ctrl+Click and cannot see the use case for it. Could someone please tell me how to disable it?

4
  • 2
    I don't think you can disable Control-Clicks. Can you maybe configure your editor/code browser to use Command-Clicks?
    – nohillside
    Jun 10, 2012 at 13:49
  • 3
    Yes, I could, but I don't want to. I think there should be a way to do it (sudo edit some prefs or something).
    – Artur
    Jun 10, 2012 at 13:55
  • You can remap the Ctrl key but this is system-wide then.
    – nohillside
    Jun 10, 2012 at 14:05
  • 2
    Again a possibility, but I'd rather have the Ctrl key behave as a Ctrl key. I cannot believe disabling this "feature" is so difficult!
    – Artur
    Jun 10, 2012 at 14:11

3 Answers 3

5

You can map control+click to command+click globally with KeyRemap4Macbook. Put the following in your private.xml:

<root>
    <item>
        <name>Control+LeftClick Command+LeftClick</name>
        <appendix>Control+LeftClick Command+LeftClick</appendix>
        <identifier>control_click_to_command_click</identifier>
        <autogen>--PointingButtonToPointingButton-- PointingButton::LEFT, ModifierFlag::CONTROL_L, PointingButton::LEFT, ModifierFlag::COMMAND_L</autogen>
    </item>
</root>

This will cause any ctrl-click you type to be seen by the system as -click. That will prevent the contextual menu (since you won't actually be producing a ctrl). You'll still need to change your IDE settings, but this way you can keep the muscle-memory for the shortcut.

2
  • This one worked great. I think the app is called Karabiner now. There's a button to open private.xml in its Misc & Uninstall tab. After editing the file reload it (Reload XML button on Change Key tab) and enable remapping (same tab) May 12, 2015 at 19:17
  • Thank you @OlegMikheev, but this disables the short cut when another app wants to use it Mar 2, 2016 at 11:47
4

It's not possible to disable Ctrl+Click at a system-wide level. You have two options: use Command+Click which is the de facto standard in all the Mac IDEs (which would be my suggestion, since going against such a well-established OS convention brings more headaches than it's worth), or configure your IDE to disable the shortcut: as you have noticed, remote desktop and virtualization environments offer the possibility.

3
  • I agree that using cmd+Click is the best potential solution. I just wanted to know if it's possible to disable it altogether and it seems a shame it isn't. The reason why I wanted to use Ctrl+Click instead is because most of the time I work on Windows and only every so often work on a Mac. With Windows keyboard plugged in I want the transition between OSs to be as seamless as possible.
    – Artur
    Jun 10, 2012 at 14:17
  • @Artur what do you do about copy/paste as you have the same cmd control key issue?
    – mmmmmm
    Jun 10, 2012 at 15:04
  • @Mark I'm using IntelliJ IDEA and it remaps these keys for you as well.
    – Artur
    Jun 10, 2012 at 15:30
0

Following @statop's idea I used Karabiner-Elements and remapped Ctrl+Left Click to +Left Click.

To do that copy the mapping JSON snippet shown below to ~/.config/karabiner/assets/complex_modifications/foo.json:

{
  "title": "Ctrl+LClick to Cmd+LClick",
  "rules": [
    {   
      "description": "Ctrl+LClick to Cmd+LClick",
      "manipulators": [
        {   
          "type": "basic",
          "from": {
            "pointing_button": "button1",
            "modifiers": {
              "mandatory": [
                "left_control"
              ],  
              "optional": [
                "caps_lock"
              ]   
            }   
          },  
          "to": [
            {   
              "pointing_button": "button1",
              "modifiers": [
                "left_command"
              ]   
            }   
          ]   
        }   
      ]   
    }   
  ]
}

then in Karabiner go to:

Preferences... > Complex modifications > Add Rule

and you should see Ctrl+LClick to Cmd+LClick in the list. Enable the rule. Now configure your IDE to use +Left Click where you would normally use Ctrl+Left Click.

Using this opportunity I also swapped round Fn with ^, as on my Mac Fn is where ^ should be. To do that in Karabiner go to:

Preferences... > Simple modifications > Add item

and create two mappings:

  • from fn to left_control, and
  • from left_control to fn.

Carry on remapping and soon enough your Mac will become a usable machine!

You must log in to answer this question.

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