]> git.tdb.fi Git - libs/gui.git/blobdiff - source/input/keyboard.cpp
Fix the Windows version check in Touchscreen::is_available
[libs/gui.git] / source / input / keyboard.cpp
index fff0678441786d7610a8a1e6c23dae1d85d441b8..0a690d1b686a569a790d187224a3fb4e725e93ec 100644 (file)
@@ -1,56 +1,22 @@
-#ifdef WIN32
-#include <windows.h>
-#else
-#include <X11/Xlib.h>
-#endif
-#include <msp/strings/formatter.h>
-#include "../gbase/display.h"
+#include <msp/graphics/window.h>
 #include "keyboard.h"
 #include "keys.h"
 
-#define MAPVK_VK_TO_VSC 0
-
 namespace Msp {
 namespace Input {
 
-Keyboard::Keyboard(Graphics::EventSource &s):
-       source(s)
+Keyboard::Keyboard(Graphics::Window &w):
+       window(w)
 {
        name = "Keyboard";
 
        buttons.resize(N_KEYS_, false);
 
-       source.signal_key_press.connect(sigc::mem_fun(this, &Keyboard::key_press));
-       source.signal_key_release.connect(sigc::mem_fun(this, &Keyboard::key_release));
+       window.signal_input_event.connect(sigc::mem_fun(this, &Keyboard::input_event));
 }
 
-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
-}
-
-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