@Test
	public void testSetKeyBindingOnSystemAction() throws Exception {
		//
		// Test that users can change the keybinding for a System action.  The new binding cannot
		// be in use by any other action.
		//
		DockingActionIf goToAction = getAction(tool, "Go To Address/Label"); // arbitrary plugin action
		KeyStroke goToKs = goToAction.getKeyBinding();
		assertNotNull(goToKs);

		DockingActionIf systemAction = getAction("Show Context Menu"); // arbitrary system action
		KeyStroke systemKs = systemAction.getKeyBinding();
		assertNotNull(systemKs);
		selectRowForAction(systemAction);

		typeKeyStroke(goToKs);
		assertNoKeyStrokeText();
		assertMessage("System action cannot be set to in-use key stroke");

		apply();
		assertEquals(systemKs, getKeyStroke(systemAction)); // unchanged

		// clear the in-use binding and then try again
		clearKeyBinding(goToKs);

		setUpDialog();
		selectRowForAction(systemAction);

		typeKeyStroke(goToKs);
		assertKeyFieldText("G");

		apply();
		assertEquals(goToKs, getKeyStroke(systemAction));
	}
Tests for key bindings option panel
Ghidra/Features/Base/src/test.slow/java/ghidra/framework/plugintool/dialog/KeyBindingsTest.java