Signed-off-by: Lei Li <li...@linux.vnet.ibm.com> --- ui/vnc.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/ui/vnc.c b/ui/vnc.c index 5ddb696..fa7ab94 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -1532,10 +1532,11 @@ static void press_key(VncState *vs, int keysym) static void kbd_leds(void *opaque, int ledstate) { VncState *vs = opaque; - int caps, num; + int caps, num, scr; caps = ledstate & QEMU_CAPS_LOCK_LED ? 1 : 0; num = ledstate & QEMU_NUM_LOCK_LED ? 1 : 0; + scr = ledstate & QEMU_SCROLL_LOCK_LED ? 1 : 0; if (vs->modifiers_state[0x3a] != caps) { vs->modifiers_state[0x3a] = caps; @@ -1543,6 +1544,9 @@ static void kbd_leds(void *opaque, int ledstate) if (vs->modifiers_state[0x45] != num) { vs->modifiers_state[0x45] = num; } + if (vs->modifiers_state[0x46] != scr) { + vs->modifiers_state[0x46] = scr; + } } static void do_key_event(VncState *vs, int down, int keycode, int sym) -- 1.7.7.6