Ticket #1648: implemented single-line boxes.
[kaloumi3.git] / src / keybind.h
blob3ef491e06095de3e5d737c02af2d74fa07214eaa
2 #ifndef MC_KEYBIND_H
3 #define MC_KEYBIND_H
5 #include "lib/global.h"
7 typedef struct name_keymap_t {
8 const char *name;
9 unsigned long val;
10 } name_keymap_t;
12 typedef struct key_config_t {
13 time_t mtime; /* mtime at the moment we read config file */
14 GArray *keymap;
15 GArray *ext_keymap;
16 gchar *labels[10];
17 } key_config_t;
19 /* The global keymaps are of this type */
20 #define KEYMAP_SHORTCUT_LENGTH 32 /* FIXME: is 32 bytes enough for shortcut? */
21 typedef struct global_keymap_t {
22 long key;
23 unsigned long command;
24 char caption[KEYMAP_SHORTCUT_LENGTH];
25 } global_keymap_t;
27 void keybind_cmd_bind (GArray *keymap, const char *keybind, unsigned long action);
28 unsigned long lookup_action (const char *name);
29 const char *lookup_keymap_shortcut (const global_keymap_t *keymap, unsigned long action);
30 unsigned long lookup_keymap_command (const global_keymap_t *keymap, long key);
32 /* viewer/actions_cmd.c */
33 extern const global_keymap_t default_viewer_keymap[];
34 extern const global_keymap_t default_viewer_hex_keymap[];
36 #ifdef USE_INTERNAL_EDIT
37 /* ../edit/editkey.c */
38 extern const global_keymap_t default_editor_keymap[];
39 extern const global_keymap_t default_editor_x_keymap[];
40 #endif
42 /* screen.c */
43 extern const global_keymap_t default_panel_keymap[];
45 /* widget.c */
46 extern const global_keymap_t default_input_keymap[];
48 /* main.c */
49 extern const global_keymap_t default_main_map[];
50 extern const global_keymap_t default_main_x_map[];
52 /* tree.c */
53 extern const global_keymap_t default_tree_keymap[];
55 /* help.c */
56 extern const global_keymap_t default_help_keymap[];
58 #endif /* MC_KEYBIND_H */