- struct WinMeta * win_meta = world.wmeta;
- struct Win * win_map = get_win_by_id('m');
- char * err_toggle = "Trouble with toggle_window() in meta_control().";
- if (key == get_available_keycode_to_action("quit"))
- {
- return 1;
- }
- else if (key == get_available_keycode_to_action("winconf"))
- {
- toggle_winconfig(world.wmeta->active);
- }
- else if (key == get_available_keycode_to_action("cyc_win_f"))
- {
- cycle_active_win(world.wmeta, 'f');
- }
- else if (key == get_available_keycode_to_action("cyc_win_b"))
- {
- cycle_active_win(world.wmeta, 'b');
- }
- else if (key == get_available_keycode_to_action("scrl_r"))
- {
- scroll_pad(win_meta, '+');
- }
- else if (key == get_available_keycode_to_action("scrl_l"))
- {
- scroll_pad(win_meta, '-');
- }
- else if (key == get_available_keycode_to_action("to_a_keywin"))
- {
- exit_err(toggle_window(win_meta, get_win_by_id('k')), err_toggle);
- }
- else if (key == get_available_keycode_to_action("to_g_keywin"))
- {
- exit_err(toggle_window(win_meta, get_win_by_id('0')), err_toggle);
- }
- else if (key == get_available_keycode_to_action("to_wg_keywin"))
- {
- exit_err(toggle_window(win_meta, get_win_by_id('1')), err_toggle);
- }
- else if (key == get_available_keycode_to_action("to_wk_keywin"))
- {
- exit_err(toggle_window(win_meta, get_win_by_id('2')), err_toggle);
- }
- else if (key == get_available_keycode_to_action("to_mapwin"))
- {
- exit_err(toggle_window(win_meta, win_map), err_toggle);
- }
- else if (key == get_available_keycode_to_action("to_infowin"))
- {
- exit_err(toggle_window(win_meta, get_win_by_id('i')), err_toggle);
- }
- else if (key == get_available_keycode_to_action("to_inv"))
- {
- exit_err(toggle_window(win_meta, get_win_by_id('c')), err_toggle);
- }
- else if (key == get_available_keycode_to_action("to_logwin"))
- {
- exit_err(toggle_window(win_meta, get_win_by_id('l')), err_toggle);
- }
- else if (key == get_available_keycode_to_action("save_conf"))
- {
- save_interface_conf();
- }
- else if (key == get_available_keycode_to_action("g_keys_u"))
- {
- move_keyb_mod_selection(&world.kb_global, 'u');
- }
- else if (key == get_available_keycode_to_action("g_keys_d"))
- {
- move_keyb_mod_selection(&world.kb_global, 'd');
- }
- else if (key == get_available_keycode_to_action("g_keys_m"))
- {
- mod_selected_keyb(&world.kb_global);
- }
- else if (key == get_available_keycode_to_action("wg_keys_u"))
- {
- move_keyb_mod_selection(&world.kb_wingeom, 'u');
- }
- else if (key == get_available_keycode_to_action("wg_keys_d"))
- {
- move_keyb_mod_selection(&world.kb_wingeom, 'd');
- }
- else if (key == get_available_keycode_to_action("wg_keys_m"))
- {
- mod_selected_keyb(&world.kb_wingeom);
- }
- else if (key == get_available_keycode_to_action("wk_keys_u"))
- {
- move_keyb_mod_selection(&world.kb_winkeys, 'u');
- }
- else if (key == get_available_keycode_to_action("wk_keys_d"))
- {
- move_keyb_mod_selection(&world.kb_winkeys, 'd');
- }
- else if (key == get_available_keycode_to_action("wk_keys_m"))
- {
- mod_selected_keyb(&world.kb_winkeys);
- }
- else if (key == get_available_keycode_to_action("map_u"))
- {
- map_scroll(win_map, world.map->size, NORTH);
- }
- else if (key == get_available_keycode_to_action("map_d"))
- {
- map_scroll(win_map, world.map->size, SOUTH);
- }
- else if (key == get_available_keycode_to_action("map_r"))
- {
- map_scroll(win_map, world.map->size, EAST);
- }
- else if (key == get_available_keycode_to_action("map_l"))
- {
- map_scroll(win_map, world.map->size, WEST);
- }
- else if (key == get_available_keycode_to_action("map_c"))
- {
- struct MapObj * player = get_player();
- win_map->center = player->pos;
- }
- else if (key == get_available_keycode_to_action("inv_u"))
- {
- nav_inventory('u');
- }
- else if (key == get_available_keycode_to_action("inv_d"))
- {
- nav_inventory('d');
- }
- else if (key == get_available_keycode_to_action("reload_conf"))
- {
- unload_interface_conf();
- load_interface_conf();
- }
- else if (key == get_available_keycode_to_action("winconf"))
- {
- toggle_winconfig(world.wmeta->active);
- }
- return 0;
+ uint8_t ret = (key == get_available_keycode_to_action("quit"));
+ if ( (0 == ret)
+ && ( try_cmd_0args('k', key, "winconf", toggle_winconfig)
+ || try_cmd_0args('k', key, "reload_conf", reload_interface_conf)
+ || try_cmd_0args('k', key, "save_conf", save_interface_conf)
+ || try_cmd_0args('k', key, "map_c", map_center)
+ || try_cmd_1args('k', key, "scrl_r", scroll_pad, '+')
+ || try_cmd_1args('k', key, "scrl_l", scroll_pad, '-')
+ || try_cmd_1args('k', key, "to_a_keywin", toggle_window, 'k')
+ || try_cmd_1args('k', key, "to_g_keywin", toggle_window, '0')
+ || try_cmd_1args('k', key, "to_wg_keywin", toggle_window, '1')
+ || try_cmd_1args('k', key, "to_wk_keywin", toggle_window, '2')
+ || try_cmd_1args('k', key, "to_mapwin", toggle_window, 'm')
+ || try_cmd_1args('k', key, "to_infowin", toggle_window, 'i')
+ || try_cmd_1args('k', key, "to_inv", toggle_window, 'c')
+ || try_cmd_1args('k', key, "to_logwin", toggle_window, 'l')
+ || try_cmd_1args('k', key, "cyc_win_f", wrap_cycle_active_win, 'f')
+ || try_cmd_1args('k', key, "cyc_win_b", wrap_cycle_active_win, 'b')
+ || try_cmd_1args('k', key, "g_keys_m", wrap_mod_selected_keyb, 'G')
+ || try_cmd_1args('k', key, "wg_keys_m", wrap_mod_selected_keyb, 'g')
+ || try_cmd_1args('k', key, "wk_keys_m", wrap_mod_selected_keyb, 'k')
+ || try_cmd_1args('k', key, "inv_u", nav_inventory, 'u')
+ || try_cmd_1args('k', key, "inv_d", nav_inventory, 'd')
+ || try_cmd_1args('k', key, "map_u", map_scroll, 'N')
+ || try_cmd_1args('k', key, "map_d", map_scroll, 'S')
+ || try_cmd_1args('k', key, "map_r", map_scroll, 'E')
+ || try_cmd_1args('k', key, "map_l", map_scroll, 'W')
+ || try_cmd_2args('k', key, "g_keys_u", wrap_mv_kb_mod, 'G', 'u')
+ || try_cmd_2args('k', key, "g_keys_d", wrap_mv_kb_mod, 'G', 'd')
+ || try_cmd_2args('k', key, "wg_keys_u", wrap_mv_kb_mod, 'g', 'u')
+ || try_cmd_2args('k', key, "wg_keys_d", wrap_mv_kb_mod, 'g', 'd')
+ || try_cmd_2args('k', key, "wk_keys_u", wrap_mv_kb_mod, 'k', 'u')
+ || try_cmd_2args('k', key, "wk_keys_d", wrap_mv_kb_mod, 'k', 'd')))
+ {
+ ;
+ }
+ return ret;