Keyboard Shortcut to Right Click in Mac OS X

Right Click via Keyboard

  • Activate “Mouse Keys” (in System Preferences, search for “mouse keys”, turn it on).
  • Position the mouse cursor.
  • Hold Control.
  • Press and release the keypad's 5 key.
  • Release Control.

Spell Check via Keyboard

There are standard shortcuts for the built-in spell checking. Not all applications may have these menu items.

  • ⌘; — Edit > Spelling > Check Spelling
    • This selects the next ‘misspelled’ word.
  • ⌘: — Edit > Spelling > Spelling…
    • This selects the next ‘misspelled’ word and opens the Spelling floating window.
    • To focus the floating window without using the mouse, you can use the “full keyboard access” shortcuts (enable them in System Preferences, search for “full keyboard access”, it (and the extra shortcuts it enables) are under the “Keyboard Navigation” subtree.
      • You may need to reassign the shortcuts.
      • The default for “move focus to the floating window” is ⌃F6, but that seems to be used by the editor here on SO, so I needed to change it to test it while composing this answer (I used ⌥F6).
      • Once focus is on the Spelling floating window, you can
        • dismiss it with Escape, or
        • use Tab to move to the various controls, and
        • with the replacement textbox focused, you can
          • use Up and Down to select replacements, and
          • type a replacement, and
          • use Return to activate the default button: Correct

TL;DR: Ctrl+enter using Shortcat.

I have solved this problem using the free app (edit: it's free now, but looks like it will have to be purchased after the beta) Shortcat. It allows you to use the keyboard to move the mouse cursor to clickable parts of the screen. You type the clickable text of what you want to select, tab if necessary to the correct element, then hit enter to click. The same keyboard shortcuts that work when clicking work with enter, so to right click, just hit Ctrl+enter. By default, you activate shortcat by using cmd+shift+space. So to right click a text area in a browser (okay, in Chrome) and run spell check might look like this:

  • cmd+shift+space activates shortcat
  • Typing . highlights everything -- my text area of interest happens to be labeled 'AP'.
  • Type Ctrl+AP to select the text area. Alternatively, type .text then enter. (see tips below.)
  • shift+enter to right click Now we're done with shortcat, but to finish it off:
  • Type spell to select Spelling and Grammar from the context menu, then Space to drill in, and finally Space again to select.

It sounds complex, but it all takes a fraction of a second with a little practice.


A couple other tips for using shortcat:

  • To enable shortcat to work within pages in Chrome, go to chrome://accessibility and turn on Global accessibility mode at the top of the page (as of Chrome 33). I added this page to my bookmarks bar, so I can activate it without having to use the mouse.

  • Type . in the box to highlight all clickable areas, or narrow to .menu, .input, .button, '.text', or .link. There may be others, but those are the ones I have discovered.

  • To quickly maximize a Chrome window, I can type cmd+shift+p . tab shift+enter. Not elegant, but faster than reaching over to the mouse.

  • Every selectable element gets labeled with a letter or letters. You can go directly to an element at any time by holding down Ctrl and typing the letter combo it is labeled with.

  • Even graphical icons usually have some accessibility text by which they can be selected. For example, if I type apple Shortcat will select the apple menu, and if I type adium Shortcut will select the Adium icon in the menu tray.

There is a little bit of a learning curve, and sometimes there are controls that Shortcat can't find, so sometimes I still have to use my trackpad, but I've found it to be pretty useful and boost my productivity overall. It's infinitely faster than trying to move the mouse around with mouse keys.


TL;DR: Karabiner-Elements can do this.

I already use this to make a few other modifications, and found it can also handle this use case.

enter image description here