summary refs log tree commit diff
path: root/.config/mpv/mvi/input.conf
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-04-08 13:26:13 +0900
committerRobert Günzler <r@gnzler.io>2026-04-08 13:26:13 +0900
commit4e34cbf9673aeaba252e01df554a0d204e83c5e2 (patch)
treef3eea07d0e2bf1628ce19987c5164577f63ac614 /.config/mpv/mvi/input.conf
parent28db7c76e26c312918959384e02e433f8858de49 (diff)
Automated-commit-by: dots
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.config/mpv/mvi/input.conf')
-rw-r--r--.config/mpv/mvi/input.conf109
1 files changed, 109 insertions, 0 deletions
diff --git a/.config/mpv/mvi/input.conf b/.config/mpv/mvi/input.conf
new file mode 100644
index 0000000..1d5b989
--- /dev/null
+++ b/.config/mpv/mvi/input.conf
@@ -0,0 +1,109 @@
+1 change-list script-opts append image_positioning-drag_to_pan_margin=200
+2 change-list script-opts append ruler-exit_bindings=8
+3 change-list script-opts append ruler-line_color=FF
+4 change-list script-opts append ruler-scale=25
+5 change-list script-opts append ruler-max_size=20,20
+
+SPACE repeatable playlist-next
+alt+SPACE repeatable playlist-prev
+
+# familiar binds
+n playlist-next
+p playlist-prev
+
+UP ignore
+DOWN ignore
+LEFT repeatable playlist-prev
+RIGHT repeatable playlist-next
+
+# simple reminder of default bindings
+#1 add contrast -1
+#2 add contrast 1
+#3 add brightness -1
+#4 add brightness 1
+#5 add gamma -1
+#6 add gamma 1
+#7 add saturation -1
+#8 add saturation 1
+
+# mouse-centric bindings
+MBTN_RIGHT script-binding drag-to-pan
+MBTN_LEFT  script-binding pan-follows-cursor
+MBTN_LEFT_DBL ignore
+WHEEL_UP   script-message cursor-centric-zoom 0.1
+WHEEL_DOWN script-message cursor-centric-zoom -0.1
+
+# panning with the keyboard:
+# pan-image takes the following arguments
+# pan-image AXIS AMOUNT ZOOM_INVARIANT IMAGE_CONSTRAINED
+#            ^            ^                  ^
+#          x or y         |                  |
+#                         |                  |
+#   if yes, will pan by the same         if yes, stops panning if the image
+#     amount regardless of zoom             would go outside of the window
+
+ctrl+down  repeatable script-message pan-image y -0.1 yes yes
+ctrl+up    repeatable script-message pan-image y +0.1 yes yes
+ctrl+right repeatable script-message pan-image x -0.1 yes yes
+ctrl+left  repeatable script-message pan-image x +0.1 yes yes
+
+# now with more precision
+alt+down   repeatable script-message pan-image y -0.01 yes yes
+alt+up     repeatable script-message pan-image y +0.01 yes yes
+alt+right  repeatable script-message pan-image x -0.01 yes yes
+alt+left   repeatable script-message pan-image x +0.01 yes yes
+
+# replace at will with h,j,k,l if you prefer vim-style bindings
+
+# on a trackpad you may want to use these
+#WHEEL_UP    repeatable script-message pan-image y -0.02 yes yes
+#WHEEL_DOWN  repeatable script-message pan-image y +0.02 yes yes
+#WHEEL_LEFT  repeatable script-message pan-image x -0.02 yes yes
+#WHEEL_RIGHT repeatable script-message pan-image x +0.02 yes yes
+
+# align the border of the image to the border of the window
+# align-border takes the following arguments:
+# align-border ALIGN_X ALIGN_Y
+# any value for ALIGN_* is accepted, -1 and 1 map to the border of the window
+ctrl+shift+right script-message align-border -1 ""
+ctrl+shift+left  script-message align-border 1 ""
+ctrl+shift+down  script-message align-border "" -1
+ctrl+shift+up    script-message align-border "" 1
+
+# reset the image
+ctrl+0  no-osd set video-pan-x 0; no-osd set video-pan-y 0; no-osd set video-zoom 0
+
++ add video-zoom 0.5
+- add video-zoom -0.5; script-message reset-pan-if-visible
+= no-osd set video-zoom 0; script-message reset-pan-if-visible
+
+e script-message equalizer-toggle
+alt+e script-message equalizer-reset
+
+h no-osd vf toggle hflip; show-text "Horizontal flip"
+v no-osd vf toggle vflip; show-text "Vertical flip"
+
+r script-message rotate-video 90; show-text "Clockwise rotation"
+R script-message rotate-video -90; show-text "Counter-clockwise rotation"
+alt+r no-osd set video-rotate 0; show-text "Reset rotation"
+
+d script-message ruler
+
+# Toggling between pixel-exact reproduction and interpolation
+a cycle-values scale nearest ewa_lanczossharp
+
+# Toggle color management on or off
+c cycle icc-profile-auto
+
+# Screenshot of the window output
+S screenshot window
+
+# Toggle aspect ratio information on and off
+A cycle-values video-aspect-override "-1" "no"
+
+P script-message force-print-filename
+
+# ADVANCED: you can define bindings that belong to a "section" (named "image-viewer" here) like so:
+#alt+SPACE {image-viewer} repeatable playlist-prev
+#SPACE     {image-viewer} repeatable playlist-next
+# to load them conditionally with a command. See scripts-opts/image_viewer.conf for how you can do this