OS X Keyboard Shortcut Issues With Chrome and IntelliJ

Ctrl-shift-space is a tremendously useful keyboard shortcut in IntelliJ IDEA, and I use it all the time. It provides “SmartType” completion. Sounds great, if a little vague… here’s an example.

List<String> strList = new

If you were to invoke SmartType completion, you would have ArrayList<String> suggested, which is probably exactly what you wanted: an implementation of the interface type. Great! Except that frustratingly often, the default shortcut (ctrl-shift-space) simply does not work on the Mac. There are several complaints about this issue with Apple, with Google, with Google again and with Jetbrains. It appears that there is some bad interaction between Chrome, the Chinese trackpad input method (presumably for drawing characters), and the default keyboard shortcut for that method, which is ctrl-shift-space.

Not running Chrome isn’t an option for me since I am frequently doing web-facing development work, but fortunately there’s a relatively easy workaround. Apparently, OS X still captures ctrl-shift-space even when the Chinese trackpad input method is disabled. As if that wasn’t weird enough, there’s no way to disable the keyboard shortcut either, but you can change it to something that you’ll never use for anything else.

  • Open System Preferences.
  • Open Language & Text. Note the disabled “Keyboard Shortcuts…” button.
  • Enable Chinese – Traditional. This will enable the button. If this isn’t enabled, the shortcut will not show up in the Keyboard pref pane, so you can’t edit it, even though it’s still active to a certain extent.
  • Click the button. It will take you to the Keyboard Shortcuts area of the Keyboard pref pane.
  • Change the “Show Hide Trackpad Hand…” shortcut to something improbable. I chose command-option-control-shift-backslash. For some reason, there’s no checkbox to disable that shortcut, even though all the other shortcuts have one. Also, if you have the default key bindings for Spotlight, you’ll see yellow shortcut conflict warnings. Don’t worry; those will go away once you disable Chinese – Traditional again.
  • You can now go back to Language & Text and disable Chinese – Traditional.

Ctrl-shift-space should then work fine in IntelliJ.

Posted by Marshall Pierce

Marshall specializes in highly tuned and immensely scalable web and mobile applications. Experienced in front-end web and iOS development, he constantly pushes the boundaries of the latest browsers and mobile platforms. He splits his time with back-end development, where he is considered a domain expert in Java concurrency, distributed systems, systems design, and network security. Prior to co-founding Palomino Labs, Marshall was director of software development at Ness Computing where he led their initial launch. Before Ness, Marshall was a senior software developer at Genius.com, where he built the best-in-class integration with Salesforce.com.

About Palomino Labs

Palomino Labs unlocks the potential of software to change people and industries. Our team of experienced software developers, designers, and product strategists can help turn any idea into reality.

See the Palomino Labs website for more information, or send us an email and let's start talking about how we can work together.