Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-02-22 22:36:23 +0000
committerStijn Buys <ingar@osirion.org>2008-02-22 22:36:23 +0000
commit82c06412ef39522c4deab457ce7a3e78160d8a19 (patch)
tree80a656d624c1d979df956a6982fb2246b81b6c69 /src/client/console.cc
parent9b041ac2e075bfb3a30397a8acdc5432860d2c84 (diff)
keypad and numlock support
Diffstat (limited to 'src/client/console.cc')
-rw-r--r--src/client/console.cc16
1 files changed, 5 insertions, 11 deletions
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<std::string>::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;