From: Gonglei <arei.gong...@huawei.com> Add HMP change-vnc-kbd-layout wrapper to allow changing VNC server keyboard layout via monitor.
Signed-off-by: Gonglei <arei.gong...@huawei.com> --- hmp-commands.hx | 15 +++++++++++++++ hmp.c | 9 +++++++++ hmp.h | 1 + 3 files changed, 25 insertions(+) diff --git a/hmp-commands.hx b/hmp-commands.hx index e37bc8b..596e0ff 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1627,6 +1627,21 @@ passed since 1970, i.e. unix epoch. ETEXI { + .name = "change-vnc-kbd-layout", + .args_type = "keymap:s", + .params = "keymap", + .help = "change VNC keyboard layout", + .mhandler.cmd = hmp_change_vnc_kbd_layout, + }, + +STEXI +@item change-vnc-kbd-layout @var{keymap} +@findex change-vnc-kbd-layout +Change VNC keyboard layout to @var{keymap} + +ETEXI + + { .name = "chardev-add", .args_type = "args:s", .params = "args", diff --git a/hmp.c b/hmp.c index 63d7686..8d43cbe 100644 --- a/hmp.c +++ b/hmp.c @@ -1758,3 +1758,12 @@ void hmp_info_memory_devices(Monitor *mon, const QDict *qdict) qapi_free_MemoryDeviceInfoList(info_list); } + +void hmp_change_vnc_kbd_layout(Monitor *mon, const QDict *qdict) +{ + Error *local_err = NULL; + const char *keymap = qdict_get_str(qdict, "keymap"); + + qmp_change_vnc_kbd_layout(keymap, &local_err); + hmp_handle_error(mon, &local_err); +} diff --git a/hmp.h b/hmp.h index 4bb5dca..2bc1b27 100644 --- a/hmp.h +++ b/hmp.h @@ -116,5 +116,6 @@ void host_net_remove_completion(ReadLineState *rs, int nb_args, const char *str); void delvm_completion(ReadLineState *rs, int nb_args, const char *str); void loadvm_completion(ReadLineState *rs, int nb_args, const char *str); +void hmp_change_vnc_kbd_layout(Monitor *mon, const QDict *qdict); #endif -- 1.7.12.4