From: Lei Li Date: Thu, 25 Apr 2013 05:29:11 +0000 (+0800) Subject: vnc: Adjust lock state sync logic with VNC_FEATURE_LED_STATE X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e7b2aaccd94a68c7927cae7ca47ced1bddc4f448;p=qemu.git vnc: Adjust lock state sync logic with VNC_FEATURE_LED_STATE Signed-off-by: Lei Li Reviewed-by: Anthony Liguori Message-id: 1366867752-11578-4-git-send-email-lilei@linux.vnet.ibm.com Signed-off-by: Anthony Liguori --- diff --git a/ui/vnc.c b/ui/vnc.c index 899833ae6a..b90281b77b 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -1613,7 +1613,11 @@ static void do_key_event(VncState *vs, int down, int keycode, int sym) break; } + /* Turn off the lock state sync logic if the client support the led + state extension. + */ if (down && vs->vd->lock_key_sync && + !vnc_has_feature(vs, VNC_FEATURE_LED_STATE) && keycode_is_keypad(vs->vd->kbd_layout, keycode)) { /* If the numlock state needs to change then simulate an additional keypress before sending this one. This will happen if the user @@ -1633,6 +1637,7 @@ static void do_key_event(VncState *vs, int down, int keycode, int sym) } if (down && vs->vd->lock_key_sync && + !vnc_has_feature(vs, VNC_FEATURE_LED_STATE) && ((sym >= 'A' && sym <= 'Z') || (sym >= 'a' && sym <= 'z'))) { /* If the capslock state needs to change then simulate an additional keypress before sending this one. This will happen if the user