private void addKeyBinding(ComponentProvider provider, DockingActionIf action,
			KeyStroke keyStroke) {

		String errorMessage = validateActionKeyBinding(action, keyStroke);
		if (errorMessage != null) {
			// Getting here should not be possible from the UI, but may happen if a developer sets
			// an incorrect keybinding
			Msg.error(this, errorMessage);
			return;
		}

		// map standard keystroke to action
		doAddKeyBinding(provider, action, keyStroke);

		// map workaround keystroke to action
		fixupAltGraphKeyStrokeMapping(provider, action, keyStroke);
	}
A class that organizes system key bindings by mapping them to assigned {@link DockingActionIf}s.

<p>This class understands reserved system key bindings.  For non-reserved key bindings, this
class knows how to map a single key binding to multiple actions.
Ghidra/Framework/Docking/src/main/java/docking/action/KeyBindingsManager.java