MCPcopy Index your code
hub / github.com/NetHack/NetHack / handler_rebind_keys

Function handler_rebind_keys

src/cmd.c:2407–2446  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2405}
2406
2407void
2408handler_rebind_keys(void)
2409{
2410 winid win;
2411 anything any;
2412 int i, npick;
2413 menu_item *picks = (menu_item *) 0;
2414 int clr = NO_COLOR;
2415
2416 redo_rebind:
2417 win = create_nhwindow(NHW_MENU);
2418 start_menu(win, MENU_BEHAVE_STANDARD);
2419 any = cg.zeroany;
2420
2421 any.a_int = 1;
2422 add_menu(win, &nul_glyphinfo, &any, '\0', 0, ATR_NONE, clr,
2423 "bind key to a command", MENU_ITEMFLAGS_NONE);
2424 any.a_int = 2;
2425 add_menu(win, &nul_glyphinfo, &any, '\0', 0, ATR_NONE, clr,
2426 "bind command to a key", MENU_ITEMFLAGS_NONE);
2427 if (count_bind_keys()) {
2428 any.a_int = 3;
2429 add_menu(win, &nul_glyphinfo, &any, '\0', 0, ATR_NONE, clr,
2430 "view changed key binds", MENU_ITEMFLAGS_NONE);
2431 }
2432 end_menu(win, "Do what?");
2433 npick = select_menu(win, PICK_ONE, &picks);
2434 destroy_nhwindow(win);
2435 if (npick > 0) {
2436 i = picks->item.a_int;
2437 free((genericptr_t) picks);
2438
2439 if (i == 1 || i == 2) {
2440 handler_rebind_keys_add((i == 1));
2441 } else if (i == 3) {
2442 get_changed_key_binds(NULL);
2443 }
2444 goto redo_rebind;
2445 }
2446}
2447
2448void
2449handler_change_autocompletions(void)

Callers 1

optfn_o_bind_keysFunction · 0.85

Calls 5

add_menuFunction · 0.85
count_bind_keysFunction · 0.85
select_menuFunction · 0.85
handler_rebind_keys_addFunction · 0.85
get_changed_key_bindsFunction · 0.85

Tested by

no test coverage detected