diff --git a/reactos/lib/cpl/main/En.rc b/reactos/lib/cpl/main/En.rc index 36f3ce2cfa8..922651f2312 100644 --- a/reactos/lib/cpl/main/En.rc +++ b/reactos/lib/cpl/main/En.rc @@ -24,6 +24,21 @@ BEGIN LTEXT "Property Page 3",-1,73,74,90,8 END +IDD_KEYBSPEED DIALOGEX 0, 0, 246, 228 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Speed" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Keyboard Speed Page",-1,73,74,90,8 +END + +IDD_HARDWARE DIALOGEX 0, 0, 246, 228 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Hardware" +FONT 8, "MS Shell Dlg" +BEGIN +END + STRINGTABLE BEGIN IDS_CPLNAME_1 "Mouse" diff --git a/reactos/lib/cpl/main/keyboard.c b/reactos/lib/cpl/main/keyboard.c index 41a6d9eb8bc..58160c41566 100644 --- a/reactos/lib/cpl/main/keyboard.c +++ b/reactos/lib/cpl/main/keyboard.c @@ -25,6 +25,7 @@ */ #include +#include #include #include #include @@ -35,56 +36,53 @@ /* Property page dialog callback */ static INT_PTR CALLBACK -Page1Proc(HWND hwndDlg, - UINT uMsg, - WPARAM wParam, - LPARAM lParam) +KeybSpeedProc(IN HWND hwndDlg, + IN UINT uMsg, + IN WPARAM wParam, + IN LPARAM lParam) { - switch(uMsg) - { - case WM_INITDIALOG: - break; - } - return FALSE; + switch(uMsg) + { + case WM_INITDIALOG: + break; + } + + return FALSE; } /* Property page dialog callback */ static INT_PTR CALLBACK -Page2Proc(HWND hwndDlg, - UINT uMsg, - WPARAM wParam, - LPARAM lParam) +KeybHardwareProc(IN HWND hwndDlg, + IN UINT uMsg, + IN WPARAM wParam, + IN LPARAM lParam) { - switch(uMsg) - { - case WM_INITDIALOG: - break; - } - return FALSE; -} + switch(uMsg) + { + case WM_INITDIALOG: + { + GUID Guids[] = { + GUID_DEVCLASS_KEYBOARD + }; + /* create the hardware page */ + DeviceCreateHardwarePageEx(hwndDlg, + Guids, + sizeof(Guids) / sizeof(Guids[0]), + HWPD_STANDARDLIST); + break; + } + } -/* Property page dialog callback */ -static INT_PTR CALLBACK -Page3Proc(HWND hwndDlg, - UINT uMsg, - WPARAM wParam, - LPARAM lParam) -{ - switch(uMsg) - { - case WM_INITDIALOG: - break; - } - return FALSE; + return FALSE; } LONG APIENTRY KeyboardApplet(HWND hwnd, UINT uMsg, LONG wParam, LONG lParam) { - PROPSHEETPAGE psp[3]; + PROPSHEETPAGE psp[2]; PROPSHEETHEADER psh; TCHAR Caption[256]; @@ -101,9 +99,8 @@ KeyboardApplet(HWND hwnd, UINT uMsg, LONG wParam, LONG lParam) psh.nStartPage = 0; psh.ppsp = psp; - InitPropSheetPage(&psp[0], IDD_PROPPAGE1, Page1Proc); - InitPropSheetPage(&psp[1], IDD_PROPPAGE2, Page2Proc); - InitPropSheetPage(&psp[2], IDD_PROPPAGE3, Page3Proc); + InitPropSheetPage(&psp[0], IDD_KEYBSPEED, KeybSpeedProc); + InitPropSheetPage(&psp[1], IDD_HARDWARE, KeybHardwareProc); return (LONG)(PropertySheet(&psh) != -1); } diff --git a/reactos/lib/cpl/main/main.c b/reactos/lib/cpl/main/main.c index d9307282dea..76fe8535bf6 100644 --- a/reactos/lib/cpl/main/main.c +++ b/reactos/lib/cpl/main/main.c @@ -26,6 +26,8 @@ * 05-01-2004 Created */ #include +#include +#include #include #include diff --git a/reactos/lib/cpl/main/main.h b/reactos/lib/cpl/main/main.h index 3b85f7ead4e..c674bd1a40d 100644 --- a/reactos/lib/cpl/main/main.h +++ b/reactos/lib/cpl/main/main.h @@ -1,6 +1,19 @@ #ifndef __CPL_MAIN_H #define __CPL_MAIN_H +typedef enum +{ + HWPD_STANDARDLIST = 0, + HWPD_LARGELIST, + HWPD_MAX = HWPD_LARGELIST +} HWPAGE_DISPLAYMODE, *PHWPAGE_DISPLAYMODE; + +HWND WINAPI +DeviceCreateHardwarePageEx(HWND hWndParent, + LPGUID lpGuids, + UINT uNumberOfGuids, + HWPAGE_DISPLAYMODE DisplayMode); + //typedef LONG (CALLBACK *APPLET_PROC)(VOID); typedef struct _APPLET diff --git a/reactos/lib/cpl/main/main.xml b/reactos/lib/cpl/main/main.xml index 8be1cecf54a..547c07ccc92 100644 --- a/reactos/lib/cpl/main/main.xml +++ b/reactos/lib/cpl/main/main.xml @@ -10,6 +10,7 @@ kernel32 user32 comctl32 + devmgr keyboard.c main.c mouse.c diff --git a/reactos/lib/cpl/main/mouse.c b/reactos/lib/cpl/main/mouse.c index 5520cbe9c4a..bda07749b01 100644 --- a/reactos/lib/cpl/main/mouse.c +++ b/reactos/lib/cpl/main/mouse.c @@ -25,6 +25,7 @@ */ #include +#include #include #include @@ -85,10 +86,38 @@ Page3Proc( } +/* Property page dialog callback */ +static INT_PTR CALLBACK +MouseHardwareProc(IN HWND hwndDlg, + IN UINT uMsg, + IN WPARAM wParam, + IN LPARAM lParam) +{ + switch(uMsg) + { + case WM_INITDIALOG: + { + GUID Guids[] = { + GUID_DEVCLASS_MOUSE + }; + + /* create the hardware page */ + DeviceCreateHardwarePageEx(hwndDlg, + Guids, + sizeof(Guids) / sizeof(Guids[0]), + HWPD_STANDARDLIST); + break; + } + } + + return FALSE; +} + + LONG APIENTRY MouseApplet(HWND hwnd, UINT uMsg, LONG lParam1, LONG lParam2) { - PROPSHEETPAGE psp[3]; + PROPSHEETPAGE psp[4]; PROPSHEETHEADER psh; TCHAR Caption[256]; @@ -108,6 +137,7 @@ MouseApplet(HWND hwnd, UINT uMsg, LONG lParam1, LONG lParam2) InitPropSheetPage(&psp[0], IDD_PROPPAGE1, Page1Proc); InitPropSheetPage(&psp[1], IDD_PROPPAGE2, Page2Proc); InitPropSheetPage(&psp[2], IDD_PROPPAGE3, Page3Proc); + InitPropSheetPage(&psp[3], IDD_HARDWARE, MouseHardwareProc); return (LONG)(PropertySheet(&psh) != -1); } diff --git a/reactos/lib/cpl/main/resource.h b/reactos/lib/cpl/main/resource.h index dee143b5ad5..d14372fb2cc 100644 --- a/reactos/lib/cpl/main/resource.h +++ b/reactos/lib/cpl/main/resource.h @@ -8,6 +8,8 @@ #define IDD_PROPPAGE1 100 #define IDD_PROPPAGE2 101 #define IDD_PROPPAGE3 102 +#define IDD_KEYBSPEED 103 +#define IDD_HARDWARE 104 #define IDS_CPLNAME_1 1000 #define IDS_CPLDESCRIPTION_1 1001