keyboard: categorise keys by result similarity
[sheet.git] / vimperator.eng.inc.pl
1 use utf8;
2 {
3 key => {
4         '~' => "open home<>dir",
5         '@' => "play macro",
6         '^' => "left of page",
7         '$' => "right of page",
8         '#' => "rev. find word",
9         '*' => "find word",
10         '^^'=> "last tab",
11         '?' => "find rev.",
12         '/' => "find",
13         '[' => "focus forw<>ard",
14         ']' => "focus back",
15         ':' => "comm<>and line mode",
16         ';' => "extend<>ed hint<>s mode",
17         "'" => "jump to mark",
18         '|' => "toggle source",
19
20         'a' => "add bookm<>ark",
21         'A' => "toggle bookm<>ark<>ed",
22         '^a'=> "incr<>em<>ent url nr",
23         'b' => "to buffer",
24         'B' => "list buffers",
25         '^b'=> "page up",
26         '^c'=> "stop loading",
27         '^d'=> "scroll down",
28         'd' => "close tab",
29         'D' => "close tab left<>ward<>s",
30         'i' => "caret mode",
31         'f' => "quick<>hint mode",
32         'F' => "f in tab",
33         '^f'=> "page down",
34         'g' => "extra cmds",
35         'G' => "last/% line",
36         '^g'=> "file name",
37         'h' => "<left>",
38         'H' => "page back",
39         'j' => "<down>",
40         'k' => "<up>",
41         'l' => "<right>",
42         'L' => "page forw<>ard",
43         'M' => "mark url",
44         'm' => "mark line",
45         'n' => "find next",
46         'N' => "find prev<>ious",
47         '^n'=> "next tab",
48         'o' => "open",
49         'O' => "alter url",
50         'p' => "open pasted url",
51         'P' => "p in tab",
52         'q' => "record macro",
53         'r' => "reload page",
54         'R' => "reload uncach<>e<>d",
55         't' => "tab open new",
56         'T' => "tab open curr<>ent",
57         '^v'=> "pass single",
58         '^u'=> "scroll up",
59         'u' => "restore closed tab",
60         '^x'=> "decr<>em<>ent url nr",
61         'y' => "copy url",
62         'Y' => "copy select<>ion",
63         'z' => "zoom",
64         'Z' => "quit",
65         '^z'=> "pass throu<>gh",
66
67         'g0' => "first tab",
68         'g$' => "last tab",
69
70         'gb' => "repeat buffer cmd",
71         'gB' => "reverse gb",
72         'gf' => "view source",
73         'gF' => "source extern<>al",
74         'g^g'=> "file details",
75         'gg' => "first line",
76         'gh' => "open home<>page",
77         'gH' => "tab with home<>page",
78         'gi' => "last input field",
79         'gn' => "tabopen url mark\nGo in New tab",
80         'go' => "open url mark",
81         'gP' => "<alias>P inactive",
82         'gt' => "switch tab",
83         'gT' => "tab back",
84         'gu' => "parent dir<>ectory",
85         'gU' => "site root",
86
87         ';;' => "focus",
88         ';?' => "element details",
89         ';a' => "save prompt",
90         ';b' => "open bg tab",
91         ';c' => "context menu",
92         ';f' => "frame focus",
93         ';F' => "multiple bg tabs",
94         ';i' => "image",
95         ';I' => "image in tab",
96         ';o' => "open",
97         ';O' => "open prompt",
98         ';s' => "save",
99         ';t' => "open in tab",
100         ';T' => "tab prompt",
101         ';v' => "view source",
102         ';w' => "open in wind<>ow",
103         ';W' => "wind<>ow prompt",
104         ';y' => "copy url",
105         ';Y' => "copy text",
106
107         ']f' => "next frame<>set",
108         ']]' => "open <q>next</q>",
109
110         '[f' => "previous frame<>set",
111         '[[' => "open <q>prev</q>",
112
113         'zi' => "en<>large text\nZoom In",
114         'zm' => "en<>large more\nZoom More",
115         'zo' => "shrink text\nZoom Out",
116         'zr' => "tinier text\nZoom Reduce",
117         'zz' => "reset text size\nZoom Zero",
118         'zI' => "zoom in",
119         'zM' => "zoom more",
120         'zO' => "zoom out",
121         'zR' => "zoom out more\nZoom Reduce",
122         'zZ' => "zoom reset\nZoom Zero",
123
124         'ZQ' => "quit no save",
125         'ZZ' => "quit save ses<>s<>ion",
126 },
127
128 mode => {
129         ''  => 'normal mode',
130         'g' => 'extended commands (g)',
131         ';' => 'extended hints (;)',
132         ']' => '(])',
133         '[' => '([)',
134         'z' => 'zoom commands (z)',
135         'Z' => 'quit commands (Z)',
136 },
137
138 flag => {
139         g1 => ['info'     => "Displays something without any permanent consequences."],
140         g2 => ['motion'   => "Move cursor, scroll window, focus buffer element."],
141         g3 => ['tab'      => "Tab or window navigation/selection."],
142         g4 => ['buffer'   => "Page interaction."],
143         g5 => ['open'     => "Browse to a location in the current tab."],
144         g6 => ['tab open' => "Browse somewhere in a new tab."],
145         g7 => ['browser'  => "Other browser action."],
146         g8 => ['mode'     => "Enter a different mode."],
147         g9 => ['key cmd'  => "Additional key commands (click for overview)."],
148
149         arg  => ["key<arg>"  => "Commands with a dot need a char argument afterwards."],
150         args => ["key<args>" => "Commands with two dots require variable arguments afterwards."],
151 },
152
153 def => {
154         '' => {
155                 '~' => 'g5',
156                 '@' => 'g7 arg',
157                 '^' => 'g2',
158                 '0' => '=^',
159                 '$' => 'g2',
160                 '#' => 'g2',
161                 '*' => 'g2',
162                 '+' => '=zi',
163                 '-' => '=zo',
164                 '^^'=> 'g3',
165                 '?' => 'g2 args modec',
166                 '/' => 'g2 args modec',
167                 '[' => 'g9 arg mode[',
168                 ']' => 'g9 arg mode]',
169                 ':' => 'g7 args',
170                 ';' => 'g9 arg args mode;',
171                 "'" => 'g2',
172                 '`' => "='",
173                 '|' => 'g5 v2 v2.2',
174
175                 'a' => 'g7 args',
176                 'A' => 'g7',
177                 '^a'=> 'g5',
178                 'b' => 'g3 args',
179                 'B' => 'g1',
180                 '^b'=> 'g2',
181                 '^c'=> 'g4',
182                 '^d'=> 'g2',
183                 'd' => 'g4',
184                 'D' => 'g4',
185                 'i' => 'g8',
186                 '^i'=> '=L',
187                 '^e'=> '=j',
188                 'f' => 'g5 args',
189                 'F' => 'g6 args',
190                 '^f'=> 'g2', # spacebar
191                 'g' => 'g9 modeg arg',
192                 'G' => 'g2',
193                 '^g'=> 'g1',
194                 'h' => 'g2',
195                 'H' => 'g5',
196                 'j' => 'g2',
197                 'k' => 'g2',
198                 'l' => 'g2',
199                 'L' => 'g5',
200                 'M' => 'g7 arg',
201                 'm' => 'g7 arg',
202                 'n' => 'g2',
203                 'N' => 'g2',
204                 '^n'=> 'g3',
205                 'o' => 'g5',
206                 'O' => 'g5',
207                 '^o'=> '=H',
208                 'p' => 'g5',
209                 'P' => 'g6',
210                 '^p'=> '=gT',
211                 'q' => 'g8 arg',
212                 'r' => 'g4',
213                 'R' => 'g5',
214                 't' => 'g6',
215                 'T' => 'g6',
216                 '^v'=> 'g4 arg',
217                 '^u'=> 'g2',
218                 'u' => 'g6',
219                 '^x'=> 'g5',
220                 'y' => 'g7',
221                 'Y' => 'g7',
222                 '^y'=> '=k',
223                 'z' => 'g1 modez arg',
224                 'Z' => 'g9 modeZ arg',
225                 '^z'=> 'g8',
226         }, # normal mode
227
228         g => {
229                 lead => 'g',
230
231                 '0' => 'g3',
232                 '$' => 'g3',
233                 '^' => '=g0',
234
235                 'b' => 'g3',
236                 'B' => 'g3',
237                 'f' => 'g5',
238                 'F' => 'g7',
239                 '^g'=> 'g1',
240                 'g' => 'g2',
241                 'h' => 'g5',
242                 'H' => 'g6',
243                 'i' => 'g2',
244                 'n' => 'g6 arg',
245                 'o' => 'g5 arg',
246                 'P' => 'g6',
247                 't' => 'g3',
248                 'T' => 'g3',
249                 'u' => 'g5',
250                 'U' => 'g5',
251         }, # mode g
252
253         ';' => {
254                 lead => ';',
255
256                 ';' => 'g2',
257                 '?' => 'g1',
258                 'a' => 'g7 args',
259                 'b' => 'g6 v2',
260                 'c' => 'v2 v2.2',
261                 'f' => 'g2 v2', # previously ';o'
262                 'F' => 'g6 v2', # previously ';t'
263                 'i' => 'g5 v2 v2.2',
264                 'I' => 'g6 v2 v2.2',
265                 'o' => 'g5',
266                 'O' => 'g5 args',
267                 's' => 'g7',
268                 't' => 'g6',
269                 'T' => 'g6 args',
270                 'v' => 'g5',
271                 'w' => 'g6',
272                 'W' => 'g6 args',
273                 'y' => 'g7',
274                 'Y' => 'g7',
275         }, # mode ;
276
277         ']' => {
278                 lead => ']',
279
280                 'f' => 'g2',
281                 ']' => 'g5',
282         }, # mode ]
283
284         '[' => {
285                 lead => '[',
286
287                 'f' => 'g2',
288                 '[' => 'g5',
289         }, # mode [
290
291         z => {
292                 lead => 'z',
293
294                 'i' => 'g1',
295                 'm' => 'g1',
296                 'o' => 'g1',
297                 'r' => 'g1',
298                 'z' => 'g1',
299                 'I' => 'g1',
300                 'M' => 'g1',
301                 'O' => 'g1',
302                 'R' => 'g1',
303                 'Z' => 'g1',
304         }, # mode z
305
306         Z => {
307                 lead => 'Z',
308
309                 'Q' => 'g7',
310                 'Z' => 'g7',
311         }, # mode Z
312 },
313 }