mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-29 18:52:19 +00:00
Analog scrolling for touchpad
This commit is contained in:
@@ -21,6 +21,7 @@ import ZoomPane from '@/components/ui/ZoomPane.vue'
|
|||||||
import Button from '@/components/ui/button/Button.vue'
|
import Button from '@/components/ui/button/Button.vue'
|
||||||
import { safeWidgetMapper } from '@/composables/graph/useGraphNodeManager'
|
import { safeWidgetMapper } from '@/composables/graph/useGraphNodeManager'
|
||||||
import { d, t } from '@/i18n'
|
import { d, t } from '@/i18n'
|
||||||
|
import { CanvasPointer } from '@/lib/litegraph/src/CanvasPointer'
|
||||||
import type { LGraphNode } from '@/lib/litegraph/src/LGraphNode'
|
import type { LGraphNode } from '@/lib/litegraph/src/LGraphNode'
|
||||||
import { useMediaAssets } from '@/platform/assets/composables/media/useMediaAssets'
|
import { useMediaAssets } from '@/platform/assets/composables/media/useMediaAssets'
|
||||||
import { useMediaAssetActions } from '@/platform/assets/composables/useMediaAssetActions'
|
import { useMediaAssetActions } from '@/platform/assets/composables/useMediaAssetActions'
|
||||||
@@ -316,14 +317,25 @@ function gotoPreviousOutput() {
|
|||||||
activeLoad.value = [-1, -1]
|
activeLoad.value = [-1, -1]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let pointer = new CanvasPointer(document.body)
|
||||||
|
let scrollOffset = 0
|
||||||
function handleCenterWheel(e: WheelEvent) {
|
function handleCenterWheel(e: WheelEvent) {
|
||||||
if (!e.ctrlKey && !e.metaKey) return
|
if (!e.ctrlKey && !e.metaKey) return
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
|
|
||||||
//TODO roll in litegraph/CanvasPointer and give slight stickiness when on trackpad
|
if (!pointer.isTrackpadGesture(e)) {
|
||||||
if (e.deltaY > 0) gotoNextOutput()
|
if (e.deltaY > 0) gotoNextOutput()
|
||||||
else {
|
else gotoPreviousOutput()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
scrollOffset += e.deltaY * 0.5
|
||||||
|
while (scrollOffset >= 60) {
|
||||||
|
scrollOffset -= 60
|
||||||
|
gotoNextOutput()
|
||||||
|
}
|
||||||
|
while (scrollOffset <= -60) {
|
||||||
|
scrollOffset += 60
|
||||||
gotoPreviousOutput()
|
gotoPreviousOutput()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user