From d09a1be33a647aedc12ce5ddcb7ea4ee23a75c8c Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Wed, 30 Jul 2008 16:00:49 +0000 Subject: various minor issues: ESC closing chat, g_autolevel --- src/client/keyboard.cc | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'src/client/keyboard.cc') 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() -- cgit v1.2.3