X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finput%2Fkeyboard.h;h=15fe4f95cd814f7ef6c7034659c265f29ede18d9;hb=84e5e859191eeca5cf8b58da29b5f369be25c93c;hp=54479ea9da6e42873683a66647778b1698146c46;hpb=999ca92aa9ee10585c0b2094d84364159253982f;p=libs%2Fgui.git diff --git a/source/input/keyboard.h b/source/input/keyboard.h index 54479ea..15fe4f9 100644 --- a/source/input/keyboard.h +++ b/source/input/keyboard.h @@ -1,31 +1,33 @@ -/* $Id$ - -This file is part of libmspgbase -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#ifndef MSP_GBASE_KEYBOARD_H_ -#define MSP_GBASE_KEYBOARD_H_ +#ifndef MSP_INPUT_KEYBOARD_H_ +#define MSP_INPUT_KEYBOARD_H_ +#include +#include +#include #include "device.h" -#include "../gbase/window.h" namespace Msp { namespace Input { -class Keyboard: public Device +/** +Adapts key events from a window to the abstracted input framework. Key codes +are translated to platform-independent values. See keys.h for a list. +*/ +class Keyboard: public Device, public sigc::trackable { +public: + sigc::signal::accumulated signal_character; + private: Graphics::Window &window; public: Keyboard(Graphics::Window &); + virtual ~Keyboard(); virtual std::string get_button_name(unsigned) const; private: - void key_press(unsigned, unsigned, unsigned); - void key_release(unsigned, unsigned); + void input_event(const Graphics::Window::Event &); }; } // namespace Input