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/keyb... ============================================================================== --- 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))