Ticket #2762: mc ignores second directory argument.
[midnight-commander.git] / src / keybind-defaults.c
blob397464608202cdca944312fa48d15683cde295d6
1 /*
2 Default values for keybinding engine
4 Copyright (C) 2009, 2010, 2011
5 The Free Software Foundation, Inc.
7 Written by:
8 Vitja Makarov, 2005
9 Ilia Maslakov <il.smind@gmail.com>, 2009, 2010
10 Andrew Borodin <aborodin@vmail.ru>, 2010, 2011
12 This file is part of the Midnight Commander.
14 The Midnight Commander is free software: you can redistribute it
15 and/or modify it under the terms of the GNU General Public License as
16 published by the Free Software Foundation, either version 3 of the License,
17 or (at your option) any later version.
19 The Midnight Commander is distributed in the hope that it will be useful,
20 but WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 GNU General Public License for more details.
24 You should have received a copy of the GNU General Public License
25 along with this program. If not, see <http://www.gnu.org/licenses/>.
28 #include <config.h>
30 #include "lib/global.h"
31 #include "lib/widget.h" /* dialog_map, input_map, listbox_map */
33 #include "keybind-defaults.h"
35 /*** global variables ****************************************************************************/
37 GArray *main_keymap = NULL;
38 GArray *main_x_keymap = NULL;
39 GArray *panel_keymap = NULL;
40 GArray *dialog_keymap = NULL;
41 GArray *input_keymap = NULL;
42 GArray *listbox_keymap = NULL;
43 GArray *tree_keymap = NULL;
44 GArray *help_keymap = NULL;
45 #ifdef USE_INTERNAL_EDIT
46 GArray *editor_keymap = NULL;
47 GArray *editor_x_keymap = NULL;
48 #endif
49 GArray *viewer_keymap = NULL;
50 GArray *viewer_hex_keymap = NULL;
51 #ifdef USE_DIFF_VIEW
52 GArray *diff_keymap = NULL;
53 #endif
55 const global_keymap_t *main_map = NULL;
56 const global_keymap_t *main_x_map = NULL;
57 const global_keymap_t *panel_map = NULL;
58 const global_keymap_t *tree_map = NULL;
59 const global_keymap_t *help_map = NULL;
61 #ifdef USE_INTERNAL_EDIT
62 const global_keymap_t *editor_map = NULL;
63 const global_keymap_t *editor_x_map = NULL;
64 #endif
65 const global_keymap_t *viewer_map = NULL;
66 const global_keymap_t *viewer_hex_map = NULL;
67 #ifdef USE_DIFF_VIEW
68 const global_keymap_t *diff_map = NULL;
69 #endif
71 /*** file scope macro definitions ****************************************************************/
73 /*** file scope type declarations ****************************************************************/
75 /* default keymaps in ini (key=value) format */
76 typedef struct global_keymap_ini_t
78 const char *key;
79 const char *value;
80 } global_keymap_ini_t;
82 /*** file scope variables ************************************************************************/
84 /* midnight */
85 static const global_keymap_ini_t default_main_keymap[] = {
86 {"Help", "f1"},
87 {"UserMenu", "f2"},
88 {"View", "f3"},
89 {"Edit", "f4"},
90 {"Copy", "f5"},
91 {"Move", "f6"},
92 {"MakeDir", "f7"},
93 {"Delete", "f8"},
94 {"Menu", "f9"},
95 {"Quit", "f10"},
96 {"ViewFile", "f13"},
97 {"MenuLastSelected", "f19"},
98 {"QuitQuiet", "f20"},
99 {"History", "alt-h"},
100 {"DirSize", "ctrl-space"},
101 /* Copy useful information to the command line */
102 {"PutCurrentPath", "alt-a"},
103 {"PutOtherPath", "alt-shift-a"},
104 {"CdQuick", "alt-c"},
105 /* To access the directory hotlist */
106 {"HotList", "ctrl-backspace"},
107 /* Suspend */
108 {"Suspend", "ctrl-z"},
109 /* The filtered view command */
110 {"ViewFiltered", "alt-exclamation"},
111 /* Find file */
112 {"Find", "alt-question"},
113 /* Panel refresh */
114 {"Reread", "ctrl-r"},
115 /* Switch listing between long, user defined and full formats */
116 {"PanelListingSwitch", "alt-t"},
117 /* Swap panels */
118 {"Swap", "ctrl-u"},
119 /* View output */
120 {"Shell", "ctrl-o"},
121 {"ShowHidden", "alt-dot"},
122 {"SplitVertHoriz", "alt-comma"},
123 {"ExtendedKeyMap", "ctrl-x"},
124 /* Select/unselect group */
125 {"Select", "kpplus"},
126 {"Unselect", "kpminus"},
127 {"SelectInvert", "kpasterisk"},
128 /* List of screens */
129 {"ScreenList", "alt-prime"},
130 {NULL, NULL}
133 static const global_keymap_ini_t default_main_x_keymap[] = {
134 {"CompareDirs", "d"},
135 #ifdef USE_DIFF_VIEW
136 {"CompareFiles", "ctrl-d"},
137 #endif /* USE_DIFF_VIEW */
138 #ifdef ENABLE_VFS
139 {"VfsList", "a"},
140 #endif /* ENABLE_VFS */
141 {"PutCurrentPath", "p"},
142 {"PutOtherPath", "ctrl-p"},
143 {"PutCurrentTagged", "t"},
144 {"PutOtherTagged", "ctrl-t"},
145 {"ChangeMode", "c"},
146 {"ChangeOwn", "o"},
147 {"PutCurrentLink", "r"},
148 {"PutOtherLink", "ctrl-r"},
149 {"Link", "l"},
150 {"LinkSymbolic", "s"},
151 {"LinkSymbolicRelative", "v"},
152 {"LinkSymbolicEdit", "ctrl-s"},
153 {"PanelInfo", "i"},
154 {"PanelQuickView", "q"},
155 {"HotListAdd", "h"},
156 #ifdef ENABLE_BACKGROUND
157 {"Jobs", "j"},
158 #endif /* ENABLE_BACKGROUND */
159 {"ExternalPanelize", "!"},
160 {NULL, NULL}
163 /* panel */
164 static const global_keymap_ini_t default_panel_keymap[] = {
165 {"PanelOtherCd", "alt-o"},
166 {"PanelOtherCdLink", "alt-l"},
167 {"CopySingle", "f15"},
168 {"DeleteSingle", "f18"},
169 {"Enter", "enter"},
170 {"EditNew", "f14"},
171 {"MoveSingle", "f16"},
172 {"SelectInvert", "alt-asterisk"},
173 {"Select", "alt-plus"},
174 {"Unselect", "alt-minus"},
175 {"ViewRaw", "f13"},
176 {"CdChild", "ctrl-pgdn"},
177 {"CdParent", "ctrl-pgup"},
178 {"History", "alt-shift-h"},
179 {"HistoryNext", "alt-u"},
180 {"HistoryPrev", "alt-y"},
181 {"BottomOnScreen", "alt-j"},
182 {"MiddleOnScreen", "alt-r"},
183 {"TopOnScreen", "alt-g"},
184 {"Mark", "insert; ctrl-t"},
185 {"MarkDown", "shift-down"},
186 {"MarkUp", "shift-up"},
187 {"Up", "up; ctrl-p"},
188 {"Down", "down; ctrl-n"},
189 {"Left", "left"},
190 {"Right", "right"},
191 {"Top", "alt-lt; home; a1"},
192 {"Bottom", "alt-gt; end; c1"},
193 {"PageDown", "pgdn; ctrl-v"},
194 {"PageUp", "pgup; alt-v"},
195 #ifdef HAVE_CHARSET
196 {"SelectCodepage", "alt-e"},
197 #endif
198 {"Search", "ctrl-s; alt-s"},
199 {"PanelOtherSync", "alt-i"},
200 {NULL, NULL}
203 /* dialog */
204 static const global_keymap_ini_t default_dialog_keymap[] = {
205 {"Ok", "enter"},
206 {"Cancel", "f10; esc; ctrl-g"},
207 {"Up", "up; left"},
208 {"Down", "down; right"},
209 #if 0
210 {"Left", "up; left"},
211 {"Right", "down; right"},
212 #endif
213 {"Help", "f1"},
214 {"Suspend", "ctrl-z"},
215 {"Refresh", "ctrl-l"},
216 {"ScreenList", "alt-prime"},
217 {"ScreenNext", "alt-rbrace"},
218 {"ScreenPrev", "alt-lbrace"},
219 {NULL, NULL}
222 /* input line */
223 static const global_keymap_ini_t default_input_keymap[] = {
224 /* Motion */
225 {"Home", "ctrl-a; alt-lt; home; a1"},
226 {"End", "ctrl-e; alt-gt; end; c1"},
227 {"Left", "left; alt-left; ctrl-b"},
228 {"Right", "right; alt-right; ctrl-f"},
229 {"WordLeft", "ctrl-left; alt-b"},
230 {"WordRight", "ctrl-right; alt-f"},
231 /* Mark */
232 {"MarkLeft", "shift-left"},
233 {"MarkRight", "shift-right"},
234 {"MarkToWordBegin", "ctrl-shift-left"},
235 {"MarkToWordEnd", "ctrl-shift-right"},
236 {"MarkToHome", "shift-home"},
237 {"MarkToEnd", "shift-end"},
238 /* Editing */
239 {"Backspace", "backspace; ctrl-h"},
240 {"Delete", "delete; ctrl-d"},
241 {"DeleteToWordEnd", "alt-d"},
242 {"DeleteToWordBegin", "alt-backspace"},
243 /* Region manipulation */
244 {"Remove", "ctrl-w"},
245 {"Store", "alt-w"},
246 {"Yank", "ctrl-y"},
247 {"DeleteToEnd", "ctrl-k"},
248 /* History */
249 {"History", "alt-h"},
250 {"HistoryPrev", "alt-p; ctrl-down"},
251 {"HistoryNext", "alt-n; ctrl-up"},
252 /* Completion */
253 {"Complete", "alt-tab"},
254 {NULL, NULL}
257 /* listbox */
258 static const global_keymap_ini_t default_listbox_keymap[] = {
259 {"Up", "up; ctrl-p"},
260 {"Down", "down; ctrl-n"},
261 {"Top", "home; alt-lt; a1"},
262 {"Bottom", "end; alt-gt; c1"},
263 {"PageUp", "pgup; alt-v"},
264 {"PageDown", "pgdn; ctrl-v"},
265 {"Delete", "delete; d"},
266 {"Clear", "shift-delete; shift-d"},
267 {NULL, NULL}
270 /* tree */
271 static const global_keymap_ini_t default_tree_keymap[] = {
272 {"Help = f1"},
273 {"Rescan = f2; ctrl-r"},
274 {"Forget = f3"},
275 {"ToggleNavigation = f4"},
276 {"Copy = f5"},
277 {"Move = f6"},
278 #if 0
279 {"MakeDir", "f7"},
280 #endif
281 {"Delete", "f8; delete"},
282 {"Up", "up; ctrl-p"},
283 {"Down", "down; ctrl-n"},
284 {"Left", "left"},
285 {"Right", "right"},
286 {"Top", "home; alt-lt; a1"},
287 {"Bottom", "end; alt-gt; c1"},
288 {"PageUp", "pgup; alt-v"},
289 {"PageDown", "pgdn; ctrl-v"},
290 {"Enter", "enter"},
291 {"Search", "ctrl-s; alt-s"},
292 {NULL, NULL}
295 /* help */
296 static const global_keymap_ini_t default_help_keymap[] = {
297 {"Help", "f1"},
298 {"Index", "f2; c"},
299 {"Back", "f3; left; l"},
300 {"Quit", "f10; esc"},
301 {"Up", "up; ctrl-p"},
302 {"Down", "down; ctrl-n"},
303 {"PageDown", "f; space; pgdn; ctrl-v"},
304 {"PageUp", "b; pgup; alt-v; backspace"},
305 {"HalfPageDown", "d"},
306 {"HalfPageUp", "u"},
307 {"Top", "home; ctrl-home; ctrl-pgup; a1; alt-lt; g"},
308 {"Bottom", "end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g"},
309 {"Enter", "right; enter"},
310 {"LinkNext", "tab"},
311 {"LinkPrev", "alt-tab"},
312 {"NodeNext", "n"},
313 {"NodePrev", "p"},
314 {NULL, NULL}
317 #ifdef USE_INTERNAL_EDIT
318 static const global_keymap_ini_t default_editor_keymap[] = {
319 {"Enter", "enter"},
320 {"Return", "shift-enter"}, /* useful for pasting multiline text */
321 {"Tab", "tab"},
322 {"BackSpace", "backspace; ctrl-h"},
323 {"Delete", "delete; ctrl-d"},
324 {"Left", "left"},
325 {"Right", "right"},
326 {"Up", "up"},
327 {"Down", "down"},
328 {"Home", "home"},
329 {"End", "end"},
330 {"PageUp", "pgup"},
331 {"PageDown", "pgdn"},
332 {"WordLeft", "ctrl-left; ctrl-z"},
333 {"WordRight", "ctrl-right; ctrl-x"},
334 {"InsertOverwrite", "insert"},
335 {"Help", "f1"},
336 {"Save", "f2"},
337 {"Mark", "f3"},
338 {"Replace", "f4"},
339 {"Copy", "f5"},
340 {"Move", "f6"},
341 {"Search", "f7"},
342 {"Remove", "f8; ctrl-delete"},
343 {"Menu", "f9"},
344 {"Quit", "f10; esc"},
345 {"UserMenu", "f11"},
346 {"SaveAs", "f12; ctrl-f2"},
347 {"MarkColumn", "f13"},
348 {"ReplaceContinue", "f14; ctrl-f4"},
349 {"InsertFile", "f15"},
350 {"SearchContinue", "f17; ctrl-f7"},
351 {"EditNew", "ctrl-n"},
352 {"DeleteToWordBegin", "alt-backspace"},
353 {"DeleteToWordEnd", "alt-d"},
354 {"DeleteLine", "ctrl-y"},
355 {"DeleteToEnd", "ctrl-k"},
356 {"Undo", "ctrl-u; ctrl-backspace"},
357 {"Redo", "alt-r"},
358 #ifdef HAVE_CHARSET
359 {"SelectCodepage", "alt-e"},
360 #endif
361 {"Goto", "alt-l; alt-shift-l"},
362 {"Refresh", "ctrl-l"},
363 {"Shell", "ctrl-o"},
364 {"Top", "ctrl-home; ctrl-pgup; alt-lt"},
365 {"Bottom", "ctrl-end; ctrl-pgdn; alt-gt"},
366 {"TopOnScreen", "ctrl-pgup"},
367 {"BottomOnScreen", "ctrl-pgdn"},
368 {"ScrollUp", "ctrl-up"},
369 {"ScrollDown", "ctrl-down"},
370 {"Store", "ctrl-insert"},
371 {"Paste", "shift-insert"},
372 {"Cut", "shift-delete"},
373 {"BlockSave", "ctrl-f"},
374 {"MarkLeft", "shift-left"},
375 {"MarkRight", "shift-right"},
376 {"MarkUp", "shift-up"},
377 {"MarkDown", "shift-down"},
378 {"MarkPageUp", "shift-pgup"},
379 {"MarkPageDown", "shift-pgdn"},
380 {"MarkToWordBegin", "ctrl-shift-left"},
381 {"MarkToWordEnd", "ctrl-shift-right"},
382 {"MarkToHome", "shift-home"},
383 {"MarkToEnd", "shift-end"},
384 {"MarkToFileBegin", "ctrl-shift-home"},
385 {"MarkToFileEnd", "ctrl-shift-end"},
386 {"MarkToPageBegin", "ctrl-shift-pgup"},
387 {"MarkToPageEnd", "ctrl-shift-pgdn"},
388 {"MarkScrollUp", "ctrl-shift-up"},
389 {"MarkScrollDown", "ctrl-shift-down"},
390 {"MarkColumnLeft", "alt-left"},
391 {"MarkColumnRight", "alt-right"},
392 {"MarkColumnUp", "alt-up"},
393 {"MarkColumnDown", "alt-down"},
394 {"MarkColumnPageUp", "alt-pgup"},
395 {"MarkColumnPageDown", "alt-pgdn"},
396 {"InsertLiteral", "ctrl-q"},
397 {"Complete", "alt-tab"},
398 {"MatchBracket", "alt-b"},
399 {"ParagraphFormat", "alt-p"},
400 {"Bookmark", "alt-k"},
401 {"BookmarkFlush", "alt-o"},
402 {"BookmarkNext", "alt-j"},
403 {"BookmarkPrev", "alt-i"},
404 {"MacroStartStopRecord", "ctrl-r"},
405 {"MacroExecute", "ctrl-a"},
406 {"ShowNumbers", "alt-n"},
407 {"ShowTabTws", "alt-underline"},
408 {"SyntaxOnOff", "ctrl-s"},
409 {"Find", "alt-enter"},
410 {"FilePrev", "alt-minus"},
411 {"FileNext", "alt-plus"},
412 {"Sort", "alt-t"},
413 {"Mail", "alt-m"},
414 {"ExternalCommand", "alt-u"},
415 {"ExtendedKeyMap", "ctrl-x"},
416 {NULL, NULL}
419 /* emacs keyboard layout emulation */
420 static const global_keymap_ini_t default_editor_x_keymap[] = {
421 {NULL, NULL}
423 #endif /* USE_INTERNAL_EDIT */
425 /* viewer */
426 static const global_keymap_ini_t default_viewer_keymap[] = {
427 {"Help", "f1"},
428 {"WrapMode", "f2"},
429 {"Quit", "f3; f10; q; esc"},
430 {"HexMode", "f4"},
431 {"Goto", "f5"},
432 {"Search", "f7"},
433 {"SearchContinue", "f17; n"},
434 {"MagicMode", "f8"},
435 {"NroffMode", "f9"},
436 {"Home", "ctrl-a"},
437 {"End", "ctrl-e"},
438 {"Left", "h; left"},
439 {"Right", "l; right"},
440 {"LeftQuick", "ctrl-left"},
441 {"RightQuick", "ctrl-right"},
442 {"Up", "k; y; insert; up; ctrl-p"},
443 {"Down", "j; e; delete; down; enter; ctrl-n"},
444 {"PageDown", "f; space; pgdn; ctrl-v"},
445 {"PageUp", "b; pgup; alt-v; backspace"},
446 {"HalfPageDown", "d"},
447 {"HalfPageUp", "u"},
448 {"Top", "home; ctrl-home; ctrl-pgup; a1; alt-lt; g"},
449 {"Bottom", "end; ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g"},
450 {"BookmarkGoto", "m"},
451 {"Bookmark", "r"},
452 {"FileNext", "ctrl-f"},
453 {"FilePrev", "ctrl-b"},
454 #ifdef HAVE_CHARSET
455 {"SelectCodepage", "alt-e"},
456 #endif
457 {"Shell", "ctrl-o"},
458 {"Ruler", "alt-r"},
459 {"SearchForward", "slash"},
460 {"SearchBackward", "question"},
461 {"SearchForwardContinue", "ctrl-s"},
462 {"SearchBackwardContinue", "ctrl-r"},
463 {NULL, NULL}
466 /* hex viewer */
467 static const global_keymap_ini_t default_viewer_hex_keymap[] = {
468 {"Help", "f1"},
469 {"HexEditMode", "f2"},
470 {"Quit", "f3; f10; q; esc"},
471 {"HexMode", "f4"},
472 {"Goto", "f5"},
473 {"Save", "f6"},
474 {"Search", "f7"},
475 {"SearchContinue", "f17; n"},
476 {"MagicMode", "f8"},
477 {"NroffMode", "f9"},
478 {"ToggleNavigation", "tab"},
479 {"Home", "ctrl-a; home"},
480 {"End", "ctrl-e; end"},
481 {"Left", "b; left"},
482 {"Right", "f; right"},
483 {"Up", "k; y; up"},
484 {"Down", "j; delete; down"},
485 {"PageDown", "pgdn; ctrl-v"},
486 {"PageUp", "pgup; alt-v"},
487 {"Top", "ctrl-home; ctrl-pgup; a1; alt-lt; g"},
488 {"Bottom", "ctrl-end; ctrl-pgdn; c1; alt-gt; shift-g"},
489 #ifdef HAVE_CHARSET
490 {"SelectCodepage", "alt-e"},
491 #endif
492 {"Shell", "ctrl-o"},
493 {"SearchForward", "slash"},
494 {"SearchBackward", "question"},
495 {"SearchForwardContinue", "ctrl-s"},
496 {"SearchBackwardContinue", "ctrl-r"},
497 {NULL, NULL}
500 #ifdef USE_DIFF_VIEW
501 /* diff viewer */
502 static const global_keymap_ini_t default_diff_keymap[] = {
503 {"ShowSymbols", "alt-s; s"},
504 {"ShowNumbers", "alt-n; l"},
505 {"SplitFull", "f"},
506 {"SplitEqual", "equal"},
507 {"SplitMore", "gt"},
508 {"SplitLess", "lt"},
509 {"Tab2", "2"},
510 {"Tab3", "3"},
511 {"Tab4", "4"},
512 {"Tab8", "8"},
513 {"Swap", "ctrl-u"},
514 {"Redo", "ctrl-r"},
515 {"HunkNext", "n; enter; space"},
516 {"HunkPrev", "p; backspace"},
517 {"Goto", "g; shift-g"},
518 {"Save", "f2"},
519 {"Edit", "f4"},
520 {"EditOther", "f14"},
521 {"Merge", "f5"},
522 {"Search", "f7"},
523 {"SearchContinue", "f17"},
524 {"Options", "f9"},
525 {"Top", "ctrl-home"},
526 {"Bottom", "ctrl-end"},
527 {"Down", "down"},
528 {"Up", "up"},
529 {"LeftQuick", "ctrl-left"},
530 {"RightQuick", "ctrl-right"},
531 {"Left", "left"},
532 {"Right", "right"},
533 {"PageDown", "pgdn"},
534 {"PageUp", "pgup"},
535 {"Home", "home"},
536 {"End", "end"},
537 {"Help", "f1"},
538 {"Quit", "f10; q; shift-q; esc"},
539 #ifdef HAVE_CHARSET
540 {"SelectCodepage", "alt-e"},
541 #endif
542 {"Shell", "ctrl-o"},
543 {NULL, NULL}
545 #endif
547 /*** file scope macro definitions ****************************************************************/
549 /*** file scope type declarations ****************************************************************/
551 /*** file scope variables ************************************************************************/
553 /*** file scope functions ************************************************************************/
554 /* --------------------------------------------------------------------------------------------- */
556 static void
557 create_default_keymap_section (mc_config_t * keymap, const char *section,
558 const global_keymap_ini_t * k)
560 size_t i;
562 for (i = 0; k[i].key != NULL; i++)
563 mc_config_set_string_raw (keymap, section, k[i].key, k[i].value);
566 /* --------------------------------------------------------------------------------------------- */
567 /*** public functions ****************************************************************************/
568 /* --------------------------------------------------------------------------------------------- */
570 mc_config_t *
571 create_default_keymap (void)
573 mc_config_t *keymap;
575 keymap = mc_config_init (NULL);
577 create_default_keymap_section (keymap, KEYMAP_SECTION_MAIN, default_main_keymap);
578 create_default_keymap_section (keymap, KEYMAP_SECTION_MAIN_EXT, default_main_x_keymap);
579 create_default_keymap_section (keymap, KEYMAP_SECTION_PANEL, default_panel_keymap);
580 create_default_keymap_section (keymap, KEYMAP_SECTION_DIALOG, default_dialog_keymap);
581 create_default_keymap_section (keymap, KEYMAP_SECTION_INPUT, default_input_keymap);
582 create_default_keymap_section (keymap, KEYMAP_SECTION_LISTBOX, default_listbox_keymap);
583 create_default_keymap_section (keymap, KEYMAP_SECTION_TREE, default_tree_keymap);
584 create_default_keymap_section (keymap, KEYMAP_SECTION_HELP, default_help_keymap);
585 #ifdef USE_INTERNAL_EDIT
586 create_default_keymap_section (keymap, KEYMAP_SECTION_EDITOR, default_editor_keymap);
587 create_default_keymap_section (keymap, KEYMAP_SECTION_EDITOR_EXT, default_editor_x_keymap);
588 #endif
589 create_default_keymap_section (keymap, KEYMAP_SECTION_VIEWER, default_viewer_keymap);
590 create_default_keymap_section (keymap, KEYMAP_SECTION_VIEWER_HEX, default_viewer_hex_keymap);
591 #ifdef USE_DIFF_VIEW
592 create_default_keymap_section (keymap, KEYMAP_SECTION_DIFFVIEWER, default_diff_keymap);
593 #endif
595 return keymap;