summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/menu.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/menu.cc')
-rw-r--r--crawl-ref/source/menu.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc
index f42d56725c..2f417f5179 100644
--- a/crawl-ref/source/menu.cc
+++ b/crawl-ref/source/menu.cc
@@ -1397,7 +1397,7 @@ int linebreak_string( std::string& s, int wrapcol, int maxcol )
return breakcount;
}
-bool menu_browser::jump_to( int i )
+bool formatted_scroller::jump_to( int i )
{
if ( i == first_entry + 1 )
return false;
@@ -1408,18 +1408,20 @@ bool menu_browser::jump_to( int i )
return true;
}
-bool menu_browser::process_key( int keyin )
+bool formatted_scroller::process_key( int keyin )
{
+
+ if (f_keyfilter)
+ keyin = (*f_keyfilter)(keyin);
+
bool repaint = false;
switch ( keyin )
{
case 0:
return true;
- case CK_ENTER:
case CK_ESCAPE:
return false;
- return false;
- case ' ': case '+': case CK_PGDN: case '>': case '\'':
+ case ' ': case '+': case '=': case CK_PGDN: case '>': case '\'':
repaint = page_down();
break;
case '-': case CK_PGUP: case '<': case ';':
@@ -1429,6 +1431,7 @@ bool menu_browser::process_key( int keyin )
repaint = line_up();
break;
case CK_DOWN:
+ case CK_ENTER:
repaint = line_down();
break;
case CK_HOME: