# 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 F cycle 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 seek 10 # seek 10 seconds forward # WHEEL_DOWN seek -10 # seek 10 seconds backward # WHEEL_LEFT add volume -2 # WHEEL_RIGHT add volume 2 # # Anime filter keys Ctrl+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A (Fast)" Ctrl+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B (Fast)" Ctrl+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C (Fast)" Ctrl+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A+A (Fast)" Ctrl+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B+B (Fast)" Ctrl+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C+A (Fast)" Ctrl+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared" # # Seek units are in seconds, but note that these are limited by keyframes RIGHT seek 4 exact # seek 5 seconds forward LEFT seek -4 exact # seek 5 seconds backward j seek -12 exact l seek 12 exact # 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 # Alt+- 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 k 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 [ add sub-delay -0.1 # shift subtitles 100 ms earlier ] add sub-delay +0.1 # delay subtitles by 100 ms { add sub-delay -10 # shift subtitles 10s earlier } add sub-delay +10 # delay subtitles by 10s ( add audio-delay -0.1 # change audio/video sync by delaying the audio ) add audio-delay +0.1 # change audio/video sync by shifting the audio earlier + add sub-scale +0.01 _ add sub-scale -0.01 # 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" "no" # toggle overriding SSA/ASS subtitle styles with the normal styles # j cycle sub # switch subtitle track # J cycle sub down # switch subtitle track backwards n cycle sub # switch subtitle track N cycle sub down # switch subtitle track backwards # SHARP cycle audio # switch audio track a cycle audio A cycle audio down # _ 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 = add volume 4 - add volume -4 # MUTE cycle mute # toggle mute CLOSE_WIN quit # CLOSE_WIN {encode} quit 4 ctrl+q quit ctrl+w quit # E cycle edition # switch edition # l ab-loop # set/clear A-B loop points A 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" "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-only # toggle DVD forced subs # ? stop # stop playback (quit or enter idle mode)