
 # This file defines the key and mouse bindings and the context menu of mpv.net.
 
 # A convenient input and config editor can be found in the context menu of mpv.net
 # under 'Settings'.
 
 # The mpv.conf defaults of mpv.net contain: 'input-default-bindings = no'
 # which disables the input defaults of mpv. Every line in this file begins with a
 # space character to make it easier to do a text search, so if you want to know
 # if 'o' has already a binding you can do a text search on ' o '.

 # input test mode:
 # mpvnet --input-test

 # input key list:
 # mpv --input-keylist

 # mpv.net input.conf defaults:
 # https://github.com/stax76/mpv.net/blob/master/mpv.net/Resources/input.conf.txt

 # mpv input.conf defaults:
 # https://github.com/mpv-player/mpv/blob/master/etc/input.conf

 # mpv input commands:
 # https://mpv.io/manual/master/#list-of-input-commands

 # mpv input options:
 # https://mpv.io/manual/master/#input

 o           script-message mpv.net open-files         #menu: Open > Open Files...
 u           script-message mpv.net open-url           #menu: Open > Open URL or file path from clipboard
 _           script-message mpv.net open-optical-media #menu: Open > Open DVD/Blu-ray Drive/Folder...
 _           ignore                                    #menu: Open > -
 Alt+a       script-message mpv.net load-audio         #menu: Open > Load external audio files...
 Alt+s       script-message mpv.net load-sub           #menu: Open > Load external subtitle files...
 _           ignore                                    #menu: Open > -
 _           script-message mpv.net open-files append  #menu: Open > Add files to playlist...
 F3          script-message mpv.net show-media-search  #menu: Open > Show media search...
 _           ignore                                    #menu: Open > -
 _           ignore                                    #menu: Open > Recent

 _           ignore                 #menu: -
 Space       cycle pause            #menu: Play/Pause
 s           stop                   #menu: Stop
 _           ignore                 #menu: -
 Enter       cycle fullscreen       #menu: Toggle Fullscreen
 
 F11         playlist-prev          #menu: Navigate > Previous File
 F12         playlist-next          #menu: Navigate > Next File
 _           ignore                 #menu: Navigate > -
 Home        script-message mpv.net playlist-first #menu: Navigate > First File
 End         script-message mpv.net playlist-last  #menu: Navigate > Last File
 _           ignore                 #menu: Navigate > -
 PGUP        add chapter  1         #menu: Navigate > Next Chapter
 PGDWN       add chapter -1         #menu: Navigate > Previous Chapter
 _           ignore                 #menu: Navigate > -
 .           frame-step             #menu: Navigate > Jump Next Frame
 ,           frame-back-step        #menu: Navigate > Jump Previous Frame
 _           ignore                 #menu: Navigate > -
 Right       seek  7                #menu: Navigate > Jump 7 sec forward
 Left        seek -7                #menu: Navigate > Jump 7 sec backward
 _           ignore                 #menu: Navigate > -
 Up          seek  40               #menu: Navigate > Jump 40 sec forward
 Down        seek -40               #menu: Navigate > Jump 40 sec backward
 _           ignore                 #menu: Navigate > -
 Ctrl+Right  seek  300              #menu: Navigate > Jump 5 min forward
 Ctrl+Left   seek -300              #menu: Navigate > Jump 5 min backward
 _           ignore                 #menu: Navigate > -
 _           ignore                 #menu: Navigate > Titles
 _           ignore                 #menu: Navigate > Chapters

 Ctrl++      add video-zoom  0.1    #menu: Pan & Scan > Increase Size
 Ctrl+-      add video-zoom -0.1    #menu: Pan & Scan > Decrease Size
 _           ignore                 #menu: Pan & Scan > -
 Ctrl+KP4    add video-pan-x -0.01  #menu: Pan & Scan > Move Left
 Ctrl+KP6    add video-pan-x  0.01  #menu: Pan & Scan > Move Right
 _           ignore                 #menu: Pan & Scan > -
 Ctrl+KP8    add video-pan-y -0.01  #menu: Pan & Scan > Move Up
 Ctrl+KP2    add video-pan-y  0.01  #menu: Pan & Scan > Move Down
 _           ignore                 #menu: Pan & Scan > -
 w           add panscan -0.1       #menu: Pan & Scan > Decrease Height
 W           add panscan  0.1       #menu: Pan & Scan > Increase Height
 _           ignore                 #menu: Pan & Scan > -
 Ctrl+BS     set video-zoom 0; set video-pan-x 0; set video-pan-y 0 #menu: Pan & Scan > Reset

 Ctrl+1      add contrast -1        #menu: Video > Decrease Contrast
 Ctrl+2      add contrast  1        #menu: Video > Increase Contrast
 _           ignore                 #menu: Video > -
 Ctrl+3      add brightness -1      #menu: Video > Decrease Brightness
 Ctrl+4      add brightness  1      #menu: Video > Increase Brightness
 _           ignore                 #menu: Video > -
 Ctrl+5      add gamma -1           #menu: Video > Decrease Gamma
 Ctrl+6      add gamma  1           #menu: Video > Increase Gamma
 _           ignore                 #menu: Video > -
 Ctrl+7      add saturation -1      #menu: Video > Decrease Saturation
 Ctrl+8      add saturation  1      #menu: Video > Increase Saturation
 _           ignore                 #menu: Video > -
 Ctrl+s      async screenshot       #menu: Video > Take Screenshot
 d           cycle deinterlace      #menu: Video > Toggle Deinterlace
 a           cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1" #menu: Video > Cycle Aspect Ratio

 KP7         script-message mpv.net cycle-audio #menu: Audio > Cycle/Next
 _           ignore                 #menu: Audio > -
 KP6         add audio-delay  0.1   #menu: Audio > Delay +0.1
 KP9         add audio-delay -0.1   #menu: Audio > Delay -0.1

 KP8         cycle sub              #menu: Subtitle > Cycle/Next
 v           cycle sub-visibility   #menu: Subtitle > Toggle Visibility
 _           ignore                 #menu: Subtitle > -
 z           add sub-delay -0.1     #menu: Subtitle > Delay -0.1
 Z           add sub-delay  0.1     #menu: Subtitle > Delay +0.1
 _           ignore                 #menu: Subtitle > -
 r           add sub-pos -1         #menu: Subtitle > Move Up
 R           add sub-pos +1         #menu: Subtitle > Move Down
 _           ignore                 #menu: Subtitle > -
 _           add sub-scale -0.1     #menu: Subtitle > Decrease Subtitle Font Size
 _           add sub-scale  0.1     #menu: Subtitle > Increase Subtitle Font Size

 _           ignore                 #menu: Track

 +           add volume  10         #menu: Volume > Up
 -           add volume -10         #menu: Volume > Down
 _           ignore                 #menu: Volume > -
 m           cycle mute             #menu: Volume > Mute

 [           multiply speed 1/1.1   #menu: Speed > -10%
 ]           multiply speed 1.1     #menu: Speed > +10%
 _           ignore                 #menu: Speed > -
 {           multiply speed 0.5     #menu: Speed > Half
 }           multiply speed 2.0     #menu: Speed > Double
 _           ignore                 #menu: Speed > -
 BS          set speed 1            #menu: Speed > Reset

 KP0 script-message rate-file 0     #menu: Extensions > Rating > 0stars
 KP1 script-message rate-file 1     #menu: Extensions > Rating > 1stars
 KP2 script-message rate-file 2     #menu: Extensions > Rating > 2stars
 KP3 script-message rate-file 3     #menu: Extensions > Rating > 3stars
 KP4 script-message rate-file 4     #menu: Extensions > Rating > 4stars
 KP5 script-message rate-file 5     #menu: Extensions > Rating > 5stars
 _   ignore                         #menu: Extensions > Rating > -
 _   script-message rate-file about #menu: Extensions > Rating > About

 Ctrl+t  set ontop yes                               #menu: View > On Top > Enable
 Ctrl+T  set ontop no                                #menu: View > On Top > Disable
 Alt++   no-osd set window-scale 1.2                 #menu: View > Window Size > Enlarge
 Alt+-   no-osd set window-scale 0.8                 #menu: View > Window Size > Shrink
 b       cycle border                                #menu: View > Toggle Border
 i       script-message mpv.net show-info            #menu: View > File/Stream Info
 t       script-binding stats/display-stats          #menu: View > Show Statistics
 T       script-binding stats/display-stats-toggle   #menu: View > Toggle Statistics
 Del     script-binding osc/visibility               #menu: View > Toggle OSC Visibility
 F8      script-binding show-playlist                #menu: View > Show Playlist
 F9      show-text ${track-list} 5000                #menu: View > Show Tracks
 p       show-progress                               #menu: View > Show Progress
 Ctrl+p  script-message mpv.net show-profiles        #menu: View > Show Profiles
 Shift+p script-message mpv.net show-properties      #menu: View > Show Properties
 Shift+c script-message mpv.net show-commands        #menu: View > Show Commands
 _       script-message mpv.net show-keys            #menu: View > Show Keys
 `       script-binding console/enable               #menu: View > Show Console

 c       script-message mpv.net show-conf-editor     #menu: Settings > Show Config Editor
 Ctrl+i  script-message mpv.net show-input-editor    #menu: Settings > Show Input Editor
 Ctrl+f  script-message mpv.net open-conf-folder     #menu: Settings > Open Config Folder

 F1      script-message mpv.net show-command-palette #menu: Tools > Show All Commands
 h       script-message mpv.net show-history         #menu: Tools > Show History
 l       ab-loop                                     #menu: Tools > Set/clear A-B loop points
 L       cycle-values loop-file "inf" "no"           #menu: Tools > Toggle infinite file looping
 _       playlist-shuffle                            #menu: Tools > Shuffle Playlist
 Ctrl+h  cycle-values hwdec "auto" "no"              #menu: Tools > Toggle Hardware Decoding
 _ script-message mpv.net show-setup-dialog          #menu: Tools > Setup...

 _ script-message mpv.net shell-execute https://mpv.io                    #menu: Help > Website mpv
 _ script-message mpv.net shell-execute https://github.com/stax76/mpv.net #menu: Help > Website mpv.net
 _ ignore                                                                 #menu: Help > -
 _ script-message mpv.net shell-execute https://mpv.io/manual/stable/     #menu: Help > Manual mpv
 _ script-message mpv.net shell-execute https://github.com/stax76/mpv.net/blob/master/Manual.md #menu: Help > Manual mpv.net
 _ ignore                                                                 #menu: Help > -
 _ script-message mpv.net update-check                                    #menu: Help > Check for Updates
 _ script-message mpv.net show-about                                      #menu: Help > About mpv.net

 _ ignore           #menu: -
 Esc quit           #menu: Exit
 Q quit-watch-later #menu: Exit Watch Later

 Power        quit
 Play         cycle pause
 Pause        cycle pause
 PlayPause    cycle pause
 MBTN_Mid     cycle pause
 Stop         stop
 Forward      seek  60
 Rewind       seek -60
 Wheel_Up     add volume  10
 Wheel_Down   add volume -10
 Wheel_Left   add volume -10
 Wheel_Right  add volume  10
 Prev         playlist-prev
 Next         playlist-next
 MBTN_Forward playlist-next
 MBTN_Back    playlist-prev
 >            playlist-next
 <            playlist-prev
 Ctrl+Wheel_Up   no-osd seek  7
 Ctrl+Wheel_Down no-osd seek -7
 MBTN_Left_DBL   cycle fullscreen
 KP_Enter        cycle fullscreen
 