@Override
		protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition,
				boolean pressed) {

			InputMap map = getInputMap(condition);
			ActionMap am = getActionMap();
			if (map != null && am != null && isEnabled()) {
				Object binding = map.get(ks);
				Action action = (binding == null) ? null : am.get(binding);
				if (action != null) {
					if (!action.isEnabled()) {
						// we want to consume the event here, so Ghidra doesn't get to
						// process it when the actions are disabled
						e.consume();
						return true;
					}

					return SwingUtilities.notifyAction(action, ks, e, this, e.getModifiersEx());
				}
			}
			return false;
		}
Overridden so that our text area will properly consume key events for registered
actions.  By default the JComponents will not process a keystroke with an
assigned keybinding *if the assigned action is not enabled*.  We want to always
process registered keystrokes so that they do not get handled elsewhere in
Ghidra accidentally. For example, Ctrl-S is bound to save for this text area.  If
there have been no changes in the data, then the save action is not enabled.  So,
when the user presses Ctrl-S in this window, then, by default, the text area will
not consume the event and the event will end up moving up to the tool level and
executing a save there, which is clearly not the intended effect.  In this example
we really just want this window to do nothing if the save is not enabled.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/script/GhidraScriptEditorComponentProvider.java