diff options
author | ennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-09-06 03:26:24 +0000 |
---|---|---|
committer | ennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-09-06 03:26:24 +0000 |
commit | b97ff40fcb0212a3e295b44269fe9552c4acf754 (patch) | |
tree | e77879f58916c5437202425514f8c50b5e222c2f | |
parent | a8a183dca9dfa75807dadc556e84b20aab993ce8 (diff) | |
download | crawl-ref-b97ff40fcb0212a3e295b44269fe9552c4acf754.tar.gz crawl-ref-b97ff40fcb0212a3e295b44269fe9552c4acf754.zip |
Adding back in a menu keymap context so (for example) numpad telnet users can map numpad enter to normal enter.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6876 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r-- | crawl-ref/source/macro.cc | 8 | ||||
-rw-r--r-- | crawl-ref/source/macro.h | 4 | ||||
-rw-r--r-- | crawl-ref/source/menu.cc | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/crawl-ref/source/macro.cc b/crawl-ref/source/macro.cc index 7b6d1d2f76..e40fad3f3f 100644 --- a/crawl-ref/source/macro.cc +++ b/crawl-ref/source/macro.cc @@ -749,7 +749,7 @@ void macro_add_query( void ) mesclr(); mpr("(m)acro, keymap " - "[(k) default, (x) level-map, (t)argeting, (c)onfirm], " + "[(k) default, (x) level-map, (t)argeting, (c)onfirm, m(e)nu], " "(s)ave?", MSGCH_PROMPT); input = m_getch(); @@ -774,6 +774,11 @@ void macro_add_query( void ) keymap = true; keymc = KC_CONFIRM; } + else if (input == 'e') + { + keymap = true; + keymc = KC_MENU; + } else if (input == 'm') keymap = false; else if (input == 's') @@ -796,6 +801,7 @@ void macro_add_query( void ) keymc == KC_LEVELMAP ? "level-map " : keymc == KC_TARGETING ? "targeting " : keymc == KC_CONFIRM ? "confirm " : + keymc == KC_MENU ? "menu " : "buggy") : "", (keymap ? "keymap" : "macro") ); diff --git a/crawl-ref/source/macro.h b/crawl-ref/source/macro.h index 16c13f358c..7ebeee3318 100644 --- a/crawl-ref/source/macro.h +++ b/crawl-ref/source/macro.h @@ -28,13 +28,15 @@ enum KeymapContext { KC_LEVELMAP, // When in the 'X' level map KC_TARGETING, // Only during 'x' and other targeting modes KC_CONFIRM, // When being asked y/n/q questions + KC_MENU, // For menus #ifdef USE_TILE KC_TILE, // For context_for_command() #endif KC_CONTEXT_COUNT, // Must always be the last real context - KC_NONE // Don't apply any keymaps (for menus) + + KC_NONE }; class key_recorder; diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc index 228be0ac72..456fda7c7f 100644 --- a/crawl-ref/source/menu.cc +++ b/crawl-ref/source/menu.cc @@ -210,7 +210,7 @@ void Menu::do_menu() alive = true; while (alive) { - int keyin = getchm(KC_NONE, c_getch); + int keyin = getchm(KC_MENU, c_getch); if (!process_key( keyin )) return; |