# 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 on/off #MBTN_RIGHT cycle pause # toggle pause on/off #MBTN_BACK playlist-prev #MBTN_FORWARD playlist-next # 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 #WHEEL_DOWN seek -10 #WHEEL_LEFT add volume -2 #WHEEL_RIGHT add volume 2 ## Seek units are in seconds, but note that these are limited by keyframes #RIGHT seek 5 #LEFT seek -5 #UP seek 60 #DOWN seek -60 # 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 #Shift+LEFT no-osd seek -1 exact #Shift+UP no-osd seek 5 exact #Shift+DOWN no-osd seek -5 exact # Skip to previous/next subtitle (subject to some restrictions; see manpage) #Ctrl+LEFT no-osd sub-seek -1 #Ctrl+RIGHT no-osd sub-seek 1 # Adjust timing to previous/next subtitle #Ctrl+Shift+LEFT sub-step -1 #Ctrl+Shift+RIGHT sub-step 1 # Move video rectangle #Alt+left add video-pan-x 0.1 #Alt+right add video-pan-x -0.1 #Alt+up add video-pan-y 0.1 #Alt+down add video-pan-y -0.1 # Zoom/unzoom video #Alt++ add video-zoom 0.1 #Alt+- add video-zoom -0.1 # Reset video zoom/pan settings #Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 #PGUP add chapter 1 # skip to next chapter #PGDWN add chapter -1 # skip to previous chapter #Shift+PGUP seek 600 #Shift+PGDWN seek -600 [ add speed -0.05 # scale playback speed ] add speed 0.05 #{ multiply speed 0.5 #} multiply speed 2.0 #BS set speed 1.0 # reset speed to normal #Shift+BS revert-seek # undo previous (or marked) seek #Shift+Ctrl+BS revert-seek mark # mark position for revert-seek #q quit #Q quit-watch-later #q {encode} quit 4 #ESC set fullscreen no #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 #> playlist-next # skip to next file #ENTER playlist-next # skip to next file #< playlist-prev # skip to previous file #O no-osd cycle-values osd-level 3 1 # cycle through OSD mode #o show-progress #P show-progress #i script-binding stats/display-stats #I script-binding stats/display-stats-toggle #` script-binding console/enable #z add sub-delay -0.1 # subtract 100 ms delay from subs #Z add sub-delay +0.1 # add #x add sub-delay +0.1 # same as previous binding (discouraged) #ctrl++ add audio-delay 0.100 # this changes audio/video sync #ctrl+- add audio-delay -0.100 #Shift+g add sub-scale +0.1 # increase subtitle font size #Shift+f add sub-scale -0.1 # decrease subtitle font size 9 add volume -5 #/ add volume -2 0 add volume 5 #* add volume 2 #m cycle 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 window-scale 0.5 #Alt+1 set window-scale 1.0 #Alt+2 set window-scale 2.0 # toggle deinterlacer (automatically inserts or removes required filter) #d cycle deinterlace #r add sub-pos -1 # move subtitles up #R add sub-pos +1 # down #t add sub-pos +1 # same as previous binding (discouraged) #v cycle sub-visibility # stretch SSA/ASS subtitles with anamorphic videos to match historical #V cycle sub-ass-vsfilter-aspect-compat # switch between applying no style overrides to SSA/ASS subtitles, and # overriding them almost completely with the normal subtitle style #u cycle-values sub-ass-override "force" "no" #j cycle sub # cycle through subtitles #J cycle sub down # ...backwards #SHARP cycle audio # switch audio streams #_ cycle video #T cycle ontop # toggle video window ontop of other windows #f cycle fullscreen # toggle fullscreen #s screenshot # take a screenshot #S screenshot video # ...without subtitles #Ctrl+s screenshot window # ...with subtitles and OSD, and scaled #Alt+s screenshot each-frame # automatically screenshot every frame #w add panscan -0.1 # zoom out with -panscan 0 -fs #W add panscan +0.1 # in #e add panscan +0.1 # same as previous binding (discouraged) # cycle video aspect ratios; "-1" is the container aspect #A cycle-values video-aspect-override "16:9" "4:3" "2.35:1" "-1" #POWER quit #PLAY cycle pause #PAUSE cycle pause #PLAYPAUSE cycle pause #PLAYONLY set pause no #PAUSEONLY set pause yes #STOP quit #FORWARD seek 60 #REWIND seek -60 #NEXT playlist-next #PREV playlist-prev #VOLUME_UP add volume 2 #VOLUME_DOWN add volume -2 #MUTE cycle mute #CLOSE_WIN quit #CLOSE_WIN {encode} quit 4 #ctrl+w quit #E cycle edition # next 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 display #ctrl+h cycle-values hwdec "auto" "no" # cycle hardware decoding #F8 show_text ${playlist} # show playlist #F9 show_text ${track-list} # show list of audio/sub streams # # Legacy bindings (may or may not be removed in the future) # #! add chapter -1 # skip to previous chapter #@ add chapter 1 # next # # Not assigned by default # (not an exhaustive list of unbound commands) # # ? cycle angle # switch DVD/Bluray angle # ? cycle sub-forced-only # toggle DVD forced subs # ? cycle program # cycle transport stream programs # ? stop # stop playback (quit or enter idle mode) n cycle_values af loudnorm=I=-30 loudnorm=I=-15 anull CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)" CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)" CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)" CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)" CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)" CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)" CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared" TAB script-binding skip-key ctrl+K cycle-values keep-open "yes" "no" o write-watch-later-config; loadfile "${path}" ctrl+R script-binding reload-scripts