[ros-diffs] [dchapyshev] 41199: - Implement IOCTL_KEYBOARD_QUERY_ATTRIBUTES (not used yet, see FIXME comment) - Add KeyboardAttributes to I8042_KEYBOARD_EXTENSION

dchapyshev at svn.reactos.org dchapyshev at svn.reactos.org
Fri May 29 19:25:04 CEST 2009


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/i8042prt.h?rev=41199&r1=41198&r2=41199&view=diff
==============================================================================
--- 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/keyboard.c?rev=41199&r1=41198&r2=41199&view=diff
==============================================================================
--- 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;
 		}



More information about the Ros-diffs mailing list