use utf8;

'' => {
	desc => 'normal mode',

	'~' => ["open home$sign{_}dir", 'cp'],
	'@' => ["play macro", 'mo arg'],
	'^' => ["left of page", 'pm'],
	'0' => '^',
	'$' => ["right of page", 'pm'],
	'#' => ["rev. find word", 'pm'],
	'*' => ["find word", 'pm'],
	'+' => 'zi',
	'-' => 'zo',
	'^^'=> ["last tab", 'po'],
	'?' => ["find rev.", 'pm args modec'],
	'/' => ["find", 'pm args modec'],
	'[' => ["focus forw$sign{_}ard", 'me arg mode['],
	']' => ["focus back", 'me arg mode]'],
	':' => ["comm$sign{_}and line mode", 'mo args'],
	';' => ["extend$sign{_}ed hint$sign{_}s mode", 'me arg args mode;'],
	"'" => ["jump to mark", 'pm'],
	'`' => "'",

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

g => {
	desc => 'extended commands (g)',
	lead => 'g',

	'0' => ["first tab", 'po'],
	'$' => ["last tab", 'po'],
	'^' => 'g0',

	'b' => ["repeat buffer cmd", 'po'],
	'B' => ["reverse gb", 'po'],
	'f' => ["view source", 'cp'],
	'F' => ["source extern$sign{_}al", 'mo'],
	'^g'=> ["file details", 'ci'],
	'g' => ["first line", 'pm'],
	'h' => ["open home$sign{_}page", 'cp'],
	'H' => ["tab with home$sign{_}page", 'mi'],
	'i' => ["last input field", 'pm'],
	'n' => ["tabopen url mark", 'mi arg', 'Go in New tab'],
	'o' => ["open url mark", 'cp arg'],
	'P' => ["$sign{alias}P inactive", 'mi'],
	't' => ["next tab", 'po'],
	'T' => ["prev$sign{_}ious tab", 'po'],
	'u' => ["parent dir$sign{_}ectory", 'cp'],
	'U' => ["site root", 'cp'],
}, # mode g

';' => {
	desc => 'extended hints (;)',
	lead => ';',

	';' => ["focus", 'pm'],
	'a' => ["save prompt", 'mo args'],
	'f' => ';o',
	'F' => ';t',
	'o' => ["open", 'cp'],
	'O' => ["open prompt", 'cp args'],
	's' => ["save", 'mo'],
	't' => ["open in tab", 'mi'],
	'T' => ["tab prompt", 'mi args'],
	'v' => ["view source", 'cp'],
	'w' => ["open in wind$sign{_}ow", 'mi'],
	'W' => ["wind$sign{_}ow prompt", 'mi args'],
	'y' => ["copy url", 'mo'],
	'Y' => ["copy text", 'mo'],
}, # mode ;
']' => {
	desc => '(])',
	lead => ']',

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

'[' => {
	desc => '([)',
	lead => '[',

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

z => {
	desc => 'zoom commands (z)',
	lead => 'z',

	'i' => ["en$sign{_}large text", 'ci', 'Zoom In'],
	'm' => ["en$sign{_}large more", 'ci', 'Zoom More'],
	'o' => ["shrink text", 'ci', 'Zoom Out'],
	'r' => ["tinier text", 'ci', 'Zoom Reduce'],
	'z' => ["reset text size", 'ci', 'Zoom Zero'],
	'I' => ["zoom in", 'ci'],
	'M' => ["zoom more", 'ci'],
	'O' => ["zoom out", 'ci'],
	'R' => ["zoom out more", 'ci', 'Zoom Reduce'],
	'Z' => ["zoom reset", 'ci', 'Zoom Zero'],
}, # mode z

Z => {
	desc => 'quit commands (Z)',
	lead => 'Z',

	'Q' => ["quit no save", 'mo'],
	'Z' => ["quit save ses$sign{_}s$sign{_}ion", 'mo'],
}, # mode Z

