Revert to use fakekey_send_event.
This commit is contained in:
		@ -604,6 +604,23 @@ on_xkl_state_changed (XklEngine           *xklengine,
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef HAVE_FAKEKEY
 | 
					#ifdef HAVE_FAKEKEY
 | 
				
			||||||
 | 
					G_INLINE_FUNC FakeKeyModifier
 | 
				
			||||||
 | 
					get_fakekey_modifiers (EekModifierType modifiers)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    FakeKeyModifier retval = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (modifiers & EEK_SHIFT_MASK)
 | 
				
			||||||
 | 
					        retval |= FAKEKEYMOD_SHIFT;
 | 
				
			||||||
 | 
					    if (modifiers & EEK_CONTROL_MASK)
 | 
				
			||||||
 | 
					        retval |= FAKEKEYMOD_CONTROL;
 | 
				
			||||||
 | 
					    if (modifiers & EEK_MOD1_MASK)
 | 
				
			||||||
 | 
					        retval |= FAKEKEYMOD_ALT;
 | 
				
			||||||
 | 
					    if (modifiers & EEK_META_MASK)
 | 
				
			||||||
 | 
					        retval |= FAKEKEYMOD_META;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return retval;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
on_key_pressed (EekKeyboard *keyboard,
 | 
					on_key_pressed (EekKeyboard *keyboard,
 | 
				
			||||||
                EekKey      *key,
 | 
					                EekKey      *key,
 | 
				
			||||||
@ -616,10 +633,21 @@ on_key_pressed (EekKeyboard *keyboard,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
 | 
					    symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
 | 
				
			||||||
    if (EEK_IS_KEYSYM(symbol) && !eek_symbol_is_modifier (symbol)) {
 | 
					    if (EEK_IS_KEYSYM(symbol) && !eek_symbol_is_modifier (symbol)) {
 | 
				
			||||||
        fakekey_press_keysym (client->fakekey,
 | 
					        guint xkeysym = eek_keysym_get_xkeysym (EEK_KEYSYM(symbol));
 | 
				
			||||||
                              eek_keysym_get_xkeysym (EEK_KEYSYM(symbol)),
 | 
					        guint keycode =
 | 
				
			||||||
                              0);
 | 
					            XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (client->display), xkeysym);
 | 
				
			||||||
        fakekey_release (client->fakekey);
 | 
					        EekModifierType modifiers =
 | 
				
			||||||
 | 
					            eek_keyboard_get_modifiers (client->keyboard);
 | 
				
			||||||
 | 
					        FakeKeyModifier fakekey_modifiers = get_fakekey_modifiers (modifiers);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        fakekey_send_keyevent (client->fakekey,
 | 
				
			||||||
 | 
					                               keycode,
 | 
				
			||||||
 | 
					                               TRUE,
 | 
				
			||||||
 | 
					                               fakekey_modifiers);
 | 
				
			||||||
 | 
					        fakekey_send_keyevent (client->fakekey,
 | 
				
			||||||
 | 
					                               keycode,
 | 
				
			||||||
 | 
					                               FALSE,
 | 
				
			||||||
 | 
					                               fakekey_modifiers);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user