diff --git a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java index 3333fe01085e..f1646492efd8 100644 --- a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java +++ b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java @@ -1408,7 +1408,8 @@ public boolean verifyKey(VerifyEvent e) { break; default : - if (e.keyCode != SWT.CAPS_LOCK && e.keyCode != SWT.MOD1 && e.keyCode != SWT.MOD2 && e.keyCode != SWT.MOD3 && e.keyCode != SWT.MOD4) { + // On Linux ALT_GR is the level3 switch (at least on the US-INTL layout), when using 'include "level3(YOURKEY)"' in the xkb file + if (e.keyCode != SWT.CAPS_LOCK && e.keyCode != SWT.MOD1 && e.keyCode != SWT.MOD2 && e.keyCode != SWT.MOD3 && e.keyCode != SWT.MOD4 && e.keyCode != SWT.ALT_GR) { hide(); } return true; diff --git a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContextInformationPopup.java b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContextInformationPopup.java index 5a0e972b7b63..72a08b53deea 100644 --- a/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContextInformationPopup.java +++ b/bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContextInformationPopup.java @@ -801,7 +801,8 @@ private boolean contextSelectorKeyPressed(VerifyEvent e) { break; default : - if (e.keyCode != SWT.CAPS_LOCK && e.keyCode != SWT.MOD1 && e.keyCode != SWT.MOD2 && e.keyCode != SWT.MOD3 && e.keyCode != SWT.MOD4) { + // On Linux ALT_GR is the level3 switch (at least on the US-INTL layout), when using 'include "level3(YOURKEY)"' in the xkb file + if (e.keyCode != SWT.CAPS_LOCK && e.keyCode != SWT.MOD1 && e.keyCode != SWT.MOD2 && e.keyCode != SWT.MOD3 && e.keyCode != SWT.MOD4 && e.keyCode != SWT.ALT_GR) { hideContextSelector(); } return true; @@ -844,7 +845,8 @@ private boolean contextInfoPopupKeyPressed(KeyEvent e) { validateContextInformation(); break; default: - if (e.keyCode != SWT.CAPS_LOCK && e.keyCode != SWT.MOD1 && e.keyCode != SWT.MOD2 && e.keyCode != SWT.MOD3 && e.keyCode != SWT.MOD4) { + // On Linux ALT_GR is the level3 switch (at least on the US-INTL layout), when using 'include "level3(YOURKEY)"' in the xkb file + if (e.keyCode != SWT.CAPS_LOCK && e.keyCode != SWT.MOD1 && e.keyCode != SWT.MOD2 && e.keyCode != SWT.MOD3 && e.keyCode != SWT.MOD4 && e.keyCode != SWT.ALT_GR) { hideContextInfoPopup(true); } break;