// This is a file that lists all the keys that Subtitle Workshop will use.
// This file is not required to run the program since the default
// shortcuts are also "hardcoded" in it. You may modify the key shortcuts
// listed here to adjust Subtitle Workshop to what you most like, in order
// to increase your performance.
//
// In order to set a key shortcut you have to call SetKey() "function", the
// parameters are
// 	SetKey(Action,Modifier,Key) // Do NOT set a space after each comma!
//
// 1. Action
//    The action is fundamental and represents exactly FOR WHAT the shortcut is.
//    All the actions are listed below.
//
// 2. Modifier
//    It may be: - "Ctrl" or
//               - "Alt" or
//               - "Shift" or
//               - "None"
//    You may also use combinations, eg. "Shift+Ctrl", "Alt+Shift",
//    "Ctrl+Alt+Shift", but "None" has to be used alone. If you specify an
//    invalid modifier, Subtitle Workshop will interpret it as "None".
//
// 3. Key
//    It may be "A...Z", or any of this: F1..F9, BkSp, Tab, Esc, Enter, Space, PgUp,
//    PgDn, End, Home, Left, Up, Right, Down, Ins, Del.
//    If you use a key different to "A...Z" then type it correctly or it will be
//    considered as wrong. It is NOT case sensitive.
//
//   |-----------------------------------|
//   |Action			Function |
//   |-----------------------------------|
//   //------------------------------------//
//   //    Actions that are not in a menu  //
//   //------------------------------------//
//   aJumpToNextLine		Jumps to the next line, after the selected subtitle in the list
//   aJumpToPrevLine		Jumps to the previous line, before the selected subtitle in the list
//   aJumpToNextSub		Jumps to the next subtitle (video preview)
//   aJumpToPrevSub		Jumps to the previous subtitle (video preview)
//   aDefaultSlowMotion		Shortcut for default slow motion, will appear in Movie/Playback menu
//   aSubDblClick		Simulates double click in a subtitle with keyboard
//   aZeroFunction		Sets a delay to the selected subtitles so that the first one initial time is zero, and the others are delayed the same time as the initial time of the first subtitle was
//   aPascalScript1		Pascal script 1
//   aPascalScript2		Pascal script 2
//   aPascalScript3		Pascal script 3
//   aPascalScript4		Pascal script 4
//   aPascalScript5		Pascal script 5
//   aPascalScript6		Pascal script 6
//   aPascalScript7		Pascal script 7
//   aPascalScript8		Pascal script 8
//   aPascalScript9		Pascal script 9
//   aPascalScript10		Pascal script 10
//   aPascalScript11		Pascal script 11
//   aPascalScript12		Pascal script 12
//   aPascalScript13		Pascal script 13
//   aPascalScript14		Pascal script 14
//   aPascalScript15		Pascal script 15
//   aPascalScript16		Pascal script 16
//   aPascalScript17		Pascal script 17
//   aPascalScript18		Pascal script 18
//   aPascalScript19		Pascal script 19
//   aPascalScript20		Pascal script 20
//
//   //-----------------//
//   //    File menu    //
//   //-----------------//
//   aNewSub			Creates a new subtitle file
//   aLoad			Displays the open dialog to load a new subtitle file
//   aLoadOrg         		Loads original file (translator mode)
//   aLoadTrans			Loads translated file (translator mode)
//   aLoadProj			Loads project (translator mode)
//   aSave			Saves a subtitle file
//   aSaveAs			Displays the dialog to "Save as"
//   aSaveOrg			Saves original file
//   aSaveOrgAs			Displays the dialog to "Save as" the original file
//   aSaveTrans			Saves translated file
//   aSaveTransAs		Displays the dialog to "Save as" the translated file
//   aSaveProj			Loads project (translator mode)
//   aCloseSub			Closes the currently loaded subtitle file
//   aExit			Exits Subtitle Workshop
//
//   //-----------------//
//   //    Edit menu    //
//   //-----------------//
//   aUndo			Undo
//   aRedo			Redo
//   aInsertSub			Inserts a subtitle after the selected one
//   aInsertBefore		Inserts a subtitle before the selected one
//   aCut			Cuts the selected subtitles
//   aCopy			Copys the selected subtitles
//   aPaste			Pastes copied subtitles into the list
//   aSelectAll			Selects all the subtitles
//   // Edit/Timings
//   aDurationLimits		Opens the "Duration limits" dialog
//   aSetDelay			Opens the "Set delay" dialog
//   aAdjustSubtitles		Opens the "Adjust subtitles" dialog
//   aAdjustToSyncSubs		Displays the open dialog in order to load subtitle file with correct timings
//   aTimeExpanderReducer	Opens the "Time expander/reducer" dialog
//   aExtendLength		Extends the length of the selected subtitle(s) to the start time of the next one
//   aAutomaticDurations	Opens the "Automatic durations" dialog
//   aReadTimingsFromFile	Displays the open dialog in order to load the timings from a subtitle file
//   aShiftMoreMS		Shift selected subtitles X milliseconds forward
//   aShiftLessMS		Shift selected subtitles X milliseconds backwards
//   // Edit/Texts
//   aSmartLineAdjust		Applies "Smart line adjust" over the selected subtitles
//   aConvertCase		Opens the "Convert case" dialog
//   aUnbreakSubs		Makes the selected subtitles to be in one line
//   aDivideLines		Opens the "Divide lines" dialog
//   aFastDivideLines		Uses "fast divide lines", with automatic duration
//   aSetMaxLineLength		Applies maximum line length over the selected subtitles
//   aReadTextsFromFile		Displays the open dialog in order to load the texts from a subtitle file
//   // Edit/Subtitles
//   aCombineSubs		Combines all the selected subtitles into one
//   aTypeEffect		Type effect
//   aFastFlash			Fast flash effect
//   aMediumFlash		Medium flash effect
//   aSlowFlash			Slow flash effect
//   aReverseText		Reverses the text of the selected subtitles, useful for right-to-left languages
//   aFixPunctuation		Fixes the punctuation of the selected subtitles, for right-to-left languages
//   aSort			Sorts the subtitles according to their start time
//   aDelUnnLinks		Deletes "unnecessary links" in the selected subtitles
//   aMarkSelSubs		Marks selected subtitles
//   aUnmarkSelSubs		Unmarks selected subtitles
//   aTranslatorMode		Sets translator mode
//   aSwap			Swaps between original/translated (translator mode)
//
//   //-----------------//
//   //   Search menu   //
//   //-----------------//
//   aSearch			Opens the "Search" dialog to search for text
//   aFindNext			Finds next instance of search text
//   aSearchAndReplace		Opens the "Search & Replace" dialog to replace text
//   aGoToLineNum		Scrolls the list to the specified line number
//
//   //------------------------//
//   // Information and errors //
//   //------------------------//
//   aSpellCheck		Spell check using Microsoft Word's engine
//   aBatchConvert		Opens the "Batch convert" dialog
//   aSplitSubtitle		Opens the "Split subtitle" dialog
//   aJoinSubtitles		Opens the "Join subtitle" dialog
//   // Information and errors
//   aInfoErrors		Opens the "Information and errors" dialog
//   aVariousInfo		Opens the "Various information" dialog
//   aInfoErrorsSettings	Opens the "Information and errors Settings" dialog
//   aRecheckErrors		Checks for errors again from main form
//   aFixAllErrors		Fixes all the error in the subtitle file
//   aFixErrorsSelSubs		Fixes errors only in the selected subtitles
//   aJumpToNextError		Scrolls the list to the next subtitle with error
//   // ----------------------
//   aAddFPSFromAVI		Adds a FPS from AVI to the FPS list
//   aExternalPreview		Preview the movie in your favourite movie player
//   aSAMILangExtractor		Opens the "SAMI Language Extractor" dialog, to extract one or more languages from multilingual SAMIs
//
//   //------------//
//   // Movie menu //
//   //------------//
//   aLoadMovie			Loads a movie (and sets Video preview mode if not set before)
//   aCloseMovie		Closes the currently loaded movie
//   aMovieInfo			Shows information about the movie
//   aSetVideoPreviewMode	Sets video preview mode
//   // Playback
//   aPlayPause			Play/Pause video
//   aStop			Stops video
//   aRewind			Rewinds configured time
//   aForward			Forwards configured time
//   aBack5Sec			Go backwards 5 seconds
//   aFwd5Sec			Go forwards 5 seconds
//   // Subtitles
//   aMoveSubtitle		Moves selected subtitle without modifying it's duration
//   aSetStartTime		Sets start time of selected subtitle to playback time
//   aSetFinalTime		Sets final time of selected subtitle to playback time
//   aStartSubtitle		Starts a subtitle with an initial time equal to playback time
//   aEndSubtitle		Ends a subtitle with the final time equal to playback time, and add it
//   // Synchronization
//   aFirstSyncPoint		Marks first sync point
//   aLastSyncPoint		Marks last sync point
//   aAddSyncPoint		Adds subtitle/video synchronization point
//   // Display
//   aDisplayOriginal		Display original (translator mode)
//   aDisplayTranslation	Display translated (translator mode)
//
//   // ------------- //
//   // Settings menu //
//   // ------------- //
//   aSettings			Opens the "Settings" dialog, for you to configure Subtitle Workshop
//   aOutputSettings		Opens the "Output settings" dialog
//   aShowLeftPanel		Show/Hide left panel
//   aShowTimeControls		Show/Hide time controls ("Show", "Hide", "Duration")
//
//   // --------- //
//   // Help menu //
//   // --------- //
//   aHelp			Displays the help file
//   aAbout			Displays the credits
//   aCheckForNewVer		Checks for new version in the internet

//------------------------------------//
//    Actions that are not in a menu  //
//------------------------------------//
SetKey(aJumpToNextLine,Shift,Enter)
SetKey(aJumpToPrevLine,Ctrl,Enter)

// This two shortcuts do not have defaults, configure them yourself
// SetKey(aJumpToNextSub,,)
// SetKey(aJumpToPrevSub,,)

SetKey(aDefaultSlowMotion,Ctrl,Tab)
SetKey(aSubDblClick,Alt,Enter)
SetKey(aZeroFunction,Alt+Ctrl,Z)

// --------- //
// File menu //
// --------- //
SetKey(aNewSub,Ctrl,N)
SetKey(aLoad,Ctrl,O)
SetKey(aLoadOrg,Ctrl,O)
SetKey(aLoadTrans,Shift+Ctrl,O)
SetKey(aLoadProj,Alt,P)
SetKey(aSave,Ctrl,S)
SetKey(aSaveAs,Shift+Ctrl,S)
SetKey(aSaveOrg,Ctrl,S)
SetKey(aSaveOrgAs,Shift+Alt,O)
SetKey(aSaveTrans,Shift+Ctrl,S)
SetKey(aSaveTransAs,Shift+Alt,T)
SetKey(aSaveProj,Shift+Alt,P)
SetKey(aCloseSub,Ctrl,W)
SetKey(aExit,Alt,F4)

