| Index: bus/inputcontext.c
|
| diff --git a/bus/inputcontext.c b/bus/inputcontext.c
|
| index 02e02c316f63678144581dfa42e0a8963371458f..c7f2dfb25e60d65479c3f6f1699c7d9caf37f658 100644
|
| --- a/bus/inputcontext.c
|
| +++ b/bus/inputcontext.c
|
| @@ -171,6 +171,9 @@ bus_input_context_new (BusConnection *connection,
|
| context->connection = connection;
|
| context->client = g_strdup (client);
|
|
|
| + /* it is a fake input context, just need process hotkey */
|
| + context->fake = (g_strcmp0 (client, "fake") == 0);
|
| +
|
| g_signal_connect (context->connection,
|
| "destroy",
|
| (GCallback) _connection_destroy_cb,
|
| @@ -701,7 +704,8 @@ _ic_process_key_event (BusInputContext *context,
|
| }
|
| }
|
|
|
| - if (context->has_focus && context->enabled && context->engine) {
|
| + /* ignore key events, if it is a fake input context */
|
| + if (context->has_focus && context->enabled && context->engine && context->fake == FALSE) {
|
| CallData *call_data;
|
|
|
| call_data = g_slice_new (CallData);
|
|
|