boolean (@NotNull MouseEvent e, @NotNull String actionId) { KeymapManager keymapManager = KeymapManager.getInstance(); if (keymapManager == null) return false; Keymap keymap = keymapManager.getActiveKeymap(); MouseShortcut mouseShortcut = KeymapUtil.createMouseShortcut(e); List<String> mappedActions = keymap.getActionIds(mouseShortcut); if (!mappedActions.contains(actionId)) { return false; } if (mappedActions.size() < 2 || e.getID() == MouseEvent.MOUSE_DRAGGED /* 'normal' actions are not invoked on mouse drag */) { return true; } ActionManager actionManager = ActionManager.getInstance(); for (String mappedActionId : mappedActions) { if (actionId.equals(mappedActionId)) continue; AnAction action = actionManager.getAction(mappedActionId); AnActionEvent actionEvent = AnActionEvent.createFromAnAction(action, e, ActionPlaces.MAIN_MENU, DataManager.getInstance().getDataContext(e.getComponent())); if (ActionUtil.lastUpdateAndCheckDumb(action, actionEvent, false)) return false; } return true; }