Hi,

> +        .name       = "mouse_move_abs",
> +        .args_type  = "dx_str:s,dy_str:s,dz_str:s?",
> +        .params     = "dx dy [dz]",
> +        .help       = "send mouse move events (absolute coordinates)",
> +        .mhandler.cmd = do_mouse_move_abs,
> +    },
> +
> +STEXI
> +@item mouse_move_abs @var{dx} @var{dy} [@var{dz}]

I think we should drop the dz parameter (you still can send mouse wheel
events via mouse_move 0 0 dz), and add a optional console parameter
instead ...

> +static void do_mouse_move_abs(Monitor *mon, const QDict *qdict)
> +{
> +    int dx, dy, dz, button;
> +    const char *dx_str = qdict_get_str(qdict, "dx_str");
> +    const char *dy_str = qdict_get_str(qdict, "dy_str");
> +    const char *dz_str = qdict_get_try_str(qdict, "dz_str");
> +    int weight, height;

... then pick the console here (if specified):

   QemuConsole *con = NULL;
   if (qdict_get_try_str(qdict, "console")) {
      con = qemu_console_lookup_by_index(...)

That's a new hmp-only command tough.  IIRC there is (or was?) a policy
that no new hmp-only commands are allowed.  Luiz?


A completely different approach would be a qmp command allowing to send
any input event.  Given that the new input layer already uses qapi-types
internally this should be pretty straight forward to do (see InputEvent
in qapi-schema.json).


cheers,
  Gerd



Reply via email to