Nodes Browser

ComfyDeploy: How ComfyUI Touchpad Scroll Controller works in ComfyUI?

What is ComfyUI Touchpad Scroll Controller?

A ComfyUI extension that enhances touchpad navigation by redirecting two-finger scrolling over to the canvas, including over textareas. This can prevent accidental back/forward browser navigation when using horizontal touchpad gestures and provides smooth zooming and panning for Mac and other touchpad users.

How to install it in ComfyDeploy?

Head over to the machine page

  1. Click on the "Create a new machine" button
  2. Select the Edit build steps
  3. Add a new step -> Custom Node
  4. Search for ComfyUI Touchpad Scroll Controller and select it
  5. Close the build step dialig and then click on the "Save" button to rebuild the machine

ComfyUI Touchpad Scroll Controller

A ComfyUI extension that enhances touchpad navigation by redirecting two-finger scrolling over to the canvas, including over textareas. This can prevent accidental back/forward browser navigation when using horizontal touchpad gestures and provides smooth zooming and panning for Mac and other touchpad users.

[!NOTE] This projected was created with a cookiecutter template. It helps you start writing custom nodes without worrying about the Python setup.

Quickstart

  1. Install ComfyUI.
  2. Install ComfyUI-Manager
  3. Look up this extension in ComfyUI-Manager. If you are installing manually, clone this repository under ComfyUI/custom_nodes.
  4. Restart ComfyUI.

Features

  • Optimizes touchpad two-finger scrolling behavior for ComfyUI canvas navigation
  • Prevents accidental browser back/forward navigation when using horizontal touchpad gestures
  • Redirects two-finger scrolling over textareas to pan the canvas instead (configurable in options)
  • Implements smoother touchpad-friendly zoom with ⌃+two-finger scroll or pinch gestures
  • Implements a finer-grained zooming experience with ⌃+⌘+two-finger scroll or pinch gestures
  • Customizable target selectors through settings
  • Toggle functionality on/off through the settings panel

Develop

To install the dev dependencies and pre-commit (will run the ruff hook), do:

cd ComfyUI/custom_nodes/comfyui_touchpad_scroll_controller
pip install -e .[dev]
pre-commit install

The -e flag above will result in a "live" install, in the sense that any changes you make to your node extension will automatically be picked up the next time you run ComfyUI.

Publish to Github

Install Github Desktop or follow these instructions for ssh.

  1. Create a Github repository that matches the directory name.
  2. Push the files to Git
git add .
git commit -m "project scaffolding"
git push

Writing custom nodes

An example custom node is located in node.py. To learn more, read the docs.

Tests

This repo contains unit tests written in Pytest in the tests/ directory. It is recommended to unit test your custom node.

Publishing to Registry

If you wish to share this custom node with others in the community, you can publish it to the registry. We've already auto-populated some fields in pyproject.toml under tool.comfy, but please double-check that they are correct.

You need to make an account on https://registry.comfy.org and create an API key token.

  • ⬜ Go to the registry. Login and create a publisher id (everything after the @ sign on your registry profile).
  • ⬜ Add the publisher id into the pyproject.toml file.
  • ⬜ Create an api key on the Registry for publishing from Github. Instructions.
  • ⬜ Add it to your Github Repository Secrets as REGISTRY_ACCESS_TOKEN.

A Github action will run on every git push. You can also run the Github action manually. Full instructions here. Join our discord if you have any questions!