diff options
author | Stijn Buys <ingar@osirion.org> | 2008-07-30 16:00:49 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-07-30 16:00:49 +0000 |
commit | d09a1be33a647aedc12ce5ddcb7ea4ee23a75c8c (patch) | |
tree | 8fe9d8778223e22e8c957b59c51bccabb98d2b94 /src/client/keyboard.cc | |
parent | ad436de3a520fb2469dafe23afe03dd0afe8d189 (diff) |
various minor issues: ESC closing chat, g_autolevel
Diffstat (limited to 'src/client/keyboard.cc')
-rw-r--r-- | src/client/keyboard.cc | 22 |
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() |