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/i80... ============================================================================== --- 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/ntus... ============================================================================== --- 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 */