X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgbase%2Fwindow.cpp;h=4a14441e9c3704507520135239ac63ae729ea14d;hb=7a4a508629d370c4a79791c7e62fd6f59e8564e9;hp=da877e966679b8ffd8f66b362a9f8feec2b6e695;hpb=b453da0696b24cc02a7fcf5127afcd7baef9c801;p=libs%2Fgui.git diff --git a/source/gbase/window.cpp b/source/gbase/window.cpp index da877e9..4a14441 100644 --- a/source/gbase/window.cpp +++ b/source/gbase/window.cpp @@ -19,8 +19,6 @@ Distributed under the LGPL using namespace std; -#include - namespace Msp { namespace Graphics { @@ -231,11 +229,11 @@ void Window::event(const XEvent &ev) char buf[16]; XLookupString(const_cast(&ev.xkey), buf, sizeof(buf), 0, 0); // XXX Handle the result according to locale - signal_key_press.emit(ev.xkey.keycode, ev.xkey.state, buf[0]); + signal_key_press.emit(XKeycodeToKeysym(display.get_display(), ev.xkey.keycode, 0), ev.xkey.state, buf[0]); } break; case KeyRelease: - signal_key_release.emit(ev.xkey.keycode, ev.xkey.state); + signal_key_release.emit(XKeycodeToKeysym(display.get_display(), ev.xkey.keycode, 0), ev.xkey.state); break; case ConfigureNotify: options.width=ev.xconfigure.width; @@ -264,10 +262,10 @@ int Window::wndproc(UINT msg, WPARAM wp, LPARAM lp) switch(msg) { case WM_KEYDOWN: - signal_key_press.emit((lp>>16)&0x1FF, 0, wp); + signal_key_press.emit(wp, 0, wp); break; case WM_KEYUP: - signal_key_release.emit((lp>>16)&0x1FF, 0); + signal_key_release.emit(wp, 0); break; case WM_LBUTTONDOWN: signal_button_press.emit(GET_X_LPARAM(lp), GET_Y_LPARAM(lp), 1, 0);