Comfy-Org / Comfy-Org/ComfyUI_frontend

[Feature Request]: Options to reconfigure key/mouse bindings for navigation

Open
#1,032 4 comments 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
2k
Forks
699
Avg merge
1d 7h
Merged PRs (30d)
490

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues and checked the recent builds/commits

### What would your feature do ?

Expose settings to change the keybinds/mousebinds for panning, drag selecting, etc.
The main reasons this is needed are that the current set up is pretty unconventional when compared to other node-based environments like blender, Nuke, or even Adobe products, etc. and the ability to use a more familiar setup would be incredibly useful. Personally I'd find the Adobe method of holding space to pan and having an unmodified click+drag do a selection box very comfortable and would love to be able to work that way. Others may prefer blender, I see that mentioned a lot.

In addition to this: when using Firefox on macOS you cannot drag select without editing the litegraph python file to use the metaKey instead of the ctrlKey for drag selections. I realize this is more of a bug, and I will mention it in a separate issue, but for whatever reason, the ctrlKey does not work for that in Firefox on macOS. So I have to edit the python file to make it work every time I update ComfyUI. Very cumbersome and annoying, but this feature would provide a fix.

### Proposed workflow

1. Go to settings
2. (optional) Select from a list of keybind templates mimicking other popular node or art software.
3. If no suitable keybind template is found, choose "Custom" and set your own keybinds and mouse behavior.

Templates would be great, but at this point even the most basic "set your own" options would be tremendously helpful.

### Additional information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.