X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finput%2Fkeyboard.cpp;h=0a690d1b686a569a790d187224a3fb4e725e93ec;hb=c430f2d7498e9c2daa515ee9aba3a95257e5e999;hp=cef812c1344d3cdfa5f2c7ef181caf43d29c7f1c;hpb=fcd5f24311fcfe772825a75678e038749401a9be;p=libs%2Fgui.git diff --git a/source/input/keyboard.cpp b/source/input/keyboard.cpp index cef812c..0a690d1 100644 --- a/source/input/keyboard.cpp +++ b/source/input/keyboard.cpp @@ -1,63 +1,22 @@ -/* $Id$ - -This file is part of libmspgbase -Copyright © 2007-2008 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#ifdef WIN32 -#include -#else -#include -#endif -#include -#include "../gbase/display.h" +#include #include "keyboard.h" #include "keys.h" -#define MAPVK_VK_TO_VSC 0 - namespace Msp { namespace Input { Keyboard::Keyboard(Graphics::Window &w): window(w) { - name="Keyboard"; + name = "Keyboard"; buttons.resize(N_KEYS_, false); - window.signal_key_press.connect(sigc::mem_fun(this, &Keyboard::key_press)); - window.signal_key_release.connect(sigc::mem_fun(this, &Keyboard::key_release)); -} - -std::string Keyboard::get_button_name(unsigned btn) const -{ - if(btn==0) - return "None"; -#ifndef WIN32 - const char *str=XKeysymToString(key_to_sys(btn)); - if(!str) - return format("Key %d", btn); - return str; -#else - char buf[128]; - unsigned scan=MapVirtualKey(key_to_sys(btn), MAPVK_VK_TO_VSC); - if(!GetKeyNameText(scan<<16, buf, sizeof(buf))) - return format("Key %d", btn); - return buf; -#endif + window.signal_input_event.connect(sigc::mem_fun(this, &Keyboard::input_event)); } -void Keyboard::key_press(unsigned key, unsigned, unsigned) -{ - set_button_state(key_from_sys(key), true, true); -} - -void Keyboard::key_release(unsigned key, unsigned) -{ - set_button_state(key_from_sys(key), false, true); -} +Keyboard::~Keyboard() +{ } } // namespace Input } // namespace Msp