Index: org/netbeans/editor/BaseKit.java =================================================================== RCS file: /cvs/editor/libsrc/org/netbeans/editor/BaseKit.java,v retrieving revision 1.77 diff -c -r1.77 BaseKit.java *** org/netbeans/editor/BaseKit.java 10 Oct 2001 13:21:02 -0000 1.77 --- org/netbeans/editor/BaseKit.java 12 Nov 2001 18:28:31 -0000 *************** *** 733,739 **** int mod = evt.getModifiers(); boolean ctrl = ((mod & ActionEvent.CTRL_MASK) != 0); boolean alt = ((mod & ActionEvent.ALT_MASK) != 0); ! if ((alt && !ctrl) || (ctrl && !alt)) { return; } --- 733,739 ---- int mod = evt.getModifiers(); boolean ctrl = ((mod & ActionEvent.CTRL_MASK) != 0); boolean alt = ((mod & ActionEvent.ALT_MASK) != 0); ! if (ctrl && !alt) { return; } Index: org/netbeans/editor/MultiKeymap.java =================================================================== RCS file: /cvs/editor/libsrc/org/netbeans/editor/MultiKeymap.java,v retrieving revision 1.24 diff -c -r1.24 MultiKeymap.java *** org/netbeans/editor/MultiKeymap.java 9 Nov 2001 16:10:23 -0000 1.24 --- org/netbeans/editor/MultiKeymap.java 12 Nov 2001 18:28:31 -0000 *************** *** 25,30 **** --- 25,32 ---- import javax.swing.Action; import javax.swing.AbstractAction; + import java.lang.reflect.Method; + /** * Keymap that is capable to work with MultiKeyBindings * *************** *** 208,213 **** --- 210,230 ---- && (key.getModifiers() & InputEvent.CTRL_MASK) == 0 // Ctrl not pressed ) { boolean patch = true; + + if (ret == null) { + try { + Class topManagerClass = Class.forName("org.openide.TopManager"); + Method defaultMethod = topManagerClass.getDeclaredMethod("getDefault",new Class[0]); + Method keymapMethod = topManagerClass.getDeclaredMethod("getGlobalKeymap",new Class[0]); + Object topManager = defaultMethod.invoke(null,new Object[0]); + Keymap map = (Keymap)keymapMethod.invoke(topManager,new Object[0]); + // Keymap map = TopManager.getDefault().getGlobalKeymap (); + if (map.getAction (key) == null) + patch = false; + } catch (Exception ex) { + // ignore exceptions + } + } if (key.getKeyChar() == 0 || key.getKeyChar() == KeyEvent.CHAR_UNDEFINED) { switch (key.getKeyCode()) { case KeyEvent.VK_ALT: // don't patch single Alt