You can make a difference in the Apple Support Community!

When you sign up with your Apple Account, you can provide valuable feedback to other community members by upvoting helpful replies and User Tips.

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Disable auto-complete escape key?

When I hit the escape key in text edit apps or just when entering text in certain fields, a list of suggested words comes up. This is hugely annoying, so I would like to deactivate/disable/turn off this function, but so far I can barely find that this function even exists on the internet.


It's not the auto-complete in the text tab in keyboard options; I unchecked that box already (although the language of the suggestions does seem to be dependent on what I choose in that tab).


How do I disable this feature?




PS. I'm on Yosemite, but this has been around for a while, I think, so I was a bit unsure about which board to post the question on. DS.

MacBook

Posted on Oct 29, 2015 2:06 AM

Reply
Question marked as Top-ranking reply

Posted on Oct 29, 2015 4:42 PM

Hi Feilin. You can use Karabiner to disable the Esc key globally, for an individual app, or for multiple apps and enable/disable from the menu bar or using keyboard shortcuts. Note that the Esc key is disabled, not just the text completion feature. Install the app at your discretion; backup your drive before installing.


You may want to set up multiple profiles to easily switch between them to enable/disable the Esc key.

User uploaded file

In the example above there are profiles for Default, with no modifications, Disable Esc, which acts globally, and Disable Esc TextEdit Only, for TextEdit only. You can disable the Esc key globally from the Change Key pane in Karabiner's Preferences, accessed from the menu bar.

User uploaded file

To disable the Esc key in TextEdit only, copy and paste the following XML code using TextEdit into private.xml located at ~/Library/Application Support/Karabiner/private.xml and save:


<?xml version="1.0"?>

<root>

<item>

<name>Disable Esc TextEdit Only</name>

<identifier>private.disable_esc_textedit_only</identifier>

<only>EDITOR</only>

<autogen>

__KeyToKey__ KeyCode::ESCAPE, KeyCode::VK_NONE

</autogen>

</item>

</root>

User uploaded file

Reload the XML from the Change Key pane of Karabiner's Preferences. The private.xml item will show up in the Change Key pane.


User uploaded file


To enable/disable using the profiles, access from the menu bar.


User uploaded file


You can also enable keyboard shortcuts from the Change Key pane by typing "switch profile" in the search box and selecting.


User uploaded file


If you wish to filter to specify more than one app to disable the Esc key, you can use comma separation in private.xml:


<only>EDITOR, SAFARI</only>


Karabiner has an XML of predefined app definitions, although you can add app definitions to private.xml for apps not predefined. There are also further refinements for filtering such as by ui element role, window name, etc. See Karabiner's Manualand private.xml Reference Manualfor further information.

5 replies
Question marked as Top-ranking reply

Oct 29, 2015 4:42 PM in response to Feilin

Hi Feilin. You can use Karabiner to disable the Esc key globally, for an individual app, or for multiple apps and enable/disable from the menu bar or using keyboard shortcuts. Note that the Esc key is disabled, not just the text completion feature. Install the app at your discretion; backup your drive before installing.


You may want to set up multiple profiles to easily switch between them to enable/disable the Esc key.

User uploaded file

In the example above there are profiles for Default, with no modifications, Disable Esc, which acts globally, and Disable Esc TextEdit Only, for TextEdit only. You can disable the Esc key globally from the Change Key pane in Karabiner's Preferences, accessed from the menu bar.

User uploaded file

To disable the Esc key in TextEdit only, copy and paste the following XML code using TextEdit into private.xml located at ~/Library/Application Support/Karabiner/private.xml and save:


<?xml version="1.0"?>

<root>

<item>

<name>Disable Esc TextEdit Only</name>

<identifier>private.disable_esc_textedit_only</identifier>

<only>EDITOR</only>

<autogen>

__KeyToKey__ KeyCode::ESCAPE, KeyCode::VK_NONE

</autogen>

</item>

</root>

User uploaded file

Reload the XML from the Change Key pane of Karabiner's Preferences. The private.xml item will show up in the Change Key pane.


User uploaded file


To enable/disable using the profiles, access from the menu bar.


User uploaded file


You can also enable keyboard shortcuts from the Change Key pane by typing "switch profile" in the search box and selecting.


User uploaded file


If you wish to filter to specify more than one app to disable the Esc key, you can use comma separation in private.xml:


<only>EDITOR, SAFARI</only>


Karabiner has an XML of predefined app definitions, although you can add app definitions to private.xml for apps not predefined. There are also further refinements for filtering such as by ui element role, window name, etc. See Karabiner's Manualand private.xml Reference Manualfor further information.

Oct 31, 2015 9:15 AM in response to Feilin

Hello


I have searched for plausible hidden defaults key regarding completion behaviour by the following script:


#!/bin/bash q='completion' { ff=( /System/Library/Frameworks/*.framework/Versions/Current/* /System/Library/Frameworks/*/Frameworks/*/Versions/Current/* /System/Library/PrivateFrameworks/*.framework/Versions/Current/* /System/Library/PrivateFrameworks/*/Frameworks/*/Versions/Current/* ) for f in "${ff[@]}" do r=$( strings "$f" 2>/dev/null | grep -Ei "$q" | grep -E '^[a-zA-Z0-9_.:<>/-]{5,100}$' | sort | uniq ) [[ -z $r ]] && continue echo "$f" echo "$r" echo done } > ~/Desktop/strings_completion.txt




and found this:



NSUseSpellCheckerForCompletions




When I run the following command, list of suggested words is reduced to none which effectively disables the completion feature in TextEdit.



#!/bin/bash defaults write -g NSUseSpellCheckerForCompletions -bool false




This observation is with TextEdit v1.6 under OS X 10.6.8. As far as I have tested, Pages 09 v4.0.5 does NOT hounor this key, though.


I have also disbale continuous spell checking by the following command, if this might be relevant.



#!/bin/bash defaults write -g NSAllowContinuousSpellChecking -bool false




Hope this may be of some help,

H

Jan 19, 2016 11:47 PM in response to Feilin

Not really constructive, but whoever though that it was a good idea to add "input functionality" to the Escape key should be taken out behind the shed and shot.


You don't want to know how many times I've mistakenly clicked on something that switches to input mode when selected and have that Escape key actually replace the text in there when I wanted to get out of edit mode again. What an annoyance!

Oct 29, 2015 3:21 AM in response to Feilin

The word completion popup triggered by the Esc key is a basic feature of any application that uses the basic (not overridden) NSTextView library class, and was in NeXTSTEP, and every release of OS X. Did you notice that Complete menu item in TextEdit's Edit menu. That also initiates word completion. Apple Mail uses option+Esc to trigger this word completion feature while composing a new email.


Since this is a built-in feature in a OS X framework Class, I very much doubt that you are going to find a way to disable it. Just be careful to not tap the Esc key while in TextEdit, or when typing in application Text input fields (NSTextFields).

Disable auto-complete escape key?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.