Author: zguo
Date: Fri Oct 24 21:27:13 2014
New Revision: 64973

URL: http://svn.reactos.org/svn/reactos?rev=64973&view=rev
Log:
[WIN32K]
Incorporate fix for keyboard indicator lights.

CORE-8547

Modified:
    branches/0.3.17/reactos/   (props changed)
    branches/0.3.17/reactos/drivers/input/i8042prt/keyboard.c
    branches/0.3.17/reactos/win32ss/user/ntuser/keyboard.c

Propchange: branches/0.3.17/reactos/
------------------------------------------------------------------------------
--- svn:mergeinfo       (original)
+++ svn:mergeinfo       Fri Oct 24 21:27:13 2014
@@ -18,4 +18,4 @@
 
/branches/usb-bringup:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859
 /branches/usb-bringup-trunk:55019-55543,55548-55554,55556-55567
 /branches/wlan-bringup:54809-54998
-/trunk/reactos:64752-64754,64765,64769,64771,64776,64793,64800,64825,64829,64832-64833,64859,64909
+/trunk/reactos:64752-64754,64765,64769,64771,64776,64793,64800,64825,64829,64832-64833,64859,64908-64909

Modified: branches/0.3.17/reactos/drivers/input/i8042prt/keyboard.c
URL: 
http://svn.reactos.org/svn/reactos/branches/0.3.17/reactos/drivers/input/i8042prt/keyboard.c?rev=64973&r1=64972&r2=64973&view=diff
==============================================================================
--- branches/0.3.17/reactos/drivers/input/i8042prt/keyboard.c   [iso-8859-1] 
(original)
+++ branches/0.3.17/reactos/drivers/input/i8042prt/keyboard.c   [iso-8859-1] 
Fri Oct 24 21:27:13 2014
@@ -694,7 +694,7 @@
                {
                        TRACE_(I8042PRT, "IRP_MJ_INTERNAL_DEVICE_CONTROL / 
IOCTL_KEYBOARD_QUERY_INDICATORS\n");
 
-                       if (Stack->Parameters.DeviceIoControl.InputBufferLength 
< sizeof(KEYBOARD_INDICATOR_PARAMETERS))
+                       if 
(Stack->Parameters.DeviceIoControl.OutputBufferLength < 
sizeof(KEYBOARD_INDICATOR_PARAMETERS))
                        {
                                Status = STATUS_BUFFER_TOO_SMALL;
                        }

Modified: branches/0.3.17/reactos/win32ss/user/ntuser/keyboard.c
URL: 
http://svn.reactos.org/svn/reactos/branches/0.3.17/reactos/win32ss/user/ntuser/keyboard.c?rev=64973&r1=64972&r2=64973&view=diff
==============================================================================
--- branches/0.3.17/reactos/win32ss/user/ntuser/keyboard.c      [iso-8859-1] 
(original)
+++ branches/0.3.17/reactos/win32ss/user/ntuser/keyboard.c      [iso-8859-1] 
Fri Oct 24 21:27:13 2014
@@ -61,7 +61,7 @@
 
     while (pRet)
     {
-        Status = NtDeviceIoControlFile(hKeyboardDevice,
+        Status = ZwDeviceIoControlFile(hKeyboardDevice,
                                        NULL,
                                        NULL,
                                        NULL,
@@ -104,8 +104,7 @@
 NTSTATUS APIENTRY
 IntKeyboardUpdateLeds(HANDLE hKeyboardDevice,
                       WORD wVk,
-                      WORD wScanCode,
-                      BOOL bEnabled)
+                      WORD wScanCode)
 {
     NTSTATUS Status;
     UINT i;
@@ -133,13 +132,10 @@
 
     if (LedFlag)
     {
-        if (bEnabled)
-            gIndicators.LedFlags |= LedFlag;
-        else
-            gIndicators.LedFlags = ~LedFlag;
+        gIndicators.LedFlags ^= LedFlag;
 
         /* Update the lights on the hardware */
-        Status = NtDeviceIoControlFile(hKeyboardDevice,
+        Status = ZwDeviceIoControlFile(hKeyboardDevice,
                                        NULL,
                                        NULL,
                                        NULL,
@@ -164,10 +160,10 @@
 {
     NTSTATUS Status;
     IO_STATUS_BLOCK Block;
-/*
+
     IntKeyboardGetIndicatorTrans(hKeyboardDevice, &gpKeyboardIndicatorTrans);
 
-    Status = NtDeviceIoControlFile(hKeyboardDevice,
+    Status = ZwDeviceIoControlFile(hKeyboardDevice,
                                    NULL,
                                    NULL,
                                    NULL,
@@ -186,9 +182,9 @@
                    gIndicators.LedFlags & KEYBOARD_NUM_LOCK_ON);
     SET_KEY_LOCKED(gafAsyncKeyState, VK_SCROLL,
                    gIndicators.LedFlags & KEYBOARD_SCROLL_LOCK_ON);
-*/
+
     // FIXME: Need device driver to work! HID support more than one!!!!
-    Status = NtDeviceIoControlFile(hKeyboardDevice,
+    Status = ZwDeviceIoControlFile(hKeyboardDevice,
                                    NULL,
                                    NULL,
                                    NULL,
@@ -808,8 +804,7 @@
         /* Update keyboard LEDs */
         IntKeyboardUpdateLeds(ghKeyboardDevice,
                               wSimpleVk,
-                              wScanCode,
-                              IS_KEY_LOCKED(gafAsyncKeyState, wSimpleVk));
+                              wScanCode);
     }
 
     /* Call WH_KEYBOARD_LL hook */


Reply via email to