Author: dchapyshev Date: Fri May 29 21:25:03 2009 New Revision: 41199
URL: http://svn.reactos.org/svn/reactos?rev=41199&view=rev Log: - Implement IOCTL_KEYBOARD_QUERY_ATTRIBUTES (not used yet, see FIXME comment) - Add KeyboardAttributes to I8042_KEYBOARD_EXTENSION
Modified: trunk/reactos/drivers/input/i8042prt/i8042prt.h trunk/reactos/drivers/input/i8042prt/keyboard.c
Modified: trunk/reactos/drivers/input/i8042prt/i8042prt.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/i8042prt/i804... ============================================================================== --- trunk/reactos/drivers/input/i8042prt/i8042prt.h [iso-8859-1] (original) +++ trunk/reactos/drivers/input/i8042prt/i8042prt.h [iso-8859-1] Fri May 29 21:25:03 2009 @@ -147,6 +147,8 @@ INTERNAL_I8042_HOOK_KEYBOARD KeyboardHook; /* FIXME: IsrWritePort ignored */ KDPC DpcKeyboard;
+ KEYBOARD_ATTRIBUTES KeyboardAttributes; + KEYBOARD_INDICATOR_PARAMETERS KeyboardIndicators;
KEYBOARD_SCAN_STATE KeyboardScanState;
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 [iso-8859-1] (original) +++ trunk/reactos/drivers/input/i8042prt/keyboard.c [iso-8859-1] Fri May 29 21:25:03 2009 @@ -636,6 +636,20 @@ case IOCTL_KEYBOARD_QUERY_ATTRIBUTES: { DPRINT1("IOCTL_KEYBOARD_QUERY_ATTRIBUTES not implemented\n"); +#if 0 + /* FIXME: KeyboardAttributes are not initialized anywhere */ + TRACE_(I8042PRT, "IRP_MJ_INTERNAL_DEVICE_CONTROL / IOCTL_KEYBOARD_QUERY_ATTRIBUTES\n"); + if (Stack->Parameters.DeviceIoControl.OutputBufferLength < sizeof(KEYBOARD_ATTRIBUTES)) + { + Status = STATUS_BUFFER_TOO_SMALL; + break; + } + + *(PKEYBOARD_ATTRIBUTES) Irp->AssociatedIrp.SystemBuffer = DeviceExtension->KeyboardAttributes; + Irp->IoStatus.Information = sizeof(KEYBOARD_ATTRIBUTES); + Status = STATUS_SUCCESS; + break; +#endif Status = STATUS_NOT_IMPLEMENTED; break; }