# Mouse MOUSE_BTN0 ignore MOUSE_BTN0_DBL cycle fullscreen MOUSE_BTN2 cycle pause #MOUSE_BTN3 ignore #MOUSE_BTN4 ignore #MOUSE_BTN5 ignore #MOUSE_BTN6 ignore # Trackpad AXIS_UP ignore AXIS_DOWN ignore AXIS_LEFT ignore AXIS_RIGHT ignore # Arrow/navigation keys RIGHT osd-msg-bar seek +5 relative+keyframes LEFT osd-msg-bar seek -5 relative+keyframes SHIFT+RIGHT osd-msg-bar seek +1 relative+exact SHIFT+LEFT osd-msg-bar seek -1 relative+exact CTRL+RIGHT frame-step ; show-text "Frame: ${estimated-frame-number} / ${estimated-frame-count}" CTRL+LEFT frame-back-step ; show-text "Frame: ${estimated-frame-number} / ${estimated-frame-count}" UP osd-msg-bar seek +30 relative+keyframes DOWN osd-msg-bar seek -30 relative+keyframes SHIFT+UP osd-msg-bar seek +120 relative+keyframes SHIFT+DOWN osd-msg-bar seek -120 relative+keyframes PGUP osd-msg-bar seek +600 relative+keyframes PGDWN osd-msg-bar seek -600 relative+keyframes SHIFT+PGUP osd-msg-bar seek +1200 relative+keyframes SHIFT+PGDWN osd-msg-bar seek +1200 relative+keyframes ALT+RIGHT sub-seek +1 ; show-text "Sub Seek +1" ALT+LEFT sub-seek -1 ; show-text "Sub Seek -1" #ALT+RIGHT add video-pan-x -0.01 #ALT+LEFT add video-pan-x +0.01 #ALT+UP add video-pan-y +0.01 #ALT+DOWN add video-pan-y -0.01 #META+RIGHT add video-zoom +0.05 #META+LEFT add video-zoom -0.05 #META+UP add video-zoom +0.05 #META+DOWN add video-zoom -0.05 # ` [1] [2] [3] [4] [5] [6] [7] [8] [9] [0] - = # ~ [!] @ # $ % ^ & * ( ) _ + 1 add contrast -1 ; show-text "ContrastT: ${contrast}" 2 add contrast +1 ; show-text "ContrastT: ${contrast}" 3 add brightness -1 ; show-text "Brightness: ${brightness}" 4 add brightness +1 ; show-text "Brightness: ${brightness}" 5 add gamma -1 ; show-text "Gamma: ${gamma}" 6 add gamma +1 ; show-text "Gamma: ${gamma}" 7 add saturation -1 ; show-text "Saturation: ${saturation}" 8 add saturation +1 ; show-text "Saturation: ${saturation}" 9 add volume -2 ; show-text "Volume: ${volume}" 0 add volume +2 ; show-text "Volume: ${volume}" ! cycle ontop ` ignore ~ ignore # ignore $ ignore % ignore ^ ignore & ignore * ignore § ignore ± ignore # [q] [w] [e] [r] [t] [y] [u] [i] [o] [p] [ ] # [Q] [W] E R [T] [Y] [U] [I] O [P] { } Q quit # q script-binding auto_save_state/quit-watch-later-conditional w script-message osc-playlist W playlist-shuffle e playlist-prev ; show-text "${playlist-pos-1}/${playlist-count}" E ignore r playlist-next ; show-text "${playlist-pos-1}/${playlist-count}" R ignore t cycle-values sub-use-margins "yes" "no" T cycle-values ass-force-margins "yes" "no" # does not work with :blend-subtitles CTRL+t cycle-values blend-subtitles "yes" "video" "no" y cycle-values stretch-image-subs-to-screen "yes" "no" Y cycle-values stretch-dvd-subs "yes" "no" u cycle-values hwdec "auto" "no" U cycle-values vf "format=colorlevels=full" "format=colorlevels=auto" "format=colorlevels=limited" i script-binding stats/display-stats I script-binding stats/display-stats-toggle o cycle-values osd-level 3 1 O ignore p cycle-values video-rotate 90 180 270 0 P cycle-values video-aspect "16:9" "4:3" "2.35:1" "16:10" [ ignore ] ignore { ignore } ignore # [a] [s] [d] [f] [g] [h] [j] [k] [l] # [A] [S] [D] [F] [G] [H] [J] [K] [L] a cycle audio # switch audio streams A cycle-values af "lavfi=[dynaudnorm=f=200:g=5:r=0.1]" "" # dynamic range compression CTRL+a script-binding auto_audio_device/toggle-switching # toggle automatic audio device switching s cycle sub # cycle through subtitles S cycle sub-visibility CTRL+s cycle secondary-sid d cycle-values window-scale "1.5" "2.0" "3.0" "0.5" "1.0" ; show-text "Scale: ${window-scale}" D cycle edition CTRL+d cycle video f cycle fullscreen ; show-text "Scale: ${window-scale}" F vf clr "" ; show-text "Filters cleared" g cycle-values video-sync display-resample audio ; cycle-values interpolation yes no ; show-text "Interpolation: ${interpolation} (${tscale})" G cycle-values tscale "linear" "catmull_rom" "mitchell" "bicubic" "oversample" ; show-text "Interpolation: ${interpolation} (${tscale})" CTRL+g cycle-values interpolation no yes ; show-text "Interpolation: ${interpolation} (${tscale})" h cycle deinterlace H script-binding autodeint j cycle deband J vf toggle "lavfi=[hqdn3d=2.0]" K ignore l cycle-values loop-file yes no ; show-text "${?=loop-file==inf:Looping enabled (file)}${?=loop-file==no:Looping disabled (file)}" L cycle-values loop-playlist yes no ; show-text "${?=loop-playlist==inf:Looping enabled}${?=loop-playlist==no:Looping disabled}" CTRL+l ab-loop # [z] [x] [c] [v] [b] [n] [m] [,] [.] # [Z] X C V [B] [N] [M] [<] [>] x script-message osc-chapterlist X ignore c script-message osc-playlist C ignore v script-message osc-tracklist V ignore b add speed +0.05 B add speed -0.05 CTRL+b set speed 1.0 n add audio-delay +0.10 N add audio-delay -0.10 CTRL+n set audio-delay 0 m add sub-delay +0.10 M add sub-delay -0.10 CTRL+m set sub-delay 0 , add sub-scale -0.05 # decrease subtitle font size < add sub-scale +0.05 # increase subtitle font size . add sub-pos -1 # move subtitles up > add sub-pos +1 # move subtitles down # Adjust timing so that next/prev subtitle is displayed now / sub-step +1 ; show-text "Sub Step +1 (timing adjustment)" ? sub-step -1 ; show-text "Sub Step -1 (timing adjustment)" # [esc] [space] [backspace] # [tab] [enter] ESC cycle fullscreen SPACE cycle pause IDEOGRAPHIC_SPACE cycle pause TAB cycle mute ENTER show-progress BS revert-seek SHIFT+BS set speed 1.0 ; set gamma 0 ; set brightness 0 ; set contrast 0 ; set saturation 0 ; set hue 0 ; show-text "Speed/Gamma/Brightness/Contrast/Saturation/Hue resetted" ALT+BS set video-pan-x 0 ; set video-pan-y 0 ; show-text "Pan resetted" META+BS set video-zoom 0 ; show-text "Zoom resetted" # [F1] F2 F3 F4 F5 F6 F7 [F8] [F9] [F10] [F11] [F12] F1 script-binding console/enable F8 vf toggle "interpolation=yes,tscale=oversample" ; show-text "Toggled Realtime Motion Interpolation (native) [interpolation=yes,tscale=oversample]" # Soap-opera effect for frame smoothing F9 apply-profile "upscale-lowres-using-GPU-shaders" ; show-text "Applied GPU upscaler shaders" F10 cycle-values speed 0.8 0.6 0.4 0.2 1 # Slow speed F11 cycle-values speed 1.2 1.4 1.6 1.8 2 1 # Faster speed F12 af toggle "lavfi=[loudnorm=I=-22:TP=-1.5:LRA=2]" # Useful audio normalization for low-audio or whispering scenes (can cause annoying background noise amplification) # Numpad KP0 ignore KP1 ignore KP2 ignore KP3 ignore KP4 ignore KP5 ignore KP6 ignore KP7 ignore KP8 ignore KP9 ignore KP_DEC ignore KP_ENTER ignore # Testing at 2023-11-21 09:19:09PM # Show Loaded Shaders (for dev testing) ` script-binding sview/shader-view # Show progress bar on MOUSE BUTTON 2 double-click # MOUSE_BTN2_DBL show-progress # Seek using mouse wheel # Quieter alternative for video playback seeking # (Mechanical keyboard are common these days so this can mindful of other people # living in the same house) SHIFT+WHEEL_UP osd-msg-bar seek +120 relative+keyframes SHIFT+WHEEL_DOWN osd-msg-bar seek -120 relative+keyframes ALT+WHEEL_UP osd-msg-bar seek +30 relative+keyframes ALT+WHEEL_DOWN osd-msg-bar seek -30 relative+keyframes WHEEL_UP osd-msg-bar seek +1 relative+keyframes WHEEL_DOWN osd-msg-bar seek -1 relative+keyframes CTRL+WHEEL_UP frame-step CTRL+WHEEL_DOWN frame-back-step # Seek using numbers CTRL+1 osd-msg-bar seek -1 relative+exact ALT+1 osd-msg-bar seek +1 relative+exact CTRL+2 osd-msg-bar seek -2 relative+keyframes ALT+2 osd-msg-bar seek +2 relative+keyframes CTRL+3 osd-msg-bar seek -3 relative+keyframes ALT+3 osd-msg-bar seek +3 relative+keyframes CTRL+4 osd-msg-bar seek -4 relative+keyframes ALT+4 osd-msg-bar seek +4 relative+keyframes CTRL+5 osd-msg-bar seek -5 relative+keyframes ALT+5 osd-msg-bar seek +5 relative+keyframes CTRL+6 osd-msg-bar seek -6 relative+keyframes ALT+6 osd-msg-bar seek +6 relative+keyframes # mpv keybindings # # Location of user-defined bindings: ~/.config/mpv/input.conf # # Lines starting with # are comments. Use SHARP to assign the # key. # Copy this file and uncomment and edit the bindings you want to change. # # List of commands and further details: DOCS/man/input.rst # List of special keys: --input-keylist # Keybindings testing mode: mpv --input-test --force-window --idle # # Use 'ignore' to unbind a key fully (e.g. 'ctrl+a ignore'). # # Strings need to be quoted and escaped: # KEY show-text "This is a single backslash: \\ and a quote: \" !" # # You can use modifier-key combinations like Shift+Left or Ctrl+Alt+x with # the modifiers Shift, Ctrl, Alt and Meta (may not work on the terminal). # # The default keybindings are hardcoded into the mpv binary. # You can disable them completely with: --no-input-default-bindings # Developer note: # On compilation, this file is baked into the mpv binary, and all lines are # uncommented (unless '#' is followed by a space) - thus this file defines the # default key bindings. # If this is enabled, treat all the following bindings as default. #default-bindings start #MBTN_LEFT ignore # don't do anything #MBTN_LEFT_DBL cycle fullscreen # toggle fullscreen #MBTN_RIGHT cycle pause # toggle pause/playback mode #MBTN_BACK playlist-prev # skip to the previous file #MBTN_FORWARD playlist-next # skip to the next file # Mouse wheels, touchpad or other input devices that have axes # if the input devices supports precise scrolling it will also scale the # numeric value accordingly #WHEEL_UP add volume 2 #WHEEL_DOWN add volume -2 #WHEEL_LEFT seek -10 # seek 10 seconds backward #WHEEL_RIGHT seek 10 # seek 10 seconds forward ## Seek units are in seconds, but note that these are limited by keyframes #RIGHT seek 5 # seek 5 seconds forward #LEFT seek -5 # seek 5 seconds backward #UP seek 60 # seek 1 minute forward #DOWN seek -60 # seek 1 minute backward # Do smaller, always exact (non-keyframe-limited), seeks with shift. # Don't show them on the OSD (no-osd). #Shift+RIGHT no-osd seek 1 exact # seek exactly 1 second forward #Shift+LEFT no-osd seek -1 exact # seek exactly 1 second backward #Shift+UP no-osd seek 5 exact # seek exactly 5 seconds forward #Shift+DOWN no-osd seek -5 exact # seek exactly 5 seconds backward #Ctrl+LEFT no-osd sub-seek -1 # seek to the previous subtitle #Ctrl+RIGHT no-osd sub-seek 1 # seek to the next subtitle #Ctrl+Shift+LEFT sub-step -1 # change subtitle timing such that the previous subtitle is displayed #Ctrl+Shift+RIGHT sub-step 1 # change subtitle timing such that the next subtitle is displayed #Alt+left add video-pan-x 0.1 # move the video right #Alt+right add video-pan-x -0.1 # move the video left #Alt+up add video-pan-y 0.1 # move the video down #Alt+down add video-pan-y -0.1 # move the video up #Alt++ add video-zoom 0.1 # zoom in #ZOOMIN add video-zoom 0.1 # zoom in #Alt+- add video-zoom -0.1 # zoom out #ZOOMOUT add video-zoom -0.1 # zoom out #Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 # reset zoom and pan settings #PGUP add chapter 1 # seek to the next chapter #PGDWN add chapter -1 # seek to the previous chapter #Shift+PGUP seek 600 # seek 10 minutes forward #Shift+PGDWN seek -600 # seek 10 minutes backward #[ multiply speed 1/1.1 # decrease the playback speed #] multiply speed 1.1 # increase the playback speed #{ multiply speed 0.5 # halve the playback speed #} multiply speed 2.0 # double the playback speed #BS set speed 1.0 # reset the speed to normal #Shift+BS revert-seek # undo the previous (or marked) seek #Shift+Ctrl+BS revert-seek mark # mark the position for revert-seek #q quit #Q quit-watch-later # exit and remember the playback position #q {encode} quit 4 #ESC set fullscreen no # leave fullscreen #ESC {encode} quit 4 #p cycle pause # toggle pause/playback mode #. frame-step # advance one frame and pause #, frame-back-step # go back by one frame and pause #SPACE cycle pause # toggle pause/playback mode #> playlist-next # skip to the next file #ENTER playlist-next # skip to the next file #< playlist-prev # skip to the previous file #O no-osd cycle-values osd-level 3 1 # toggle displaying the OSD on user interaction or always #o show-progress # show playback progress #P show-progress # show playback progress #i script-binding stats/display-stats # display information and statistics #I script-binding stats/display-stats-toggle # toggle displaying information and statistics #` script-binding console/enable # open the console #z add sub-delay -0.1 # shift subtitles 100 ms earlier #Z add sub-delay +0.1 # delay subtitles by 100 ms #x add sub-delay +0.1 # delay subtitles by 100 ms #ctrl++ add audio-delay 0.100 # change audio/video sync by delaying the audio #ctrl+- add audio-delay -0.100 # change audio/video sync by shifting the audio earlier #Shift+g add sub-scale +0.1 # increase the subtitle font size #Shift+f add sub-scale -0.1 # decrease the subtitle font size #9 add volume -2 #/ add volume -2 #0 add volume 2 #* add volume 2 #m cycle mute # toggle mute #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 #Alt+0 set current-window-scale 0.5 # halve the window size #Alt+1 set current-window-scale 1.0 # reset the window size #Alt+2 set current-window-scale 2.0 # double the window size #d cycle deinterlace # toggle the deinterlacing filter #r add sub-pos -1 # move subtitles up #R add sub-pos +1 # move subtitles down #t add sub-pos +1 # move subtitles down #v cycle sub-visibility # hide or show the subtitles #Alt+v cycle secondary-sub-visibility # hide or show the secondary subtitles #V cycle sub-ass-vsfilter-aspect-compat # toggle stretching SSA/ASS subtitles with anamorphic videos to match the historical renderer #u cycle-values sub-ass-override "force" "yes" # toggle overriding SSA/ASS subtitle styles with the normal styles #j cycle sub # switch subtitle track #J cycle sub down # switch subtitle track backwards #SHARP cycle audio # switch audio track #_ cycle video # switch video track #T cycle ontop # toggle placing the video on top of other windows #f cycle fullscreen # toggle fullscreen #s screenshot # take a screenshot of the video in its original resolution with subtitles #S screenshot video # take a screenshot of the video in its original resolution without subtitles #Ctrl+s screenshot window # take a screenshot of the window with OSD and subtitles #Alt+s screenshot each-frame # automatically screenshot every frame; issue this command again to stop taking screenshots #w add panscan -0.1 # decrease panscan #W add panscan +0.1 # shrink black bars by cropping the video #e add panscan +0.1 # shrink black bars by cropping the video #A cycle-values video-aspect-override "16:9" "4:3" "2.35:1" "-1" # cycle the video aspect ratio ("-1" is the container aspect) #POWER quit #PLAY cycle pause # toggle pause/playback mode #PAUSE cycle pause # toggle pause/playback mode #PLAYPAUSE cycle pause # toggle pause/playback mode #PLAYONLY set pause no # unpause #PAUSEONLY set pause yes # pause #STOP quit #FORWARD seek 60 # seek 1 minute forward #REWIND seek -60 # seek 1 minute backward #NEXT playlist-next # skip to the next file #PREV playlist-prev # skip to the previous file #VOLUME_UP add volume 2 #VOLUME_DOWN add volume -2 #MUTE cycle mute # toggle mute #CLOSE_WIN quit #CLOSE_WIN {encode} quit 4 #ctrl+w quit #E cycle edition # switch edition #l ab-loop # set/clear A-B loop points #L cycle-values loop-file "inf" "no" # toggle infinite looping #ctrl+c quit 4 #DEL script-binding osc/visibility # cycle OSC visibility between never, auto (mouse-move) and always #ctrl+h cycle-values hwdec "auto-safe" "no" # toggle hardware decoding #F8 show-text ${playlist} # show the playlist #F9 show-text ${track-list} # show the list of video, audio and sub tracks # # Legacy bindings (may or may not be removed in the future) # #! add chapter -1 # seek to the previous chapter #@ add chapter 1 # seek to the next chapter # # Not assigned by default # (not an exhaustive list of unbound commands) # # ? cycle sub-forced-events-only # display only DVD/PGS forced subtitle events # ? stop # stop playback (quit or enter idle mode)