return;
}
+static void
+_e_info_input_thread_keygen(void *data)
+{
+ E_Input_Thread_Request_Input_Gen_Data *input_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(input_data);
+
+ ICINF("[input thread|%s] code(%d), state(%d)\n", __func__, input_data->key_code, input_data->state);
+ _e_info_input_keygen(input_data->key_code, input_data->state);
+}
+
E_API char *
e_info_server_input_keygen(char *name, int code, int state)
{
else
code = code - 8;
- _e_info_input_keygen(code, state);
+ if (e_input_thread_mode_get())
+ {
+ E_Input_Thread_Request_Input_Gen_Data input_data;
+ memset(&input_data, 0, sizeof(E_Input_Thread_Request_Input_Gen_Data));
+
+ input_data.key_code = code;
+ input_data.state = state;
+
+ e_input_backend_thread_safe_call(_e_info_input_thread_keygen, &input_data, sizeof(E_Input_Thread_Request_Input_Gen_Data));
+ }
+ else
+ _e_info_input_keygen(code, state);
return E_INFO_INPUT_RESULT_NONE;
}
+static void
+_e_info_input_thread_touchgen(void *data)
+{
+ E_Input_Thread_Request_Input_Gen_Data *input_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(input_data);
+
+ ICINF("[input thread|%s] index(%d), state(%d), x(%d), y(%d)\n", __func__, input_data->index, input_data->state, input_data->x, input_data->y);
+ _e_info_input_touchgen(input_data->index, input_data->x, input_data->y, input_data->state);
+}
+
E_API char *
e_info_server_input_touchgen(int idx, int x, int y, int state)
{
if (_e_info_input.gen.fd < 0) return "Initialize device first";
- _e_info_input_touchgen(idx, x, y, state);
+ if (e_input_thread_mode_get())
+ {
+ E_Input_Thread_Request_Input_Gen_Data input_data;
+ memset(&input_data, 0, sizeof(E_Input_Thread_Request_Input_Gen_Data));
+
+ input_data.index = idx;
+ input_data.state = state;
+ input_data.x = x;
+ input_data.y = y;
+
+ e_input_backend_thread_safe_call(_e_info_input_thread_touchgen, &input_data, sizeof(E_Input_Thread_Request_Input_Gen_Data));
+ }
+ else
+ _e_info_input_touchgen(idx, x, y, state);
return E_INFO_INPUT_RESULT_NONE;
}
+static void
+_e_info_input_thread_mousegen(void *data)
+{
+ E_Input_Thread_Request_Input_Gen_Data *input_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(input_data);
+
+ ICINF("[input thread|%s] button(%d), state(%d), x(%d), y(%d)\n", __func__, input_data->button, input_data->state, input_data->x, input_data->y);
+ _e_info_input_mousegen(input_data->button, input_data->x, input_data->y, input_data->state);
+}
+
E_API char *
e_info_server_input_mousegen(int button, int x, int y, int state)
{
if (_e_info_input.gen.fd < 0) return "Initialize device first";
- _e_info_input_mousegen(button, x, y, state);
+ if (e_input_thread_mode_get())
+ {
+ E_Input_Thread_Request_Input_Gen_Data input_data;
+ memset(&input_data, 0, sizeof(E_Input_Thread_Request_Input_Gen_Data));
+
+ input_data.button = button;
+ input_data.state = state;
+ input_data.x = x;
+ input_data.y = y;
+
+ e_input_backend_thread_safe_call(_e_info_input_thread_mousegen, &input_data, sizeof(E_Input_Thread_Request_Input_Gen_Data));
+ }
+ else
+ _e_info_input_mousegen(button, x, y, state);
return E_INFO_INPUT_RESULT_NONE;
}