int port;
int no_clients_resize;
int force_no_compression;
+ int motionless;
};
/*** E Module ***/
int tls_enabled;
int no_clients_resize;
int force_no_compression;
+ int motionless;
};
struct _E_Rdp_Peer_Item
{
int e_output_w, e_output_h;
int move_x = 0, move_y = 0;
+ int motionless = 0;
uint32_t button = 0;
uint32_t state = 0;
E_Output *e_output = output->primary_output;
e_output_w = e_output->config.mode.w;
e_output_h = e_output->config.mode.h;
+ motionless = peerContext->rdpBackend->motionless;
- if (flags & PTR_FLAGS_MOVE)
+ if (flags & PTR_FLAGS_MOVE && !motionless)
{
if (x < e_output_w && y < e_output_h)
{
move_x = (int)value;
}
- e_info_server_input_mousegen(button, move_x, move_y, state);
+ if (!motionless)
+ e_info_server_input_mousegen(button, move_x, move_y, state);
+ else
+ {
+ if (!(flags & PTR_FLAGS_MOVE))
+ {
+ if (x < e_output_w && y < e_output_h)
+ {
+ move_x = (int)((int)(x - output->prev_x) * output->mouse_scale_w);
+ move_y = (int)((int)(y - output->prev_y) * output->mouse_scale_h);
+ output->prev_x = x;
+ output->prev_y = y;
+ }
+
+ e_info_server_input_mousegen(0, move_x, move_y, E_INFO_EVENT_STATE_MOTION);
+ e_info_server_input_mousegen(button, move_x, move_y, state);
+ }
+ }
return TRUE;
}
b->no_clients_resize = config->no_clients_resize;
b->force_no_compression = config->force_no_compression;
+ b->motionless = config->motionless;
if (config->rdp_key)
{
return EINA_FALSE;
}
- DBG("bindaddress:%s, rdp_key:%s, server_cert:%s, server_key:%s, port:%d, noresize:%d, nocompress:%d",
+ DBG("bindaddress:%s, rdp_key:%s, server_cert:%s, server_key:%s, port:%d, noresize:%d, nocompress:%d, motionless:%d",
config->conf->bind_address?:"no_bind_address", config->conf->rdp_key?:"no_rdp_key",
config->conf->server_cert?:"no_server_cert", config->conf->server_key?:"no_server_key",
- config->conf->port, config->conf->no_clients_resize, config->conf->force_no_compression);
+ config->conf->port, config->conf->no_clients_resize, config->conf->force_no_compression, config->conf->motionless);
return EINA_TRUE;
}
E_CONFIG_VAL(D, T, port, INT);
E_CONFIG_VAL(D, T, no_clients_resize, INT);
E_CONFIG_VAL(D, T, force_no_compression, INT);
+ E_CONFIG_VAL(D, T, motionless, INT);
#undef T
#undef D
config->conf = e_config_domain_load("module.rdp", config->conf_edd);