[ros-diffs] [hpoussin] 30996: CTRL+SCROLL LOCK+SCROLL LOCK should only work with right control key

hpoussin at svn.reactos.org hpoussin at svn.reactos.org
Tue Dec 4 15:55:49 CET 2007


Author: hpoussin
Date: Tue Dec  4 17:55:49 2007
New Revision: 30996

URL: http://svn.reactos.org/svn/reactos?rev=30996&view=rev
Log:
CTRL+SCROLL LOCK+SCROLL LOCK should only work with right control key

Modified:
    trunk/reactos/drivers/input/i8042prt/keyboard.c

Modified: trunk/reactos/drivers/input/i8042prt/keyboard.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/i8042prt/keyboard.c?rev=30996&r1=30995&r2=30996&view=diff
==============================================================================
--- trunk/reactos/drivers/input/i8042prt/keyboard.c (original)
+++ trunk/reactos/drivers/input/i8042prt/keyboard.c Tue Dec  4 17:55:49 2007
@@ -785,21 +785,18 @@
 	if (PortDeviceExtension->Settings.CrashOnCtrlScroll)
 	{
 		/* Test for CTRL + SCROLL LOCK twice */
-		static const UCHAR ScanCodes[] = { 0x1d, 0x46, 0x46, 0 };
-
-		if (!(Output & 0x80))
-		{
-			if ((Output & 0x7f) == ScanCodes[DeviceExtension->ComboPosition])
-			{
-				DeviceExtension->ComboPosition++;
-				if (ScanCodes[DeviceExtension->ComboPosition] == 0)
-					KeBugCheck(MANUALLY_INITIATED_CRASH);
-			}
-			else if ((Output & 0x7f) == ScanCodes[0])
-				DeviceExtension->ComboPosition = 1;
-			else
-				DeviceExtension->ComboPosition = 0;
-		}
+		static const UCHAR ScanCodes[] = { 0xe0, 0x1d, 0x46, 0xc6, 0x46, 0 };
+
+		if (Output == ScanCodes[DeviceExtension->ComboPosition])
+		{
+			DeviceExtension->ComboPosition++;
+			if (ScanCodes[DeviceExtension->ComboPosition] == 0)
+				KeBugCheck(MANUALLY_INITIATED_CRASH);
+		}
+		else if (Output == ScanCodes[0])
+			DeviceExtension->ComboPosition = 1;
+		else
+			DeviceExtension->ComboPosition = 0;
 	}
 
 	if (i8042KbdCallIsrHook(DeviceExtension, PortStatus, Output, &ToReturn))




More information about the Ros-diffs mailing list