Added the sf::Event::KeyEvent::System member (implements feature #8)
This commit is contained in:
parent
eac841ec71
commit
ede01df778
13 changed files with 17 additions and 1 deletions
|
@ -686,12 +686,14 @@ bool WindowImplX11::ProcessEvent(XEvent windowEvent)
|
|||
XLookupString(&windowEvent.xkey, buffer, sizeof(buffer), &symbol, &keyboard);
|
||||
|
||||
// Fill the event parameters
|
||||
// TODO: if modifiers are wrong, use XGetModifierMapping to retrieve the actual modifiers mapping
|
||||
Event event;
|
||||
event.Type = Event::KeyPressed;
|
||||
event.Key.Code = KeysymToSF(symbol);
|
||||
event.Key.Alt = windowEvent.xkey.state & Mod1Mask;
|
||||
event.Key.Control = windowEvent.xkey.state & ControlMask;
|
||||
event.Key.Shift = windowEvent.xkey.state & ShiftMask;
|
||||
event.Key.System = windowEvent.xkey.state & Mod4Mask;
|
||||
PushEvent(event);
|
||||
|
||||
// Generate a TextEntered event
|
||||
|
@ -749,6 +751,7 @@ bool WindowImplX11::ProcessEvent(XEvent windowEvent)
|
|||
event.Key.Alt = windowEvent.xkey.state & Mod1Mask;
|
||||
event.Key.Control = windowEvent.xkey.state & ControlMask;
|
||||
event.Key.Shift = windowEvent.xkey.state & ShiftMask;
|
||||
event.Key.System = windowEvent.xkey.state & Mod4Mask;
|
||||
PushEvent(event);
|
||||
|
||||
break;
|
||||
|
|
|
@ -498,6 +498,7 @@ void WindowImplWin32::ProcessEvent(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
event.Key.Alt = HIWORD(GetAsyncKeyState(VK_MENU)) != 0;
|
||||
event.Key.Control = HIWORD(GetAsyncKeyState(VK_CONTROL)) != 0;
|
||||
event.Key.Shift = HIWORD(GetAsyncKeyState(VK_SHIFT)) != 0;
|
||||
event.Key.System = HIWORD(GetAsyncKeyState(VK_LWIN)) || HIWORD(GetAsyncKeyState(VK_RWIN));
|
||||
event.Key.Code = VirtualKeyCodeToSF(wParam, lParam);
|
||||
PushEvent(event);
|
||||
}
|
||||
|
@ -514,6 +515,7 @@ void WindowImplWin32::ProcessEvent(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
event.Key.Control = HIWORD(GetAsyncKeyState(VK_CONTROL)) != 0;
|
||||
event.Key.Shift = HIWORD(GetAsyncKeyState(VK_SHIFT)) != 0;
|
||||
event.Key.Code = VirtualKeyCodeToSF(wParam, lParam);
|
||||
event.Key.System = HIWORD(GetAsyncKeyState(VK_LWIN)) || HIWORD(GetAsyncKeyState(VK_RWIN));
|
||||
PushEvent(event);
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue