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/key…
==============================================================================
--- 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))