fix modifier keys
This commit is contained in:
parent
984eab8e1e
commit
b951e4b5ed
@ -793,13 +793,14 @@ HandleEvents(void* window_ptr)
|
|||||||
KeySym key_sym = XkbKeycodeToKeysym(w.display, cast(KeyCode)code, 0, 0);
|
KeySym key_sym = XkbKeycodeToKeysym(w.display, cast(KeyCode)code, 0, 0);
|
||||||
Input input = ConvertInput(key_sym);
|
Input input = ConvertInput(key_sym);
|
||||||
|
|
||||||
enum modifiers = [Input.LeftShift, Input.RightShift, Input.LeftCtrl, Input.RightCtrl, Input.LeftAlt, Input.RightAlt];
|
enum modifier_inputs = [Input.LeftShift, Input.RightShift, Input.LeftCtrl, Input.RightCtrl, Input.LeftAlt, Input.RightAlt];
|
||||||
|
enum modifiers = [MD.LeftShift, MD.RightShift, MD.LeftCtrl, MD.RightCtrl, MD.LeftAlt, MD.RightAlt];
|
||||||
|
|
||||||
static foreach(md; modifiers)
|
static foreach(i, md; modifier_inputs)
|
||||||
{
|
{
|
||||||
if(input == md)
|
if(input == md)
|
||||||
{
|
{
|
||||||
w.modifier = cast(Modifier)(pressed ? (w.modifier | md) : (w.modifier & ~md));
|
w.modifier = cast(Modifier)(pressed ? (w.modifier | modifiers[i]) : (w.modifier & ~modifiers[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user