diff options
-rw-r--r-- | ui/vnc.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1525,10 +1525,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; @@ -1536,6 +1537,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) |