X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finput%2Fwindows%2Fkeyboard.cpp;h=47f2256a20b3eb9f534b84f1b212f3616bad3ba4;hb=11ab96ba152e389814543a6398e2cd6f17a31092;hp=a598ac8450dcaf4735134d12a80876c43eb35fbe;hpb=8d865a51910c5ef9643a7f9a32e7cab5ec5359e4;p=libs%2Fgui.git diff --git a/source/input/windows/keyboard.cpp b/source/input/windows/keyboard.cpp index a598ac8..47f2256 100644 --- a/source/input/windows/keyboard.cpp +++ b/source/input/windows/keyboard.cpp @@ -1,6 +1,6 @@ +#include "keyboard.h" #include #include -#include "keyboard.h" #include "keys.h" #include "keys_private.h" @@ -33,6 +33,8 @@ void Keyboard::input_event(const Graphics::Window::Event &event) { case WM_KEYDOWN: case WM_KEYUP: + case WM_SYSKEYDOWN: + case WM_SYSKEYUP: { unsigned key = event.wparam | ((event.lparam>>16)&0x100); if(key==VK_SHIFT) @@ -42,7 +44,9 @@ void Keyboard::input_event(const Graphics::Window::Event &event) else key = VK_LSHIFT; } - set_button_state(key_from_sys(key), event.msg==WM_KEYDOWN, true); + set_button_state(key_from_sys(key), false, true); + if(event.msg==WM_KEYDOWN || event.msg==WM_SYSKEYDOWN) + set_button_state(key_from_sys(key), true, true); } break; case WM_CHAR: