in idea-plugin/src/main/java/com/jetbrains/ide/streamdeck/keymap/KeymapPanel.java [385:414]
private void editSelection(InputEvent e, boolean isDoubleClick) {
String actionId = myActionsTree.getSelectedActionId();
if (actionId == null) return;
Keymap selectedKeymap = myManager.getSelectedKeymap();
if (selectedKeymap == null) return;
DefaultActionGroup group = createEditActionGroup(actionId, selectedKeymap);
if (e instanceof MouseEvent && ((MouseEvent)e).isPopupTrigger()) {
ActionManager.getInstance()
.createActionPopupMenu("popup@Keymap.ActionsTree.Menu", group)
.getComponent()
.show(e.getComponent(), ((MouseEvent)e).getX(), ((MouseEvent)e).getY());
}
else if (!isDoubleClick || !ActionManager.getInstance().isGroup(actionId)) {
DataContext dataContext = DataManager.getInstance().getDataContext(this);
ListPopup popup = JBPopupFactory.getInstance().createActionGroupPopup(IdeBundle.message("popup.title.edit.shortcuts"),
group,
dataContext,
JBPopupFactory.ActionSelectionAid.SPEEDSEARCH,
true);
if (e instanceof MouseEvent) {
popup.show(new RelativePoint((MouseEvent)e));
}
else {
popup.showInBestPositionFor(dataContext);
}
}
}