Index: /trunk/src/VBox/Devices/Input/PS2K.cpp
===================================================================
--- /trunk/src/VBox/Devices/Input/PS2K.cpp	(revision 55072)
+++ /trunk/src/VBox/Devices/Input/PS2K.cpp	(revision 55073)
@@ -611,4 +611,28 @@
 }
 
+#ifdef IN_RING3
+/**
+ * Notify listener about LEDs state change.
+ *
+ * @param   pThis           The PS/2 keyboard instance data.
+ * @param   u8State         Bitfield which reflects LEDs state.
+ */
+static void PS2KNotifyLedsState(PPS2K pThis, uint8_t u8State)
+{
+
+    PDMKEYBLEDS enmLeds = PDMKEYBLEDS_NONE;
+
+    if (u8State & 0x01)
+        enmLeds = (PDMKEYBLEDS)(enmLeds | PDMKEYBLEDS_SCROLLLOCK);
+    if (u8State & 0x02)
+        enmLeds = (PDMKEYBLEDS)(enmLeds | PDMKEYBLEDS_NUMLOCK);
+    if (u8State & 0x04)
+        enmLeds = (PDMKEYBLEDS)(enmLeds | PDMKEYBLEDS_CAPSLOCK);
+
+    pThis->Keyboard.pDrv->pfnLedStatusChange(pThis->Keyboard.pDrv, enmLeds);
+
+}
+#endif /* IN_RING3 */
+
 /**
  * Receive and process a byte sent by the keyboard controller.
@@ -696,13 +720,5 @@
 #else
                     {
-                        PDMKEYBLEDS enmLeds = PDMKEYBLEDS_NONE;
-
-                        if (cmd & 0x01)
-                            enmLeds = (PDMKEYBLEDS)(enmLeds | PDMKEYBLEDS_SCROLLLOCK);
-                        if (cmd & 0x02)
-                            enmLeds = (PDMKEYBLEDS)(enmLeds | PDMKEYBLEDS_NUMLOCK);
-                        if (cmd & 0x04)
-                            enmLeds = (PDMKEYBLEDS)(enmLeds | PDMKEYBLEDS_CAPSLOCK);
-                        pThis->Keyboard.pDrv->pfnLedStatusChange(pThis->Keyboard.pDrv, enmLeds);
+                        PS2KNotifyLedsState(pThis, cmd);
                         pThis->fNumLockOn = !!(cmd & 0x02); /* Sync internal Num Lock state. */
                         ps2kInsertQueue((GeneriQ *)&pThis->cmdQ, KRSP_ACK);
@@ -1335,4 +1351,7 @@
      */
     ps2kReleaseKeys(pThis);
+#ifdef IN_RING3
+    PS2KNotifyLedsState(pThis, pThis->u8LEDs);
+#endif
     return VINF_SUCCESS;
 }
