Check keycode before passing it to fakekey_send_keyevent().
This commit is contained in:
19
src/client.c
19
src/client.c
@ -665,12 +665,19 @@ on_key_pressed (EekKeyboard *keyboard,
|
||||
|
||||
symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
|
||||
if (EEK_IS_KEYSYM(symbol) && !eek_symbol_is_modifier (symbol)) {
|
||||
guint xkeysym = eek_keysym_get_xkeysym (EEK_KEYSYM(symbol));
|
||||
guint keycode =
|
||||
XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (client->display), xkeysym);
|
||||
EekModifierType modifiers =
|
||||
eek_keyboard_get_modifiers (client->keyboard);
|
||||
FakeKeyModifier fakekey_modifiers = get_fakekey_modifiers (modifiers);
|
||||
guint xkeysym;
|
||||
guint keycode;
|
||||
EekModifierType modifiers;
|
||||
FakeKeyModifier fakekey_modifiers;
|
||||
|
||||
xkeysym = eek_keysym_get_xkeysym (EEK_KEYSYM(symbol));
|
||||
g_return_if_fail (xkeysym > 0);
|
||||
keycode = XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (client->display),
|
||||
xkeysym);
|
||||
g_return_if_fail (keycode > 0);
|
||||
|
||||
modifiers = eek_keyboard_get_modifiers (client->keyboard);
|
||||
fakekey_modifiers = get_fakekey_modifiers (modifiers);
|
||||
|
||||
fakekey_send_keyevent (client->fakekey,
|
||||
keycode,
|
||||
|
||||
Reference in New Issue
Block a user