It was something temporary in my working copy of the code and removed. I just restored it, and I figured out why it was not smooth: it was snapping to the playhead while moving creating a feedback loop. In this new version, I did not require skim keys regardless of any filter. If it seeks when you click a keyframe, then it should probably seek as well when you move the keyframe’s time position, right?
Here is the change you can try to make to your installed copy. This script code gets installed and interpreted at run-time. I do not know what OS you are on to suggest a more specific location such as share
on Windows and Linux portable, Shotcut.app/Contents/Resources
on macOS plus the path shown below.
--- src/qml/views/keyframes/Keyframe.qml
+++ src/qml/views/keyframes/Keyframe.qml
@@ -139,4 +139,6 @@ Rectangle {
var newPosition = Math.round((keyX) / timeScale);
var keyPosition = newPosition - (filter.in - producer.in);
+ if (keyPosition !== producer.position)
+ producer.position = keyPosition;
// Snap to cursor
if (settings.timelineSnap && keyX > cursorX - 10 && keyX < cursorX + 10 && cursorX > minDragX + parent.width / 2 && cursorX < maxDragX + parent.width / 2 && drag.axis != Drag.YAxis) {