]> git.tdb.fi Git - libs/gui.git/blobdiff - source/input/keyboard.h
Inherit input devices using Window::signal_input_event from sigc::trackable
[libs/gui.git] / source / input / keyboard.h
index 822de31df55403e6ebc1211b402af297722b4822..15fe4f95cd814f7ef6c7034659c265f29ede18d9 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef MSP_INPUT_KEYBOARD_H_
 #define MSP_INPUT_KEYBOARD_H_
 
+#include <sigc++/trackable.h>
 #include <msp/graphics/window.h>
 #include <msp/stringcodec/ustring.h>
 #include "device.h"
@@ -12,16 +13,17 @@ namespace Input {
 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
+class Keyboard: public Device, public sigc::trackable
 {
 public:
-       sigc::signal<void, StringCodec::unichar> signal_character;
+       sigc::signal<bool, StringCodec::unichar>::accumulated<EventAccumulator> signal_character;
 
 private:
        Graphics::Window &window;
 
 public:
        Keyboard(Graphics::Window &);
+       virtual ~Keyboard();
 
        virtual std::string get_button_name(unsigned) const;
 private: