use utf8;
{

key => {
	'~' => ["open home$sign{_}dir"],
	'@' => ["play macro"],
	'^' => ["left of page"],
	'$' => ["right of page"],
	'#' => ["rev. find word"],
	'*' => ["find word"],
	'^^'=> ["last tab"],
	'?' => ["find rev."],
	'/' => ["find"],
	'[' => ["focus forw$sign{_}ard"],
	']' => ["focus back"],
	':' => ["comm$sign{_}and line mode"],
	';' => ["extend$sign{_}ed hint$sign{_}s mode"],
	"'" => ["jump to mark"],
	'|' => ["toggle source"],

	'a' => ["add bookm$sign{_}ark"],
	'A' => ["toggle bookm$sign{_}ark$sign{_}ed"],
	'^a'=> ["incr$sign{_}em$sign{_}ent url nr"],
	'b' => ["to buffer"],
	'B' => ["list buffers"],
	'^b'=> ["page up"],
	'^c'=> ["stop loading"],
	'^d'=> ["scroll down"],
	'd' => ["close tab"],
	'D' => ["close tab left$sign{_}ward$sign{_}s"],
	'i' => ["caret mode"],
	'f' => ["quick$sign{_}hint mode"],
	'F' => ["f in tab"],
	'^f'=> ["page down"],
	'g' => ["extra cmds"],
	'G' => ["last/% line"],
	'^g'=> ["file name"],
	'h' => [$sign{left}],
	'H' => ["page back"],
	'j' => [$sign{down}],
	'k' => [$sign{up}],
	'l' => [$sign{right}],
	'L' => ["page forw$sign{_}ard"],
	'M' => ["mark url"],
	'm' => ["mark line"],
	'n' => ["find next"],
	'N' => ["find prev$sign{_}ious"],
	'^n'=> ["next tab"],
	'o' => ["open"],
	'O' => ["alter url"],
	'p' => ["open pasted url"],
	'P' => ["p in tab"],
	'q' => ["record macro"],
	'r' => ["reload page"],
	'R' => ["reload uncach$sign{_}e$sign{_}d"],
	't' => ["tab open new"],
	'T' => ["tab open curr$sign{_}ent"],
	'^v'=> ["pass single"],
	'^u'=> ["scroll up"],
	'u' => ["restore closed tab"],
	'^x'=> ["decr$sign{_}em$sign{_}ent url nr"],
	'y' => ["copy url"],
	'Y' => ["copy select$sign{_}ion"],
	'z' => ["zoom"],
	'Z' => ["quit"],
	'^z'=> ["pass throu$sign{_}gh"],

	'g0' => ["first tab"],
	'g$' => ["last tab"],

	'gb' => ["repeat buffer cmd"],
	'gB' => ["reverse gb"],
	'gf' => ["view source"],
	'gF' => ["source extern$sign{_}al"],
	'g^g'=> ["file details"],
	'gg' => ["first line"],
	'gh' => ["open home$sign{_}page"],
	'gH' => ["tab with home$sign{_}page"],
	'gi' => ["last input field"],
	'gn' => ["tabopen url mark", 'Go in New tab'],
	'go' => ["open url mark"],
	'gP' => ["$sign{alias}P inactive"],
	'gt' => ["switch tab"],
	'gT' => ["tab back"],
	'gu' => ["parent dir$sign{_}ectory"],
	'gU' => ["site root"],

	';;' => ["focus"],
	';?' => ["element details"],
	';a' => ["save prompt"],
	';b' => ["open bg tab"],
	';c' => ["context menu"],
	';f' => ["frame focus"],
	';F' => ["multiple bg tabs"],
	';i' => ["image"],
	';I' => ["image in tab"],
	';o' => ["open"],
	';O' => ["open prompt"],
	';s' => ["save"],
	';t' => ["open in tab"],
	';T' => ["tab prompt"],
	';v' => ["view source"],
	';w' => ["open in wind$sign{_}ow"],
	';W' => ["wind$sign{_}ow prompt"],
	';y' => ["copy url"],
	';Y' => ["copy text"],

	']f' => ["next frame$sign{_}set"],
	']]' => ["open <q>next</q>"],

	'[f' => ["previous frame$sign{_}set"],
	'[[' => ["open <q>prev</q>"],

	'zi' => ["en$sign{_}large text", 'Zoom In'],
	'zm' => ["en$sign{_}large more", 'Zoom More'],
	'zo' => ["shrink text", 'Zoom Out'],
	'zr' => ["tinier text", 'Zoom Reduce'],
	'zz' => ["reset text size", 'Zoom Zero'],
	'zI' => ["zoom in"],
	'zM' => ["zoom more"],
	'zO' => ["zoom out"],
	'zR' => ["zoom out more", 'Zoom Reduce'],
	'zZ' => ["zoom reset", 'Zoom Zero'],

	'ZQ' => ["quit no save"],
	'ZZ' => ["quit save ses$sign{_}s$sign{_}ion"],
},

mode => {
	''  => 'normal mode',
	'g' => 'extended commands (g)',
	';' => 'extended hints (;)',
	']' => '(])',
	'[' => '([)',
	'z' => 'zoom commands (z)',
	'Z' => 'quit commands (Z)',
},

flag => {
	ci => ['info'     => "Displays something without any permanent consequences."],
	pm => ['motion'   => "Move cursor, scroll window, focus buffer element."],
	po => ['tab'      => "Tab or window navigation/selection."],
	co => ['buffer'   => "Page interaction."],
	cp => ['open'     => "Browse to a location in the current tab."],
	mi => ['tab open' => "Browse somewhere in a new tab."],
	mo => ['browser'  => "Other browser action."],
	mv => ['mode'     => "Enter a different mode."],
	me => ['key cmd'  => "Additional key commands (click for overview)."],

	arg  => ["key$sign{arg}"  => "Commands with a dot need a char argument afterwards."],
	args => ["key$sign{args}" => "Commands with two dots require variable arguments afterwards."],
},

}
