Bug 42009 [KeyBindings] Ctrl+Shift+F switches input mode in KeySequenceText on GTK
Some key strokes shift the input mode by default in GTK, which breaks the way the KeySequenceText widget is supposed to work. One example is Ctrl+Shift+F. Instead of the desired character, a strange other character is inserted, and the key sequence is not modified. This character cannot be deleted. STEPS TO REPRODUCE: 1.) Open the KeysPreferencePage and change focus to the KeySequenceText widget. 2.) Type Ctrl+Shift+F ACTUAL RESULTS: An underlined 'F' is inserted in the text widget, and the key sequence is not affected. EXPECTED RESULTS: Ctrl+Shift+F should be inserted, and the key sequence updated.
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ActionContributionItem.java
b.addListener(SWT.Selection, getButtonListener());
			if (action.getHelpListener() != null)
				b.addHelpListener(action.getHelpListener());
			widget = b;
			update(null);
			action.addPropertyChangeListener(propertyListener);
		}
	}
	/**
	 * The <code>ActionContributionItem</code> implementation of this
	 * <code>IContributionItem</code> method creates an SWT <code>MenuItem</code>
	 * for the action using the action's style. If the action's checked property has
	 * been set, a button is created and primed to the value of the checked
	 * property. If the action's menu creator property has been set, a cascading
	 * submenu is created.
	 */
	public void fill(Menu parent, int index) {
		if (widget == null && parent != null) {
			Menu subMenu = null;
			int flags = SWT.PUSH;
			if (action != null) {
				int style = action.getStyle();
				if (style == IAction.AS_CHECK_BOX)
					flags = SWT.CHECK;
				else if (style == IAction.AS_RADIO_BUTTON)
					flags = SWT.RADIO;
				else if (style == IAction.AS_DROP_DOWN_MENU) {
					IMenuCreator mc = action.getMenuCreator();
					if (mc != null) {