%? pdflatex map.tex
% $Id$
% Melchior FRANZ <mfranz@aon.at>
%
\documentclass[draft]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage[margin=2cm]{geometry}
\usepackage{color}

\newcommand\cvsid{${}$Id${}$}
\pagestyle{empty}
\setlength\parskip{0pt}
\setlength\parindent{0pt}

\definecolor{darkcyan}{rgb}{0,.5,.5}
\definecolor{darkred}{rgb}{.5,0,0}
\definecolor{darkblue}{rgb}{0,0,.5}

\renewcommand*\title[1]{%
	\begin{center}%
		\normalfont\huge #1
	\end{center}%
	\vspace{6ex}%
}

\newenvironment{keyboard}{%
	\list{}{%
		\setlength\labelwidth{9em}%
		\setlength\itemsep{0pt}%
		\setlength\parsep{0pt}%
		\setlength\topsep{0pt}%
		\leftmargin\labelwidth
		\advance\leftmargin\labelsep
		\def\makelabel##1{##1\hfil}%
		\raggedright
	}%
}{%
	\endlist
}

\def\k {%
	\bgroup
	\catcode`\^^M=13
	\key
}

\bgroup
\catcode`\^^M=13%
\gdef\key #1 #2 #3^^M{%
	\item[\hbox to6em{\hfil#2\hfil}\hbox to3em{\hfil(#1)~}]%
	\if$#3$~\else#3\fi%
	\egroup%
}%
\egroup

\newcommand\footline{{%
	\par
	\vfill
	\begin{small}%
		\color{darkcyan}%
		\texttt{\$\cvsid\$}%
		\hfill
		\count0\time
		\divide\time60
		\count1\time
		\multiply\time60
		\advance\count0-\time
		generated~on~%
		\the\year/\the\month/\the\day,~%
		\the\count1:\ifnum\count0<10 0\fi\the\count0
	\end{small}%
}}

\renewcommand\|{$\backslash$}
\newcommand\tld{\char`\~}
\newcommand\ac[1]{\textcolor{darkcyan}{\textbf{\textsf{#1:}}}\nobreak}
\newcommand\hardcoded[1]{\textcolor{red}{hard-coded: #1}}
\newcommand\shift[1]{\if$#1$\else\hfill\break\textcolor{darkblue}{SHIFT: #1}\fi}
\newcommand\local[1]{\textcolor{darkred}{local: #1}}



\begin{document}
\title{FlightGear Keyboard Bindings}

\begin{keyboard}
\k 1	Ctrl-A		Toggle autopilot altitude lock
\k 2	Ctrl-B		Toggle speedbrake; \ac{hunter} Toggle speedbrake; \ac{p51d} Toggle engine boost
\k 3	Ctrl-C		Toggle clickable panel hotspots
\k 4	Ctrl-D		{}
\k 5	Ctrl-E		{}
\k 6	Ctrl-F		\ac{hunter} Emergency flap lowering
\k 7	Ctrl-G		Toggle autopilot glide slope lock
\k 8	Ctrl-H		Toggle autopilot heading lock
\k 9	Ctrl-I/Tab	Show instrument setting dialog
\k 10	Ctrl-J		\ac{hunter} Jettison inner and outer pylon stores
\k 11	Ctrl-K		{}
\k 12	Ctrl-L		\ac{hunter} Seat default
\k 13	Ctrl-M/Enter	Move rudder right
\k 14	Ctrl-N		Toggle autopilot nav1 lock
\k 15	Ctrl-O		{}
\k 16	Ctrl-P		Toggle pitch hold
\k 17	Ctrl-Q		{}
\k 18	Ctrl-R		Show radio dialog
\k 19	Ctrl-S		Toggle auto-throttle lock
\k 20	Ctrl-T		Toggle autopilot terrain lock
\k 21	Ctrl-U		[Cheat] Add 1000\,ft of emergency altitude
\k 22	Ctrl-V		Select initial view (view 0)
\k 23	Ctrl-W		Toggle autopilot wing leveler
\k 24	Ctrl-X		Reset zoom to default
\k 25	Ctrl-Y		{}
\k 26	Ctrl-Z		{}
\k 27	Esc		Prompt and quit FlightGear	\shift{Reset}
\k 28	Ctrl-4/Ctrl-\|	{}
\k 29	Ctrl-5/Ctrl-]	{}
\k 30	Ctrl-6		{}
\k 31	Ctrl-7/Ctrl-/	{}
\k 32	Space		Fire starter on selected engine(s)
\k 33	!		Select first engine
\k 34	"		{}
\k 35	\#		Select third engine
\k 36	\$		Select fourth engine
\k 37	\%		{}
\k 38	\&		{}
\k 39	'~(Apostrophe)	Display a dialog relevant to the tuned in ATC service (if any)
\k 40	(		{}
\k 41	)		{}
\k 42	*		{}
\k 43	+		{}
\k 44	,~(Comma)	Left brake
\k 45	-~(Minus)	{}
\k 46	.~(Period)	Right brake
\k 47	/		{}
\k 48	0		Move rudder left
\k 49	1		Decrease elevator trim
\k 50	2		Increase elevator or autopilot altitude
\k 51	3		Decrease throttle or autopilot autothrottle
\k 52	4		Move aileron left (or adjust AP heading)
\k 53	5		Center aileron, elevator, and rudder
\k 54	6		Move aileron right (or adjust AP heading)
\k 55	7		Increase elevator trim
\k 56	8		Decrease elevator or autopilot altitude
\k 57	9		Increase throttle or autopilot autothrottle
\k 58	:~(Colon)	{}
\k 59	;~(Semicolon)	{}
\k 60	<		\ac{c182|c310|pa28-161} Rudder trim left
\k 61	=		{}
\k 62	>		\ac{c182|c310|pa28-161} Rudder trim right
\k 63	?		{}
\k 64	@		Select second engine
\k 65	A		Decrease speed-up
\k 66	B		Toggle parking brake on or off
\k 67	C		\ac{bo105} toggle rear door
\k 68	D		{}
\k 69	E		{}
\k 70	F		\ac{hunter} Wing fold down
\k 71	G		Gear down
\k 72	H		\hardcoded{Cycle HUD brightness}; \ac{hunter} Hook down
\k 73	I		\hardcoded{Alternative HUD}
\k 74	J		\ac{hunter} Jettison outer pylon stores
\k 75	K		{}
\k 76	L		\ac{hunter} Seat down
\k 77	M		Decrease warp
\k 78	N		{}
\k 79	O		{}
\k 80	P		Toggle panel; \ac{T38} Fuel cutoff switch or lever
\k 81	Q		{}
\k 82	R		\ac{fokker100} Toggle thrust reverser; \ac{A320} Toggle cutoff on selected engine(s)
\k 83	S		\ac{A320} Fire starter on selected engine(s)
\k 84	T		Decrease warp delta
\k 85	U		{}
\k 86	V		Scroll in reverse through views
\k 87	W		(Temporary) Toggle fullscreen for 3DFX only
\k 88	X		Increase field of view
\k 89	Y		{}
\k 90	Z		Decrease Visibility
\k 91	[		Decrease flaps; \ac{737|A320|hunter} Decrease flaps; \ac{ComperSwift} Adjust view left; \ac{an225|b52} --
\k 92	\|		{}
\k 93	]		Increase flaps; \ac{737|A320|hunter} Increase flaps; \ac{ComperSwift} Adjust view right; \ac{an225|b52} --
\k 94	\^		{}
\k 95	\_~(Underscore)	{}
\k 96	`{}~(Backtick)	{}
\k 97	a		Increase speed-up
\k 98	b		Apply all brakes; \ac{b52} Apply all brakes
\k 99	c		Toggle 3D/2D cockpit
\k 100	d		\ac{an225|yf23} Retract slats
\k 101	e		{}
\k 102	f		\ac{an225|yf23} Extend slats; \ac{hunter} Wing fold up
\k 103	g		Gear Up
\k 104	h		\hardcoded{Cycle HUD: green/red/off}; \ac{hunter} Hook up
\k 105	i		\hardcoded{Normal HUD}
\k 106	j		Decrease spoilers; \ac{hunter} Jettison inner pylon stores
\k 107	k		Increase spoilers; \ac{hunter} Null
\k 108	l		Toggle tail-wheel lock; \ac{hunter} Seat up
\k 109	m		Increase warp
\k 110	n		{}
\k 111	o		{}
\k 112	p		Toggle the pause state of the sim
\k 113	q		{}
\k 114	r		Activate the instant replay system
\k 115	s		Swap panels
\k 116	t		Increase warp delta
\k 117	u		{}
\k 118	v		Cycle view
\k 119	w		{}
\k 120	x		Decrease field of view
\k 121	y		{}
\k 122	z		Increase Visibility
\k 123	\{		Decrease magneto on selected engine
\k 124	|		{}
\k 125	\}		Increase magneto on selected engine
\k 126	{\tld}		Select all engines
\k 127	Ctrl-8		{}
\k 257	F1		Load flight					\shift{}
\k 258	F2		Force tile cache reload				\shift{Save flight}
\k 259	F3		Capture screen					\shift{Load panel}
\k 260	F4		Force lighting update				\shift{Reload global preferences}
\k 261	F5								\shift{Scroll panel down}
\k 262	F6		\hardcoded{Toggles autopilot target location}	\shift{Scroll panel up}
\k 263	F7 								\shift{Scroll panel left}
\k 264	F8 		Cycle fog type					\shift{Scroll panel right}
\k 265	F9 		Toggle textures					\shift{}
\k 266	F10 		Toggle menubar					\shift{Toggle FDM data logging}
\k 267	F11 		Pop up autopilot dialog
\k 268	F12		{}
\k 269	Enter		Move rudder right
\k 309	Keypad~5	Center aileron, elevator, and rudder
\k 356	Left		Move aileron left (or adjust AP heading)
\k 357	Up		Increase elevator or autopilot altitude
\k 358	Right		Move aileron right (or adjust AP heading)
\k 359	Down		Decrease elevator or autopilot altitude
\k 360	PageUp		Increase throttle or autopilot autothrottle
\k 361	PageDown	Decrease throttle or autopilot autothrottle
\k 362	Home		Increase elevator trim
\k 363	End		Decrease elevator trim
\k 364	Insert		Move rudder left
\end{keyboard}

\rule{\textwidth}{.4pt}
\begin{small}
``Hard-coded'' key bindings are defined in \texttt{src/Input/input.cxx}.
\end{small}

\footline
\end{document}