use utf8;
{

key => {
	'+<' => ["history start"],
	'+>' => ["history end"],
	'+?' => ["list complet$sign{_}ion$sign{_}s"],
	'^@' => ["set mark"],

	'+#' => ["prefix comm$sign{_}en$sign{_}t"],
	'+&' => ["tilde expand"],
	'+*' => ["complet$sign{_}e all"],
	'+.' => ["insert last"],

	'^[' => ["meta"],
	'+\\'=> ["delete whitesp$sign{_}ace"],
	'^]' => ["find char"],
	'^+]'=> ["rev find char"],
	'^_' => ["undo"],

	'+~' => ["user$sign{_}name exp$sign{_}and"],
	'+!' => ["cmd expand"],
	'+@' => ["host$sign{_}name exp$sign{_}and"],
	'+$' => ["variable expand"],
	'+^' => ["history expand"],
	'+/' => ["filename expand"],

	'^a' => ["begin of line"],
	'^b' => ["char back$sign{_}w$sign{_}ard$sign{_}s"],
	'+b' => ["word back$sign{_}w$sign{_}ard$sign{_}s"],
	'^c' => ["cancel comm$sign{_}and"],
	'+c' => ["capital$sign{_}ise word"],
	'^d' => ["delete char"],
	'+d' => ["delete word rem$sign{_}ain$sign{_}der"],
#	'^e' => ["emacs mode"],
	'^e' => ["end of line"],
	'^f' => ["char forward"],
	'+f' => ["word forward"],
	'^g' => ["abort cmd, bell"],
	'^h' => ["back$sign{_}space"],
	'^+h'=> ["delete bound word"],
	'^i' => ["auto$sign{_}complet$sign{_}e", '(tab)'],
	'^+j'=> ["vim mode"],
	'^k' => ["delete till eol"],
	'^l' => ["clear screen"],
	'+l' => ["lowcase word"],
	'^m' => ["enter line", '(enter)'],
	'^n' => ["history next"],
	'+n' => ["match history"],
	'^o' => ["enter and next"],
	'^p' => ["history back"],
	'+p' => ["rev match history"],
	'^q' => [undef, 'Quote'],
	'^r' => ["reverse history"],
	'+r' => ["full undo", 'Revert'],
	'^s' => ["search history"],
	'^t' => ["move char forw$sign{_}ard", 'Transpose char'],
	'+t' => ["move word forw$sign{_}ard", 'Transpose word'],
	'^u' => ["delete till bol"], # unix
	'+u' => ["upcase word"],
	'^v' => ["verbatim char"],
	'^w' => ["delete word"], # unix
	'^x' => ["extend$sign{_}ed"],
	'^y' => ["yank top"],
	'+y' => ["rotate yank"],
	'^+y'=> ["yank arg"],
	'^z' => ["back$sign{_}ground"],

	'^x('  => ["start macro"],
	'^x)'  => ["end macro"],
	'^xe'  => ["run macro", 'Execute'],
	'^x^e' => ["editor"],
	'^x^r' => ["reload inputrc"],
	'^x^x' => ["swap cursor", 'eXchange'],
	'^x^v' => ["shell version"],
},

mode => {
	''   => "emacs mode",
	'^x' => 'emacs ctrl-x bindings',
},

flag => {
	ci => [info    => "Info command: shows/does something without altering anything."],
	pm => [motion  => "Move the cursor."],
	co => [history => "Replace contents involving kill ring, undo, or command history."],
	mi => [change  => "Alter current text (filtering or completion)."],
	mo => [delete  => "Remove text."],
	mv => [misc    => "Miscellaneous commands."],
	me => [mode    => "Additional key functionality (click to view)."],

	arg => ["key$sign{arg}" => "Commands with a dot need a char argument afterwards."],
	new => ["&gt;v2.0" => "Unavailable before readline version 2.1 (1997)."],
	ext => ["bash" => "Default assignment in Bash shells, but not common readline."],
},

}
