From 82c06412ef39522c4deab457ce7a3e78160d8a19 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Fri, 22 Feb 2008 22:36:23 +0000 Subject: keypad and numlock support --- src/client/console.cc | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'src/client/console.cc') diff --git a/src/client/console.cc b/src/client/console.cc index 9c7c6ca..85cb72e 100644 --- a/src/client/console.cc +++ b/src/client/console.cc @@ -204,11 +204,11 @@ void toggle() } } -void keypressed(const SDL_keysym &keysym) +void keypressed(int key) { std::deque::reverse_iterator upit; - switch( keysym.sym ) { + switch( key ) { case SDLK_TAB: core::CommandBuffer::complete( (*history_pos), input_pos); break; @@ -227,7 +227,6 @@ void keypressed(const SDL_keysym &keysym) input_pos = 0; } break; - case SDLK_KP8: case SDLK_UP: upit = history_pos; ++upit; @@ -236,27 +235,22 @@ void keypressed(const SDL_keysym &keysym) input_pos = (*history_pos).size(); } break; - case SDLK_KP2: case SDLK_DOWN: if (history_pos != history.rbegin()) { --history_pos; input_pos = (*history_pos).size(); } break; - case SDLK_KP7: case SDLK_HOME: input_pos = 0; break; - case SDLK_KP1: case SDLK_END: input_pos = (*history_pos).size(); break; - case SDLK_KP4: case SDLK_LEFT: if (input_pos > 0) input_pos--; break; - case SDLK_KP6: case SDLK_RIGHT: if (input_pos < (*history_pos).size()) input_pos++; @@ -276,11 +270,11 @@ void keypressed(const SDL_keysym &keysym) else console_scroll = 0; break; default: - if ((keysym.sym >= 32 ) && (keysym.sym <175)) { + if ((key >= 32 ) && (key <175)) { if (input_pos == (*history_pos).size()) - (*history_pos) += keysym_to_char(keysym); + (*history_pos) += (char)key; else - (*history_pos).insert(input_pos, 1, keysym_to_char(keysym)); + (*history_pos).insert(input_pos, 1, (char)key); input_pos++; } break; -- cgit v1.2.3