// --------- //
// Edit menu //
// --------- //
SetKey(aUndo,Ctrl,Z)
SetKey(aRedo,Shift+Ctrl,Z)
SetKey(aInsertSub,None,Ins)
SetKey(aInsertBefore,Shift,Ins)
SetKey(aCut,Ctrl,X)
SetKey(aCopy,Ctrl,C)
SetKey(aPaste,Ctrl,V)
SetKey(aSelectAll,Ctrl,A)
// Edit/Timings
SetKey(aDurationLimits,Ctrl,L)
SetKey(aSetDelay,Ctrl,D)
SetKey(aAdjustSubtitles,Ctrl,B)
SetKey(aAdjustToSyncSubs,Shift+Ctrl,B)
SetKey(aTimeExpanderReducer,Shift+Ctrl,Y)
SetKey(aExtendLength,Shift+Ctrl,E)
SetKey(aAutomaticDurations,Shift+Ctrl,R)
SetKey(aReadTimingsFromFile,Shift+Ctrl,T)
SetKey(aShiftMoreMS,Shift+Ctrl,H)
SetKey(aShiftLessMS,Shift+Ctrl,N)
// Edit/Texts
SetKey(aSmartLineAdjust,Ctrl,E)
SetKey(aConvertCase,Shift+Ctrl,C)
SetKey(aUnbreakSubs,Shift+Ctrl,U)
SetKey(aDivideLines,Shift+Ctrl,D)
SetKey(aFastDivideLines,Shift+Ctrl,V)
SetKey(aSetMaxLineLength,Shift+Ctrl,L)
SetKey(aReadTextsFromFile,Shift+Ctrl,X)
// Edit/Subtitles
SetKey(aCombineSubs,Ctrl,K)
// Effects
SetKey(aTypeEffect,Shift+Alt,T)
SetKey(aFastFlash,Shift+Alt,1)
SetKey(aMediumFlash,Shift+Alt,2)
SetKey(aSlowFlash,Shift+Alt,3)
// Right-to-Left
SetKey(aReverseText,Ctrl,H)
SetKey(aFixPunctuation,Shift+Ctrl,F)
// -------------
SetKey(aSort,Ctrl,Y)
SetKey(aDelUnnLinks,Shift+Ctrl,G)
SetKey(aMarkSelSubs,Shift+Ctrl,M)
SetKey(aUnmarkSelSubs,Shift+Ctrl,A)
SetKey(aTranslatorMode,Ctrl,U)
SetKey(aSwap,Shift+Ctrl,W)

// ----------- //
// Search menu //
// ----------- //
SetKey(aSearch,Ctrl,F)
SetKey(aFindNext,None,F3)
SetKey(aSearchAndReplace,Ctrl,R)
SetKey(aGoToLineNum,Ctrl,G)

// ---------- //
// Tools menu //
// ---------- //
SetKey(aSpellCheck,None,F7)
SetKey(aBatchConvert,Ctrl,M)
SetKey(aSplitSubtitle,Alt,T)
SetKey(aJoinSubtitles,Ctrl,J)
// Information and errors
SetKey(aInfoErrors,Ctrl,I)
SetKey(aVariousInfo,Shift+Ctrl,I)
SetKey(aInfoErrorsSettings,Alt,I)
SetKey(aRecheckErrors,None,F9)
SetKey(aFixAllErrors,None,F10)
SetKey(aFixErrorsSelSubs,None,F11)
SetKey(aJumpToNextError,None,F12)
// -------------
SetKey(aAddFPSFromAVI,None,None)
SetKey(aExternalPreview,None,F8)
SetKey(aSAMILangExtractor,None,None)
SetKey(aPascalScript1,Shift+Ctrl,1)
SetKey(aPascalScript2,Shift+Ctrl,2)
SetKey(aPascalScript3,Shift+Ctrl,3)
SetKey(aPascalScript4,Shift+Ctrl,4)
SetKey(aPascalScript5,Shift+Ctrl,5)
SetKey(aPascalScript6,Shift+Ctrl,6)
SetKey(aPascalScript7,Shift+Ctrl,7)
SetKey(aPascalScript8,Shift+Ctrl,8)
SetKey(aPascalScript9,Shift+Ctrl,9)
SetKey(aPascalScript10,Shift+Ctrl,0)
//SetKey(aPascalScript11,Shift+Ctrl,?)
//SetKey(aPascalScript12,Shift+Ctrl,?)
//SetKey(aPascalScript13,Shift+Ctrl,?)
//SetKey(aPascalScript14,Shift+Ctrl,?)
//SetKey(aPascalScript15,Shift+Ctrl,?)
//SetKey(aPascalScript16,Shift+Ctrl,?)
//SetKey(aPascalScript17,Shift+Ctrl,?)
//SetKey(aPascalScript18,Shift+Ctrl,?)
//SetKey(aPascalScript19,Shift+Ctrl,?)
//SetKey(aPascalScript20,Shift+Ctrl,?)

// ---------- //
// Movie menu //
// ---------- //
SetKey(aLoadMovie,Ctrl,P)
SetKey(aCloseMovie,Shift+Ctrl,P)
SetKey(aMovieInfo,None,None)
SetKey(aSetVideoPreviewMode,Ctrl,Q)
// Playback
SetKey(aPlayPause,Ctrl,Space)
SetKey(aStop,Ctrl,BkSp)
SetKey(aRewind,Alt,Left)
SetKey(aForward,Alt,Right)
SetKey(aBack5Sec,Ctrl,Left)
SetKey(aFwd5Sec,Ctrl,Right)
// Subtitles
SetKey(aMoveSubtitle,Alt,M)
SetKey(aSetStartTime,Alt,C)
SetKey(aSetFinalTime,Alt,V)
SetKey(aStartSubtitle,Alt,Z)
SetKey(aEndSubtitle,Alt,X)
// Synchronization
SetKey(aFirstSyncPoint,Alt,1)
SetKey(aLastSyncPoint,Alt,2)
SetKey(aAddSyncPoint,Ctrl+Alt,P)
// Display
SetKey(aDisplayOriginal,None,None)
SetKey(aDisplayTranslation,None,None)

// ------------- //
// Settings menu //
// ------------- //
SetKey(aSettings,Alt,S)
SetKey(aOutputSettings,Shift+Alt,L)
SetKey(aShowLeftPanel,None,F4)
SetKey(aShowTimeControls,None,F5)

// --------- //
// Help menu //
// --------- //
SetKey(aHelp,None,F1)
SetKey(aAbout,None,None)
SetKey(aCheckForNewVer,None,None)