Remove mouse type selection in usetup. i8042prt driver is always loaded for keyboard and auto-detects the PS/2 mouse (if any) sermouse driver is loaded if a serial mouse is enumerated by serenum driver Modified: trunk/reactos/bootdata/hiveinst.inf Modified: trunk/reactos/bootdata/txtsetup.sif Modified: trunk/reactos/subsys/system/usetup/settings.c Modified: trunk/reactos/subsys/system/usetup/settings.h Modified: trunk/reactos/subsys/system/usetup/usetup.c _____
Modified: trunk/reactos/bootdata/hiveinst.inf --- trunk/reactos/bootdata/hiveinst.inf 2005-06-25 14:04:56 UTC (rev 16266) +++ trunk/reactos/bootdata/hiveinst.inf 2005-06-25 16:01:27 UTC (rev 16267) @@ -17,15 +17,3 @@
; VGA miniport driver
HKLM,"SYSTEM\CurrentControlSet\Services\Vga","Start",0x00010001,0x000000 01 - - -; -; Mouse driver section -; - -; PS/2 mouse port driver -HKLM,"SYSTEM\CurrentControlSet\Services\i8042Prt","Start",0x00010001,0x 00000001 - - -; Serial mouse driver -;HKLM,"SYSTEM\CurrentControlSet\Services\Sermouse","Start",0x00010001,0 x00000001 _____
Modified: trunk/reactos/bootdata/txtsetup.sif --- trunk/reactos/bootdata/txtsetup.sif 2005-06-25 14:04:56 UTC (rev 16266) +++ trunk/reactos/bootdata/txtsetup.sif 2005-06-25 16:01:27 UTC (rev 16267) @@ -96,23 +96,6 @@
00000809 = kbduk.dll 00000807 = kbdsg.dll
-[Mouse] -;<id> = <user friendly name>,<spare>,<service key name> -i8042ps2 = "PS2 Mouse",,i8042prt -;msps2 = "Microsoft PS2 Mouse",,psaux -msser = "Microsoft Serial Mouse",,sermouse -mswhs = "Microsoft Serial Wheel Mouse",,sermouse -none = "No Mouse" - -[Map.Mouse] -;<id> = <pnp id string> -i8042ps2 = "MICROSOFT PS2 MOUSE" -;msps2 = "MICROSOFT PS2 MOUSE" -msser = "MICROSOFT SERIAL MOUSE" -mswhs = "MICROSOFT MOUSE WITH WHEEL" -none = "NO MOUSE" - - [HiveInfs.Install] AddReg=hivecls.inf,AddReg AddReg=hivedef.inf,AddReg _____
Modified: trunk/reactos/subsys/system/usetup/settings.c --- trunk/reactos/subsys/system/usetup/settings.c 2005-06-25 14:04:56 UTC (rev 16266) +++ trunk/reactos/subsys/system/usetup/settings.c 2005-06-25 16:01:27 UTC (rev 16267) @@ -609,386 +609,4 @@
} #endif
- -static BOOLEAN -GetMouseIdentifier(PWSTR ControllerType, - PWSTR Identifier, - ULONG IdentifierLength) -{ - OBJECT_ATTRIBUTES ObjectAttributes; - UNICODE_STRING KeyName; - WCHAR Buffer[32]; - HANDLE BusKey; - HANDLE BusInstanceKey; - HANDLE ControllerKey; - HANDLE ControllerInstanceKey; - HANDLE PeripheralKey; - HANDLE PeripheralInstanceKey; - ULONG BusInstance; - ULONG ControllerInstance; - ULONG PeripheralInstance; - ULONG BufferLength; - ULONG ReturnedLength; - PKEY_VALUE_PARTIAL_INFORMATION ValueInfo; - NTSTATUS Status; - - DPRINT("GetMouseIdentifier() called\n"); - - /* Open the bus key */ - RtlInitUnicodeString(&KeyName, - L"\Registry\Machine\HARDWARE\Description\System\MultifunctionAdapt er"); - InitializeObjectAttributes(&ObjectAttributes, - &KeyName, - OBJ_CASE_INSENSITIVE, - NULL, - NULL); - Status = NtOpenKey(&BusKey, - KEY_ALL_ACCESS, - &ObjectAttributes); - if (!NT_SUCCESS(Status)) - { - DPRINT("NtOpenKey() failed (Status %lx)\n", Status); - return FALSE; - } - - BusInstance = 0; - while (TRUE) - { - swprintf(Buffer, L"%lu", BusInstance); - RtlInitUnicodeString(&KeyName, - Buffer); - InitializeObjectAttributes(&ObjectAttributes, - &KeyName, - OBJ_CASE_INSENSITIVE, - BusKey, - NULL); - Status = NtOpenKey(&BusInstanceKey, - KEY_ALL_ACCESS, - &ObjectAttributes); - if (!NT_SUCCESS(Status)) - { - DPRINT("NtOpenKey() failed (Status %lx)\n", Status); - NtClose(BusKey); - return FALSE; - } - - /* Open the controller type key */ - RtlInitUnicodeString(&KeyName, - ControllerType); - InitializeObjectAttributes(&ObjectAttributes, - &KeyName, - OBJ_CASE_INSENSITIVE, - BusInstanceKey, - NULL); - Status = NtOpenKey(&ControllerKey, - KEY_ALL_ACCESS, - &ObjectAttributes); - if (NT_SUCCESS(Status)) - { - ControllerInstance = 0; - while (TRUE) - { - /* Open the pointer controller instance key */ - swprintf(Buffer, L"%lu", ControllerInstance); - RtlInitUnicodeString(&KeyName, - Buffer); - InitializeObjectAttributes(&ObjectAttributes, - &KeyName, - OBJ_CASE_INSENSITIVE, - ControllerKey, - NULL); - Status = NtOpenKey(&ControllerInstanceKey, - KEY_ALL_ACCESS, - &ObjectAttributes); - if (!NT_SUCCESS(Status)) - { - DPRINT("NtOpenKey() failed (Status %lx)\n", Status); - NtClose(ControllerKey); - NtClose(BusInstanceKey); - NtClose(BusKey); - return FALSE; - } - - /* Open the 'PointerPeripheral' key */ - RtlInitUnicodeString(&KeyName, - L"PointerPeripheral"); - InitializeObjectAttributes(&ObjectAttributes, - &KeyName, - OBJ_CASE_INSENSITIVE, - ControllerInstanceKey, - NULL); - Status = NtOpenKey(&PeripheralKey, - KEY_ALL_ACCESS, - &ObjectAttributes); - if (NT_SUCCESS(Status)) - { - PeripheralInstance = 0; - while (TRUE) - { - /* Open the pointer peripheral instance key */ - swprintf(Buffer, L"%lu", PeripheralInstance); - RtlInitUnicodeString(&KeyName, - Buffer); - InitializeObjectAttributes(&ObjectAttributes, - &KeyName, - OBJ_CASE_INSENSITIVE, - PeripheralKey, - NULL); - Status = NtOpenKey(&PeripheralInstanceKey, - KEY_ALL_ACCESS, - &ObjectAttributes); - if (!NT_SUCCESS(Status)) - { - DPRINT("NtOpenKey() failed (Status %lx)\n", Status); - NtClose(PeripheralKey); - NtClose(ControllerInstanceKey); - NtClose(ControllerKey); - NtClose(BusInstanceKey); - NtClose(BusKey); - return FALSE; - } - - /* Get peripheral identifier */ - RtlInitUnicodeString(&KeyName, - L"Identifier"); - - BufferLength = sizeof(KEY_VALUE_PARTIAL_INFORMATION) + - 256 * sizeof(WCHAR); - ValueInfo = RtlAllocateHeap(RtlGetProcessHeap(), - 0, - BufferLength); - if (ValueInfo == NULL) - { - DPRINT("RtlAllocateHeap() failed\n"); - NtClose(PeripheralInstanceKey); - NtClose(PeripheralKey); - NtClose(ControllerInstanceKey); - NtClose(ControllerKey); - NtClose(BusInstanceKey); - NtClose(BusKey); - return FALSE; - } - - Status = NtQueryValueKey(PeripheralInstanceKey, - &KeyName, - KeyValuePartialInformation, - ValueInfo, - BufferLength, - &ReturnedLength); - if (NT_SUCCESS(Status)) - { - DPRINT("Identifier: %S\n", (PWSTR)ValueInfo->Data); - - BufferLength = min(ValueInfo->DataLength / sizeof(WCHAR), IdentifierLength); - RtlCopyMemory (Identifier, - ValueInfo->Data, - BufferLength * sizeof(WCHAR)); - Identifier[BufferLength] = 0; - - RtlFreeHeap(RtlGetProcessHeap(), - 0, - ValueInfo); - NtClose(PeripheralInstanceKey); - NtClose(PeripheralKey); - NtClose(ControllerInstanceKey); - NtClose(ControllerKey); - NtClose(BusInstanceKey); - NtClose(BusKey); - return TRUE; - } - - RtlFreeHeap(RtlGetProcessHeap(), - 0, - ValueInfo); - - NtClose(PeripheralInstanceKey); - - PeripheralInstance++; - } - - NtClose(PeripheralKey); - } - - NtClose(ControllerInstanceKey); - - ControllerInstance++; - } - - NtClose(ControllerKey); - } - - NtClose(BusInstanceKey); - - BusInstance++; - } - - NtClose(BusKey); - - return FALSE; -} - - -PGENERIC_LIST -CreateMouseDriverList(HINF InfFile) -{ - CHAR Buffer[128]; - PGENERIC_LIST List; - INFCONTEXT Context; - PWCHAR KeyName; - PWCHAR KeyValue; - PWCHAR UserData; - WCHAR MouseIdentifier[128]; - WCHAR MouseKey[32]; - - /* Get the mouse identification */ - if (!GetMouseIdentifier(L"SerialController", MouseIdentifier, 128)) - { - if (!GetMouseIdentifier(L"PointerController", MouseIdentifier, 128)) - { - wcscpy (MouseIdentifier, L"NO MOUSE"); - } - } - - DPRINT("Mouse identifier: '%S'\n", MouseIdentifier); - - /* Search for matching device identifier */ - if (!InfFindFirstLine(InfFile, L"Map.Mouse", NULL, &Context)) - { - /* FIXME: error message */ - return NULL; - } - - do - { - if (!InfGetDataField(&Context, 1, &KeyValue)) - { - /* FIXME: Handle error! */ - DPRINT("InfGetDataField() failed\n"); - return NULL; - } - - DPRINT("KeyValue: %S\n", KeyValue); - if (wcsstr(MouseIdentifier, KeyValue)) - { - if (!InfGetDataField(&Context, 0, &KeyName)) - { - /* FIXME: Handle error! */ - DPRINT("InfGetDataField() failed\n"); - return NULL; - } - - DPRINT("Mouse key: %S\n", KeyName); - wcscpy(MouseKey, KeyName); - } - } - while (InfFindNextLine(&Context, &Context)); - - - List = CreateGenericList(); - if (List == NULL) - return NULL; - - if (!InfFindFirstLine(InfFile, L"Mouse", NULL, &Context)) - { - DestroyGenericList(List, FALSE); - return NULL; - } - - do - { - if (!InfGetDataField(&Context, 0, &KeyName)) - { - DPRINT1("InfGetDataField() failed\n"); - break; - } - - if (!InfGetDataField(&Context, 1, &KeyValue)) - { - DPRINT1("InfGetDataField() failed\n"); - break; - } - - UserData = RtlAllocateHeap(ProcessHeap, - 0, - (wcslen(KeyName) + 1) * sizeof(WCHAR)); - if (UserData == NULL) - { - DPRINT1("RtlAllocateHeap() failed\n"); - DestroyGenericList(List, TRUE); - return NULL; - } - - wcscpy(UserData, KeyName); - - sprintf(Buffer, "%S", KeyValue); - AppendGenericListEntry(List, - Buffer, - UserData, - _wcsicmp(KeyName, MouseKey) ? FALSE : TRUE); - } - while (InfFindNextLine(&Context, &Context)); - - return List; -} - - -BOOLEAN -ProcessMouseRegistry(HINF InfFile, PGENERIC_LIST List) -{ - PGENERIC_LIST_ENTRY Entry; - INFCONTEXT Context; - PWCHAR ServiceName; - ULONG StartValue; - NTSTATUS Status; - - DPRINT("ProcessMouseRegistry() called\n"); - - Entry = GetGenericListEntry(List); - if (Entry == NULL) - { - DPRINT("GetGenericListEntry() failed\n"); - return FALSE; - } - - if (!InfFindFirstLine(InfFile, L"Mouse", Entry->UserData, &Context)) - { - DPRINT("InfFindFirstLine() failed\n"); - return FALSE; - } - - if (!InfGetDataField(&Context, 3, &ServiceName)) - { - DPRINT("InfGetDataField() failed\n"); - return FALSE; - } - - DPRINT("Service name: %S\n", ServiceName); - - StartValue = 1; - Status = RtlWriteRegistryValue(RTL_REGISTRY_SERVICES, - ServiceName, - L"Start", - REG_DWORD, - &StartValue, - sizeof(ULONG)); - if (!NT_SUCCESS(Status)) - { - DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); - return FALSE; - } - - DPRINT("ProcessMouseRegistry() done\n"); - - return TRUE; -} - - -#if 0 -BOOLEAN -ProcessMouseFiles(PGENERIC_LIST List) -{ - return TRUE; -} -#endif - /* EOF */ _____
Modified: trunk/reactos/subsys/system/usetup/settings.h --- trunk/reactos/subsys/system/usetup/settings.h 2005-06-25 14:04:56 UTC (rev 16266) +++ trunk/reactos/subsys/system/usetup/settings.h 2005-06-25 16:01:27 UTC (rev 16267) @@ -54,12 +54,6 @@
BOOLEAN ProcessKeyboardLayoutFiles(PGENERIC_LIST List);
-PGENERIC_LIST -CreateMouseDriverList(HINF InfFile); - -BOOLEAN -ProcessMouseRegistry(HINF InfFile, PGENERIC_LIST List); - #endif /* __SETTINGS_H__ */
/* EOF */ _____
Modified: trunk/reactos/subsys/system/usetup/usetup.c --- trunk/reactos/subsys/system/usetup/usetup.c 2005-06-25 14:04:56 UTC (rev 16266) +++ trunk/reactos/subsys/system/usetup/usetup.c 2005-06-25 16:01:27 UTC (rev 16267) @@ -45,7 +45,6 @@
DISPLAY_SETTINGS_PAGE, KEYBOARD_SETTINGS_PAGE, LAYOUT_SETTINGS_PAGE, - POINTER_SETTINGS_PAGE,
SELECT_PARTITION_PAGE, CREATE_PARTITION_PAGE, @@ -117,7 +116,6 @@ static PGENERIC_LIST DisplayList = NULL; static PGENERIC_LIST KeyboardList = NULL; static PGENERIC_LIST LayoutList = NULL; -static PGENERIC_LIST PointerList = NULL;
/* FUNCTIONS ****************************************************************/ @@ -938,7 +936,7 @@ static PAGE_NUMBER DeviceSettingsPage(PINPUT_RECORD Ir) { - static ULONG Line = 17; + static ULONG Line = 16;
/* Initialize the computer settings list */ if (ComputerList == NULL) @@ -992,42 +990,30 @@ } }
- /* Initialize the pointer settings list */ - if (PointerList == NULL) - { - PointerList = CreateMouseDriverList(SetupInf); - if (PointerList == NULL) - { - /* FIXME: report error */ - } - } - SetTextXY(6, 8, "The list below shows the current device settings.");
SetTextXY(8, 11, " Computer:"); SetTextXY(8, 12, " Display:"); SetTextXY(8, 13, " Keyboard:"); SetTextXY(8, 14, "Keyboard layout:"); - SetTextXY(8, 15, " Pointer device:");
- SetTextXY(8, 17, " Accept:"); + SetTextXY(8, 16, " Accept:");
SetTextXY(25, 11, GetGenericListEntry(ComputerList)->Text); SetTextXY(25, 12, GetGenericListEntry(DisplayList)->Text); SetTextXY(25, 13, GetGenericListEntry(KeyboardList)->Text); SetTextXY(25, 14, GetGenericListEntry(LayoutList)->Text); - SetTextXY(25, 15, GetGenericListEntry(PointerList)->Text);
- SetTextXY(25, 17, "Accept these device settings"); + SetTextXY(25, 16, "Accept these device settings"); InvertTextXY (24, Line, 48, 1);
- SetTextXY(6, 20, "You can change the hardware settings by pressing the UP or DOWN keys"); - SetTextXY(6, 21, "to select an entry. Then press the ENTER key to select alternative"); - SetTextXY(6, 22, "settings."); + SetTextXY(6, 19, "You can change the hardware settings by pressing the UP or DOWN keys"); + SetTextXY(6, 20, "to select an entry. Then press the ENTER key to select alternative"); + SetTextXY(6, 21, "settings.");
- SetTextXY(6, 24, "When all settings are correct, select "Accept these device settings""); - SetTextXY(6, 25, "and press ENTER."); + SetTextXY(6, 23, "When all settings are correct, select "Accept these device settings""); + SetTextXY(6, 24, "and press ENTER.");
SetStatusText(" ENTER = Continue F3 = Quit");
@@ -1039,9 +1025,9 @@ (Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */ { NormalTextXY (24, Line, 48, 1); - if (Line == 15) - Line = 17; - else if (Line == 17) + if (Line == 14) + Line = 16; + else if (Line == 16) Line = 11; else Line++; @@ -1052,9 +1038,9 @@ { NormalTextXY (24, Line, 48, 1); if (Line == 11) - Line = 17; - else if (Line == 17) - Line = 15; + Line = 16; + else if (Line == 16) + Line = 14; else Line--; InvertTextXY (24, Line, 48, 1); @@ -1076,9 +1062,7 @@ return KEYBOARD_SETTINGS_PAGE; else if (Line == 14) return LAYOUT_SETTINGS_PAGE; - else if (Line == 15) - return POINTER_SETTINGS_PAGE; - else if (Line == 17) + else if (Line == 16) return SELECT_PARTITION_PAGE; } } @@ -1342,69 +1326,6 @@
static PAGE_NUMBER -PointerSettingsPage(PINPUT_RECORD Ir) -{ - SHORT xScreen; - SHORT yScreen; - - SetTextXY(6, 8, "You want to change the pointing device to be installed."); - - SetTextXY(8, 10, "\x07 Press the UP or DOWN key to select the desired pointing"); - SetTextXY(8, 11, " device. Then press ENTER."); - - SetTextXY(8, 13, "\x07 Press the ESC key to return to the previous page without changing"); - SetTextXY(8, 14, " the pointing device."); - - GetScreenSize(&xScreen, &yScreen); - - DrawGenericList(PointerList, - 2, - 18, - xScreen - 3, - yScreen - 3); - - SetStatusText(" ENTER = Continue ESC = Cancel F3 = Quit"); - - SaveGenericListState(PointerList); - - while(TRUE) - { - ConInKey(Ir); - - if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && - (Ir->Event.KeyEvent.wVirtualKeyCode == VK_DOWN)) /* DOWN */ - { - ScrollDownGenericList(PointerList); - } - else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && - (Ir->Event.KeyEvent.wVirtualKeyCode == VK_UP)) /* UP */ - { - ScrollUpGenericList(PointerList); - } - else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && - (Ir->Event.KeyEvent.wVirtualKeyCode == VK_F3)) /* F3 */ - { - if (ConfirmQuit(Ir) == TRUE) - return QUIT_PAGE; - break; - } - else if ((Ir->Event.KeyEvent.uChar.AsciiChar == 0x00) && - (Ir->Event.KeyEvent.wVirtualKeyCode == VK_ESCAPE)) /* ESC */ - { - RestoreGenericListState(PointerList); - return DEVICE_SETTINGS_PAGE; - } - else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ - { - return DEVICE_SETTINGS_PAGE; - } - } - - return DISPLAY_SETTINGS_PAGE; -} - - -static PAGE_NUMBER SelectPartitionPage(PINPUT_RECORD Ir) { SHORT xScreen; @@ -3320,24 +3241,6 @@ } }
- /* Update mouse registry settings */ - SetStatusText(" Updating mouse registry settings..."); - if (!ProcessMouseRegistry(SetupInf, PointerList)) - { - PopupError("Setup failed to update mouse registry settings.", - "ENTER = Reboot computer"); - - while(TRUE) - { - ConInKey(Ir); - - if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ - { - return QUIT_PAGE; - } - } - } - SetStatusText(" Done...");
return BOOT_LOADER_PAGE; @@ -3636,13 +3539,6 @@ LayoutList = NULL; }
- /* Destroy pointer device list */ - if (PointerList != NULL) - { - DestroyGenericList(PointerList, TRUE); - PointerList = NULL; - } - SetStatusText(" ENTER = Reboot computer");
while(TRUE) @@ -3838,10 +3734,6 @@ Page = LayoutSettingsPage(&Ir); break;
- case POINTER_SETTINGS_PAGE: - Page = PointerSettingsPage(&Ir); - break; - case SELECT_PARTITION_PAGE: Page = SelectPartitionPage(&Ir); break;