|
|
@@ -464,10 +464,10 @@ struct LinuxDevice
|
|
|
MouseButton::Enum mb;
|
|
|
switch (event.xbutton.button)
|
|
|
{
|
|
|
- case Button1: mb = MouseButton::LEFT; break;
|
|
|
- case Button2: mb = MouseButton::MIDDLE; break;
|
|
|
- case Button3: mb = MouseButton::RIGHT; break;
|
|
|
- default: mb = MouseButton::COUNT; break;
|
|
|
+ case Button1: mb = MouseButton::LEFT; break;
|
|
|
+ case Button2: mb = MouseButton::MIDDLE; break;
|
|
|
+ case Button3: mb = MouseButton::RIGHT; break;
|
|
|
+ default: mb = MouseButton::COUNT; break;
|
|
|
}
|
|
|
|
|
|
if (mb != MouseButton::COUNT)
|
|
|
@@ -496,6 +496,16 @@ struct LinuxDevice
|
|
|
{
|
|
|
KeySym keysym = XLookupKeysym(&event.xkey, 0);
|
|
|
|
|
|
+ KeyboardButton::Enum kb = x11_translate_key(keysym);
|
|
|
+ if (kb != KeyboardButton::COUNT)
|
|
|
+ {
|
|
|
+ _queue.push_button_event(InputDeviceType::KEYBOARD
|
|
|
+ , 0
|
|
|
+ , kb
|
|
|
+ , event.type == KeyPress
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
if (event.type == KeyPress)
|
|
|
{
|
|
|
Status status = 0;
|
|
|
@@ -504,7 +514,7 @@ struct LinuxDevice
|
|
|
, &event.xkey
|
|
|
, (char*)utf8
|
|
|
, sizeof(utf8)
|
|
|
- , &keysym
|
|
|
+ , NULL
|
|
|
, &status
|
|
|
);
|
|
|
|
|
|
@@ -514,16 +524,6 @@ struct LinuxDevice
|
|
|
_queue.push_text_event(len, utf8);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- KeyboardButton::Enum kb = x11_translate_key(keysym);
|
|
|
- if (kb != KeyboardButton::COUNT)
|
|
|
- {
|
|
|
- _queue.push_button_event(InputDeviceType::KEYBOARD
|
|
|
- , 0
|
|
|
- , kb
|
|
|
- , event.type == KeyPress
|
|
|
- );
|
|
|
- }
|
|
|
}
|
|
|
break;
|
|
|
case KeymapNotify:
|