\chapter{Shortcuts}%
\label{cha:shortcuts}
+\index{shortcuts}
+
+In \CGGI{} a lot of shortcuts are defined for various operations.
+Although it is quite possible to do everything with the mouse, the extensive
+use of shortcuts can make the editing process much more convenient and
+efficient. However, with so large a variety of shortcuts it is not uncommon
+that some of them may interfere with assignments of the same shortcuts in
+the user's desktop environment, keyboard language switcher, etc. For
+example in KDE, the Alt-Tab and Shift-Alt-Tab shortcuts are commonly assigned to
+switch between different desktop applications, and if so, these keystrokes
+would not be available to \CGGI{}. Another example, in Arch linux KDE: the combination Alt+LMB does not translate the mask, but the entire Compositor window. To translate the mask we must use Ctrl+Alt+LMB.
+
+When having problems with some shortcut in \CGGI{}, it is recommended
+first to examine which set of shortcuts is assigned to the desktop
+environment and, if necessary, resolve the conflict. A special X11 application
+\texttt{xev} (or \texttt{xorg-xev}) can also help to test the keystrokes functionality (see \texttt{man xev}).
+Otherwise, \CGGI{} is completely desktop-neutral and has no
+requirements of some special window manager's support.
+
+Here the shortcuts are listed organized by window and type. Some specific alternatives are listed in~\ref{ssub:key_alternatives} in the "Key Alternatives" paragraph. Any reference to
+Alt or Ctrl always refers to the left one on the keyboard. In addition to this
+manual, you can view the shortcuts in html format via the \textit{shell cmds} icon
+on the top, right corner of the main program window. There is also a \textbf{hotkey
+Alt/h}, that can be used just about anywhere to get help on a specific window, menu,
+item, tooltip, button, and other elements (see \ref{sec:help_context_help}).
+
-Almost every \CGGI{} command has its own keyboard and mouse shortcuts. Here
-they are listed organized by window and type. If a desktop window manager and operating
-system is already using a specific key for its own purpose then that key will not be available
-for use as a shortcut in \CGG{}. An example might be the Alt key. Some specific alternatives
-are listed in~\ref{ssub:key_alternatives} in the "Key Alternatives" paragraph.
\section{Main window }%
\label{sec:main_window}
+\index{shortcuts!main window}
The Main window (also called the program window) consists of pulldown menus, buttons and keys.
\subsection*{Main menu pulldowns}% Without numbering.
\label{sub:main_menu_pulldowns}
+\index{shortcuts!main window pulldowns}
\renewcommand{\arraystretch}{1.15}% Increase line spacing slightly.
& Scan\dots & Ctrl-Alt-s & Open dvb scan window. \\
& SubTitle\dots & Alt-y & Open subtitle script window. \\
& Render\dots & Shift-R & Open render window. \\
- & Export EDL\dots & Shift-E & Open export EDL window. \\
+ & Export EDL\dots & Shift-E & Export to CMX3600 format. \\
& Batch Render\dots & Shift-B & Open batch render window. \\
& BD Render\dots & Ctrl-Shift-D & Open create bluray disk window. \\
& DVD Render\dots & Alt-D & Open create dvd disk window. \\
& Attach Effect\dots & & Open video effect selection for insert at edit boundary. \\
& Render Effect\dots & & Open video render select to render from select as pcm. \\
\midrule
- \textcolor{CinBlueText}{Tracks} & Move tracks up & Shift-Up & Circulate tracks up. \\
- & Move trks down & Shift-Down & Circulate tracks down. \\
+ \textcolor{CinBlueText}{Tracks} & Move tracks up & Shift-Up & Swap tracks up. \\
+ & Move trks down & Shift-Down & Swap tracks down. \\
+ & Roll tracks up & Ctrl-Shift-Up & Circulate tracks up. \\
+ & Roll trks down & Ctrl-Shift-Down & Circulate tracks down. \\
& Delete tracks & & Delete all tracks. \\
& Delete last track & Ctrl-d & Delete last track. \\
& Delete first track & Shift-D & Delete first track. \\
& -- Typeless keyfrs & & Toggle typeless keyframes mode. \\
& Save settings now & Ctrl-Shift-S & Save \CGG{}\_rc. \\
& Loop Playback & Shift-L & Set loop playback region to selection/all. \\
+ & Guide on timeline & Shift-L & Create a guide on timeline. \\
& Set bkg render & Shift-G & Toggle background rendering. \\
\midrule
\textcolor{CinBlueText}{View} & -- Show assets & 0 & Toggle show asset data. \\
& -- Split X pane & Ctrl-1 & Toggle $\frac{1}{2}$ horiz track timeline window panes. \\
& -- Split Y pane & Ctrl-2 & Toggle $\frac{1}{2}$ vert track timeline window panes. \\
& Mixer Viewer & Shift-M & Bring up a Mixer Viewer window. \\
- & Tile mixers & Alt-t & Tile mixer windows to original position/size. \\
+ & Drag Tile mixers & Alt-t & Create a drag box to be used to tile mixers. \\
& Default Positions & Ctrl-p & Reset window positions/size to defaults. \\
& Tile Left & & Set window positions/sizes to tile left screen. \\
& Tile Right & & Set window positions/size to tile right screen. \\
\subsection*{Main menu buttons}%
\label{sub:main_menu_buttons}
+\index{shortcuts!main window buttons}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
& Manual Goto & g & Jump to time selected by popup. \\
\midrule
\textcolor{CinBlueText}{Drag/Drop Edits} & Clear Select & Ctrl-Shift-A & Deselect all selected edits. \\
- & Select Edits & Ctrl-Alt-a & Add highlight to selected edits. \\
+ & Select Edits & Ctrl-Alt-' & Add highlight to selected edits. \\
+ & LMB & Alt + Drag & Drag select. \\
+ & LMB & Ctrl+Alt + Drag & Drag deselect. \\
& Copy & Ctrl-c & Copy selected edits into copy buffer. \\
& Cut & Ctrl-x & Delete selected edits/put in buffer/collapse. \\
& Mute & Ctrl-m & Delete selected edits/put in buffer/insert space. \\
\subsection*{Main menu Keys}%
\label{sub:main_menu_keys}
+\index{shortcuts!main window keys}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
& & Shift+click & Over edit causes highlight section to extend to cursor. \\
& & Shift+click & Over boundary of effect, trims only that effect. \\
& & Shift+click & Over Hard Edge of Blade Cut, toggles marker. \\
+ & & Shift+click & Between labels, highlights selection. \\
+ & & Shift+click & Over Automation Range values, changes value. \\
& Toggle single trk & Tab & Toggle single track arming status. \\
& Toggle other trks & Shift-tab & Toggle all of the other tracks arming status. \\
& & Double click & On plugin title bar, selects that area. \\
& U & & Paste the last Video transition. \\
& u & & Paste the last Audio transition. \\
& r & Ctrl & Proxy quick switch. \\
+ & & Ctrl +! & Assigns the timecode of the asset to the timebar. \\
& F1 & Shift & Toggle on/off all XYZ of camera. \\
& F2 & Shift & Toggle on/off all XYZ of projector. \\
& F1 & Ctrl+Shift & Use window layout \#1. \\
\end{longtable}
-\section{Compositor window}%
+\section{Compositor window shortcuts}%
\label{sec:compositor_window_shortcuts}
+\index{shortcuts!compositor window}
\subsection*{Compositor buttons}%
\label{ssec:compositor_buttons}
+\index{shortcuts!compositor buttons}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
\subsection*{Compositor keys }%
\label{ssec:compositor_keys}
+\index{shortcuts!compositor keys}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
\end{longtable}
-\section{Viewer window }%
+\section{Viewer window shortcuts }%
\label{sec:viewer_window_shortcuts}
+\index{shortcuts!viewer window}
\subsection*{Viewer buttons }%
\label{ssec:viewer_buttons}
+\index{shortcuts!viewer window buttons}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
\subsection*{Viewer Keys }%
\label{ssec:viewer_keys}
+\index{shortcuts!viewer keys}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
\section{Resources window Keys }%
\label{sec:resources_window_keys}
+\index{shortcuts!resources window}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
& F2 & Ctrl+Shift & Use window layout \#2. \\
& F3 & Ctrl+Shift & Use window layout \#3. \\
& F4 & Ctrl+Shift & Use window layout \#4. \\
+ & In Labels folder & Double click & On a Label, timeline cursor moves to label. \\
\bottomrule
\end{longtable}
\section{Other windows }%
\label{sec:other_windows}
+\index{shortcuts!other windows}
\subsection*{Other Buttons }%
\label{ssec:other_buttons}
+\index{shortcuts!other windows buttons}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
\subsection*{Other Keys }%
\label{ssec:other_keys}
+\index{shortcuts!other windows keys}
\begin{longtable}[h]{>{\bfseries}p{0.15\textwidth-2\tabcolsep}p{0.25\textwidth-2\tabcolsep}p{0.2\textwidth-2\tabcolsep}p{0.4\textwidth-2\tabcolsep}}
\toprule
\bottomrule
\end{longtable}
+\section{Alternative Shortcuts }%
+\label{sec:alternative_shortcuts}
+\index{shortcuts!alternative}
+
+The alternative shortcuts are changed from \CGGI{} default to what most other NLEs use as standard.
+For example:
+
+\texttt{J, K, L} (Play Normal Reverse, Stop, Play Normal Forward) and when pressed twice J and L will Play Fast and then if playing fast and pressed again, will go back to playing normal.
+
+\texttt{I, O} (set/unset InPoint, set/unset OutPoint)
+
+\texttt{A, S} (Jump backward next cut, Jump forward next cut)
+
+To use these alternative shortcuts you must use the appimage found \href{https://cinelerra-gg.org/download/images/CinGG-20230930-alternative_shortcuts.AppImage}{here} -- you may want to go up 1 directory level to get a more recent dated version -- or compile your own \CGG{} with the the patch and the instructions found here: \nameref{sub:notable_options_and_caveats}.
+
+These shortcuts will only display in the English version for the caption/hints and the
+included shortcuts.html file in the "Shell Cmds" of the program does not include them.
+The texts in the menu and the captions of the icons,
+written with the '-' character between the Special key and the key in the default set, for
+example \texttt{Shift-s}, have been replaced by the '+' character. And the
+letters are always in capital letters although \textit{Shift} is not pressed. This notation is
+more consistent in what many, if not all, the other NLE programs use. Some of the original default shortcuts like
+\texttt{BD Render... (Ctrl+Shift+d)} and \texttt{DVD Render... (Alt+d)} have been deleted
+because they are not used frequently. If a shortcut in the After column as shown in the following table has a '+' symbol (for example: \texttt{+ 'I'}),
+it means that it is an additional shortcut added to the old shortcut/s in the Before column
+and also that that shortcut was confiscated from a default \CGGI{} shortcut where it had a different function.
+
+These shortcuts are very useful because the keys more frequently used have
+priority in editing, and are easy to use with the left hand on the keyboard and the right hand on the mouse.
+
+\begin{longtable}[h] {|p{6.4cm}|p{3.3cm}|p{3.3cm}|}
+ \toprule
+ \multicolumn{3}{|c|} {\textcolor{CinRed}{\textbf{Alternative Shortcuts}}} \\
+ \midrule
+ \textbf{Description} & \textbf{Before} & \textbf{After} \\
+ \midrule
+%begin{latexonly}
+ \endhead
+%end{latexonly}
+
+ To clip & 'i' & Ctrl+I \\
+ \hline
+ Scroll window timeline... left & LeftArrow, ',' & LeftArrow \\
+ \hline
+ Scroll window timeline... right & RightArrow, '.' & RightArrow \\
+ \hline
+ Label & 'l', ',' & ''' (single quote) \\
+ \hline
+ Go To & 'g' & Ctrl+G \\
+ \hline
+ Generate keyframes... tweeking & 'j' & 'G' \\
+ \hline
+ Jump forward... next Keyframe & 'k' & Shift+Right Arrow \\
+ \hline
+ Jump backward... next Keyframe & Shift+K & Shift+Left Arrow \\
+ \hline
+ New Project... & 'n' & Ctrl+N \\
+ \hline
+ Load files... &'o' & Ctrl+O \\
+ \hline
+ Save &'s' & Ctrl+S \\
+ \hline
+ Save as... & Shift+s & Ctrl+Shift+S \\
+ \hline
+ Save Session & Ctrl+S & no shortcut \\
+ \hline
+ Select All & 'a'& Ctrl+A \\
+ \hline
+ Deselect All & 'a' or cursor move & Ctrl+A, Ctrl+Shift+A \\
+ \hline
+ Select Edits & Ctrl+Alt+' & Ctrl+Alt+A \\
+ \hline
+ Undo & 'z', Ctrl+Z & Ctrl+Z \\
+ \hline
+ Redo & Shift+Z & Shift+Z \\
+ \hline
+ InPoint & '[', '<' & + 'I' \\
+ \hline
+ OutPoint & ']', '>' & + 'O' \\
+ \hline
+ Play Normal reverse & NumKP 6, Alt+O & + 'J' Normal\&Fast \\
+ \hline
+ Play Stop & NumKP 0, Alt+M & + 'K' \\
+ \hline
+ Play Normal forward & NumKP 3, Alt+L & + 'L' Normal\&Fast \\
+ \hline
+ One Frame back & NumKP 4, Alt+U & + ',' (comma) \\
+ \hline
+ One Frame forward & NumKP 1, Alt+J & + '.' (period) \\
+ \hline
+ Jump backward to the next cut & Alt+Left Arrow & + 'A' \\
+ \hline
+ Jump forward to the next cut & Alt+Right Arrow & + 'S' \\
+ \hline
+ Load window: Select All files & Ctrl+A & Ctrl+A \\
+ \hline
+ Load window: Deselect All files & Ctrl+Z & Ctrl+Shift+A \\
+ \hline
+ BD Render... & Ctrl+Shift+d & no shortcut \\
+ \hline
+ DVD Render... & Alt+d & no shortcut \\
+ \hline
+ Delete last track & 'd' & Ctrl+D \\
+ \hline
+ Quit & 'q' & Ctrl+Q \\
+ \hline
+ Settings $\rightarrow$ Save settings now & Ctrl+Shift+S & Shift+S \\
+ \hline
+ Settings $\rightarrow$ Align cursor on frames & Ctrl+A & Ctrl+F \\
+
+ \hline
+\end{longtable}
+
+A common practice in video editing is the ability to jump from one part of the timeline to another: jumping from one \textit{cut} to another or from one \textit{label} to another or even from one \textit{keyframe} to another. Using shortcuts in these cases is even more advantageous. In the next table we summarize these alternative shortcuts of the main jumps.
+
+\begin{longtable}[h] {|p{7cm}|p{6.5cm}|}
+ \toprule
+ \multicolumn{2}{|c|} {\textcolor{CinRed}{\textbf{Alternatives - Some jumps backward and forward}}} \\
+ \midrule
+%begin{latexonly}
+ \endhead
+%end{latexonly}
+
+ Jump backward to the next cut & Alt+Left Arrow, 'A' \\
+ \hline
+ Jump forward to the next cut & Alt+RightArrow, 'S' \\
+ \hline
+ Jump backward to the next label & Ctrl+Left Arrow \\
+ \hline
+ Jump selecting forward label & Ctrl+Shift+Right Arrow \\
+ \hline
+ Jump selecting backward label & Ctrl+Shift+Left Arrow \\
+ \hline
+ Jump forward to the next label & Ctrl+Right Arrow \\
+ \hline
+ Jump backward... next Keyframes & Shift+Left Arrow \\
+ \hline
+ Jump forward... next Keyframes & Shift+Right Arrow \\
+ \hline
+ Jump backward to the next Auto & Ctrl+Shift+Alt+Left Arrow (only works on UbuntuStudio) \\
+ \hline
+ Jump forward to the next Auto & Ctrl+Shift+Alt+Right Arrow (only works on UbuntuStudio) \\
+
+ \hline
+\end{longtable}