ui: vnc and keymap updates for 2.10
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJZbIWDAAoJEEy22O7T6HE40nEP/3+KejBHAh1OAYQ706Act6u8 p3LXnEAUuaPVkSTFiuOVgkJrE6qFRkQ6kRPtJbFIj5J1XW/+kXDwpVHqRfatyDEb /lJ+su8PZ6MsPvy6SdxMBYMtyPuJ7s5GQ+/3zuKnGtIUJLRQElX+Us+mCQ0c1Ugq 8bhUGIi5QSlCe8Db+wqnhdMrlZmVmhjoruVRhildI7ytpoAdEh6Vol8GHCsMWkJ/ iTocBSpjgI+P7+/YiouopIfNwmLMXVwOME48IAUyhZj4V66jF8bguwn3HUxCyIuX H5AQVm7TCtQ40EgXBHSSdp3vMihdWEIw03rFBohcJsi4Uf9KHFYZsLWdNy6/Veqr MP8dJgPJT4xMs9eSLiCYW7K1Mj9F4xsXkYVt4gc/25aCyk/T1iOWYS/wA6c/2tM5 UCD5Gd4UnwuGsnJSsU4+oAnZmDYnjjd4HbzSB6jG9a6RoFRmZ221eSNuXLUoLFyN nTYpfA/H6etl93Zvse6DS/MdJPdgIsk8mpHTALROY3FhOKJmUALd93N2zL7qSTOK CCJQrgFMwCvlg5teejubSWnauyzB3YInqQBHiZDLif0xV6at2PbjevX/7xBNKa5R s0SAZt/c1DEt+YudG0Ga+PXEcrUr2sHQF8pfNLf2gfag4SOo2gCKlTnHoaDUSky4 5xY0r8fwZgvkzN2Vmz2l =I81A -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/kraxel/tags/ui-20170717-pull-request' into staging ui: vnc and keymap updates for 2.10 # gpg: Signature made Mon 17 Jul 2017 10:38:11 BST # gpg: using RSA key 0x4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/ui-20170717-pull-request: keymaps: fr-ca: add missing keys hmp: Update info vnc vnc: Set default kbd delay to 10ms Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
3408d5aee0
104
hmp.c
104
hmp.c
@ -600,50 +600,92 @@ void hmp_info_blockstats(Monitor *mon, const QDict *qdict)
|
||||
qapi_free_BlockStatsList(stats_list);
|
||||
}
|
||||
|
||||
/* Helper for hmp_info_vnc_clients, _servers */
|
||||
static void hmp_info_VncBasicInfo(Monitor *mon, VncBasicInfo *info,
|
||||
const char *name)
|
||||
{
|
||||
monitor_printf(mon, " %s: %s:%s (%s%s)\n",
|
||||
name,
|
||||
info->host,
|
||||
info->service,
|
||||
NetworkAddressFamily_lookup[info->family],
|
||||
info->websocket ? " (Websocket)" : "");
|
||||
}
|
||||
|
||||
/* Helper displaying and auth and crypt info */
|
||||
static void hmp_info_vnc_authcrypt(Monitor *mon, const char *indent,
|
||||
VncPrimaryAuth auth,
|
||||
VncVencryptSubAuth *vencrypt)
|
||||
{
|
||||
monitor_printf(mon, "%sAuth: %s (Sub: %s)\n", indent,
|
||||
VncPrimaryAuth_lookup[auth],
|
||||
vencrypt ? VncVencryptSubAuth_lookup[*vencrypt] : "none");
|
||||
}
|
||||
|
||||
static void hmp_info_vnc_clients(Monitor *mon, VncClientInfoList *client)
|
||||
{
|
||||
while (client) {
|
||||
VncClientInfo *cinfo = client->value;
|
||||
|
||||
hmp_info_VncBasicInfo(mon, qapi_VncClientInfo_base(cinfo), "Client");
|
||||
monitor_printf(mon, " x509_dname: %s\n",
|
||||
cinfo->has_x509_dname ?
|
||||
cinfo->x509_dname : "none");
|
||||
monitor_printf(mon, " sasl_username: %s\n",
|
||||
cinfo->has_sasl_username ?
|
||||
cinfo->sasl_username : "none");
|
||||
|
||||
client = client->next;
|
||||
}
|
||||
}
|
||||
|
||||
static void hmp_info_vnc_servers(Monitor *mon, VncServerInfo2List *server)
|
||||
{
|
||||
while (server) {
|
||||
VncServerInfo2 *sinfo = server->value;
|
||||
hmp_info_VncBasicInfo(mon, qapi_VncServerInfo2_base(sinfo), "Server");
|
||||
hmp_info_vnc_authcrypt(mon, " ", sinfo->auth,
|
||||
sinfo->has_vencrypt ? &sinfo->vencrypt : NULL);
|
||||
server = server->next;
|
||||
}
|
||||
}
|
||||
|
||||
void hmp_info_vnc(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
VncInfo *info;
|
||||
VncInfo2List *info2l;
|
||||
Error *err = NULL;
|
||||
VncClientInfoList *client;
|
||||
|
||||
info = qmp_query_vnc(&err);
|
||||
info2l = qmp_query_vnc_servers(&err);
|
||||
if (err) {
|
||||
error_report_err(err);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!info->enabled) {
|
||||
monitor_printf(mon, "Server: disabled\n");
|
||||
goto out;
|
||||
if (!info2l) {
|
||||
monitor_printf(mon, "None\n");
|
||||
return;
|
||||
}
|
||||
|
||||
monitor_printf(mon, "Server:\n");
|
||||
if (info->has_host && info->has_service) {
|
||||
monitor_printf(mon, " address: %s:%s\n", info->host, info->service);
|
||||
}
|
||||
if (info->has_auth) {
|
||||
monitor_printf(mon, " auth: %s\n", info->auth);
|
||||
}
|
||||
|
||||
if (!info->has_clients || info->clients == NULL) {
|
||||
monitor_printf(mon, "Client: none\n");
|
||||
} else {
|
||||
for (client = info->clients; client; client = client->next) {
|
||||
monitor_printf(mon, "Client:\n");
|
||||
monitor_printf(mon, " address: %s:%s\n",
|
||||
client->value->host,
|
||||
client->value->service);
|
||||
monitor_printf(mon, " x509_dname: %s\n",
|
||||
client->value->x509_dname ?
|
||||
client->value->x509_dname : "none");
|
||||
monitor_printf(mon, " username: %s\n",
|
||||
client->value->has_sasl_username ?
|
||||
client->value->sasl_username : "none");
|
||||
while (info2l) {
|
||||
VncInfo2 *info = info2l->value;
|
||||
monitor_printf(mon, "%s:\n", info->id);
|
||||
hmp_info_vnc_servers(mon, info->server);
|
||||
hmp_info_vnc_clients(mon, info->clients);
|
||||
if (!info->server) {
|
||||
/* The server entry displays its auth, we only
|
||||
* need to display in the case of 'reverse' connections
|
||||
* where there's no server.
|
||||
*/
|
||||
hmp_info_vnc_authcrypt(mon, " ", info->auth,
|
||||
info->has_vencrypt ? &info->vencrypt : NULL);
|
||||
}
|
||||
if (info->has_display) {
|
||||
monitor_printf(mon, " Display: %s\n", info->display);
|
||||
}
|
||||
info2l = info2l->next;
|
||||
}
|
||||
|
||||
out:
|
||||
qapi_free_VncInfo(info);
|
||||
qapi_free_VncInfo2List(info2l);
|
||||
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPICE
|
||||
|
@ -48,3 +48,5 @@ parenleft 0xa shift
|
||||
parenright 0xb shift
|
||||
underscore 0xc shift
|
||||
plus 0xd shift
|
||||
minus 0xc
|
||||
equal 0xd
|
||||
|
@ -1753,7 +1753,7 @@ spec but is traditional QEMU behavior.
|
||||
@item key-delay-ms
|
||||
|
||||
Set keyboard delay, for key down and key up events, in milliseconds.
|
||||
Default is 1. Keyboards are low-bandwidth devices, so this slowdown
|
||||
Default is 10. Keyboards are low-bandwidth devices, so this slowdown
|
||||
can help the device and guest to keep up and not lose events in case
|
||||
events are arriving in bulk. Possible causes for the latter are flaky
|
||||
network connections, or scripts for automated testing.
|
||||
|
2
ui/vnc.c
2
ui/vnc.c
@ -3808,7 +3808,7 @@ void vnc_display_open(const char *id, Error **errp)
|
||||
}
|
||||
|
||||
lock_key_sync = qemu_opt_get_bool(opts, "lock-key-sync", true);
|
||||
key_delay_ms = qemu_opt_get_number(opts, "key-delay-ms", 1);
|
||||
key_delay_ms = qemu_opt_get_number(opts, "key-delay-ms", 10);
|
||||
sasl = qemu_opt_get_bool(opts, "sasl", false);
|
||||
#ifndef CONFIG_VNC_SASL
|
||||
if (sasl) {
|
||||
|
Loading…
Reference in New Issue
Block a user