From 62f382b70e897fffa7ff106eca5adcf62e7e3b0e Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Thu, 22 Mar 2012 16:09:01 +0300 Subject: [PATCH] Ticket #2384: allow rebind Fx keys in the file manager. Signed-off-by: Andrew Borodin --- src/filemanager/midnight.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/filemanager/midnight.c b/src/filemanager/midnight.c index 20ffd1d8a..1e5ed5cde 100644 --- a/src/filemanager/midnight.c +++ b/src/filemanager/midnight.c @@ -1511,24 +1511,25 @@ midnight_callback (Dlg_head * h, Widget * sender, dlg_msg_t msg, int parm, void return MSG_HANDLED; case DLG_UNHANDLED_KEY: - if (command_prompt) { - cb_ret_t v; + cb_ret_t v = MSG_NOT_HANDLED; - v = send_message ((Widget *) cmdline, WIDGET_KEY, parm); - if (v == MSG_HANDLED) - return MSG_HANDLED; - } + if (ctl_x_map_enabled) + { + ctl_x_map_enabled = FALSE; + command = keybind_lookup_keymap_command (main_x_map, parm); + } + else + command = keybind_lookup_keymap_command (main_map, parm); - if (ctl_x_map_enabled) - { - ctl_x_map_enabled = FALSE; - command = keybind_lookup_keymap_command (main_x_map, parm); - } - else - command = keybind_lookup_keymap_command (main_map, parm); + if (command != CK_IgnoreKey) + v = midnight_execute_cmd (NULL, command); + + if (v == MSG_NOT_HANDLED && command_prompt) + v = send_message ((Widget *) cmdline, WIDGET_KEY, parm); - return (command == CK_IgnoreKey) ? MSG_NOT_HANDLED : midnight_execute_cmd (NULL, command); + return v; + } case DLG_POST_KEY: if (!the_menubar->is_active) -- 2.11.4.GIT