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-07-30 16:00:49 +0000
committerStijn Buys <ingar@osirion.org>2008-07-30 16:00:49 +0000
commitd09a1be33a647aedc12ce5ddcb7ea4ee23a75c8c (patch)
tree8fe9d8778223e22e8c957b59c51bccabb98d2b94 /src/client/keyboard.cc
parentad436de3a520fb2469dafe23afe03dd0afe8d189 (diff)
various minor issues: ESC closing chat, g_autolevel
Diffstat (limited to 'src/client/keyboard.cc')
-rw-r--r--src/client/keyboard.cc22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/client/keyboard.cc b/src/client/keyboard.cc
index e0c5642..791e6df 100644
--- a/src/client/keyboard.cc
+++ b/src/client/keyboard.cc
@@ -52,6 +52,7 @@ Keyboard::Keyboard()
add_action("+control", Action::None, "enable mouse control while pressed");
// ------------------ KEYS
+ Key *key = 0;
add_key("backspace", SDLK_BACKSPACE);
add_key("tab", SDLK_TAB);
@@ -113,15 +114,18 @@ Keyboard::Keyboard()
add_key("k", SDLK_k, 'k');
add_key("l", SDLK_l, 'l');
add_key("m", SDLK_m, 'm');
- add_key("n", SDLK_n, 'n', "target_next");
+ key = add_key("n", SDLK_n, 'n', "target_next");
+ key->assign(Key::Shift, "target_prev");
add_key("o", SDLK_o, 'o');
- add_key("p", SDLK_p, 'p', "target_prev");
+ add_key("p", SDLK_p, 'p');
add_key("q", SDLK_q, 'q');
add_key("r", SDLK_r, 'r');
add_key("s", SDLK_s, 's');
add_key("t", SDLK_t, 't', "ui_chat");
add_key("u", SDLK_u, 'u');
- add_key("v", SDLK_v, 'v', "ui_view");
+ key = add_key("v", SDLK_v, 'v', "view_next");
+ key->assign(Key::Shift, "view_prev");
+
add_key("w", SDLK_w, 'w');
add_key("x", SDLK_x, 'x');
add_key("y", SDLK_y, 'y');
@@ -423,14 +427,18 @@ void Keyboard::unbindall()
}
}
-void Keyboard::add_key(const char *name, const unsigned int keysym, const char ascii, const char *bind)
+Key * Keyboard::add_key(const char *name, const unsigned int keysym, const char ascii, const char *bind)
{
- keys[keysym] = new Key(name, keysym, ascii, bind);
+ Key *newkey = new Key(name, keysym, ascii, bind);
+ keys[keysym] = newkey;
+ return newkey;
}
-void Keyboard::add_action(const char *name, Action::Identifier action, const char *info)
+Action * Keyboard::add_action(const char *name, Action::Identifier action, const char *info)
{
- actions.push_back(new Action(name, action, info));
+ Action *newaction = new Action(name, action, info);
+ actions.push_back(newaction);
+ return newaction;
}
void Keyboard::list_actions()