Eina_Bool transformEnabled = e_client_transform_core_enable_get(client_surface_ec);
if (transformEnabled && transform != 0)
- e_util_transform_rotation_round_get(transform, NULL, NULL, &angle);
- else
- angle = client_surface_ec->e.state.rot.ang.curr;
+ {
+ e_util_transform_rotation_round_get(transform, NULL, NULL, &angle);
+ /* transformed angle and window rotation angle are diametrically opposite
+ * when they're showing on display. so, adjust transformed angle to window rotation angle */
+ angle = (360 - angle) % 360;
+ }
+ angle += client_surface_ec->e.state.rot.ang.curr;
}
wl_input_method_send_show_input_panel(input_method->resource, input_method->context->resource, angle);