Author: dchapyshev
Date: Wed Aug 10 19:04:11 2016
New Revision: 72189
URL:
http://svn.reactos.org/svn/reactos?rev=72189&view=rev
Log:
[INPUT]
- Draw 0x2022 unicode symbol instead 0x25CF (marking default input method)
- Fix incorrect logic in CapsLock parameters
- Notice system of change CapsLock mode parameters
Modified:
trunk/reactos/dll/cpl/input/input.h
trunk/reactos/dll/cpl/input/key_settings_dialog.c
trunk/reactos/dll/cpl/input/settings_page.c
Modified: trunk/reactos/dll/cpl/input/input.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/input.h?rev=…
==============================================================================
--- trunk/reactos/dll/cpl/input/input.h [iso-8859-1] (original)
+++ trunk/reactos/dll/cpl/input/input.h [iso-8859-1] Wed Aug 10 19:04:11 2016
@@ -67,6 +67,9 @@
INT_PTR CALLBACK
KeySettingsDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
+DWORD
+ReadAttributes(VOID);
+
/* key_sequence_dialog.c */
INT_PTR CALLBACK
ChangeKeySeqDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
Modified: trunk/reactos/dll/cpl/input/key_settings_dialog.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/key_settings…
==============================================================================
--- trunk/reactos/dll/cpl/input/key_settings_dialog.c [iso-8859-1] (original)
+++ trunk/reactos/dll/cpl/input/key_settings_dialog.c [iso-8859-1] Wed Aug 10 19:04:11
2016
@@ -10,32 +10,40 @@
static KEY_SETTINGS _KeySettings = { 0 };
+DWORD
+ReadAttributes(VOID)
+{
+ DWORD dwAttributes = 0;
+ HKEY hKey;
+
+ if (RegOpenKeyExW(HKEY_CURRENT_USER,
+ L"Keyboard Layout",
+ 0,
+ KEY_QUERY_VALUE,
+ &hKey) == ERROR_SUCCESS)
+ {
+ DWORD dwSize;
+
+ dwSize = sizeof(dwSize);
+
+ RegQueryValueExW(hKey,
+ L"Attributes",
+ NULL, NULL,
+ (LPBYTE)&dwAttributes,
+ &dwSize);
+
+ RegCloseKey(hKey);
+ }
+
+ return dwAttributes;
+}
+
static VOID
ReadKeysSettings(VOID)
{
HKEY hKey;
- if (RegOpenKeyExW(HKEY_CURRENT_USER,
- L"Keyboard Layout",
- 0,
- KEY_QUERY_VALUE,
- &hKey) == ERROR_SUCCESS)
- {
- DWORD dwSize;
-
- dwSize = sizeof(dwSize);
-
- if (RegQueryValueExW(hKey,
- L"Attributes",
- NULL, NULL,
- (LPBYTE)&_KeySettings.dwAttributes,
- &dwSize) != ERROR_SUCCESS)
- {
- _KeySettings.dwAttributes = (DWORD) -1;
- }
-
- RegCloseKey(hKey);
- }
+ _KeySettings.dwAttributes = ReadAttributes();
if (RegOpenKeyExW(HKEY_CURRENT_USER,
L"Keyboard Layout\\Toggle",
@@ -126,10 +134,13 @@
(wcslen(szBuffer) + 1) * sizeof(WCHAR));
RegCloseKey(hKey);
-
- /* Notice system of change of parameters */
- SystemParametersInfoW(SPI_SETLANGTOGGLE, 0, NULL, 0);
- }
+ }
+
+ /* Notice system of change hotkeys parameters */
+ SystemParametersInfoW(SPI_SETLANGTOGGLE, 0, NULL, 0);
+
+ /* Notice system of change CapsLock mode parameters */
+ ActivateKeyboardLayout(GetKeyboardLayout(0), KLF_RESET | _KeySettings.dwAttributes);
}
@@ -178,20 +189,20 @@
if (_KeySettings.dwAttributes & KLF_SHIFTLOCK)
{
+ CheckDlgButton(hwndDlg, IDC_PRESS_SHIFT_KEY_RB, BST_CHECKED);
+ CheckDlgButton(hwndDlg, IDC_PRESS_CL_KEY_RB, BST_UNCHECKED);
+ }
+ else
+ {
CheckDlgButton(hwndDlg, IDC_PRESS_SHIFT_KEY_RB, BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_PRESS_CL_KEY_RB, BST_CHECKED);
}
- else
- {
- CheckDlgButton(hwndDlg, IDC_PRESS_SHIFT_KEY_RB, BST_CHECKED);
- CheckDlgButton(hwndDlg, IDC_PRESS_CL_KEY_RB, BST_UNCHECKED);
- }
hwndList = GetDlgItem(hwndDlg, IDC_KEY_LISTVIEW);
ListView_SetExtendedListViewStyle(hwndList, LVS_EX_FULLROWSELECT);
- ZeroMemory(&column, sizeof(column));
+ ZeroMemory(&column, sizeof(column));
column.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;
@@ -243,7 +254,7 @@
case IDOK:
{
- if (IsDlgButtonChecked(hwndDlg, IDC_PRESS_CL_KEY_RB) ==
BST_UNCHECKED)
+ if (IsDlgButtonChecked(hwndDlg, IDC_PRESS_CL_KEY_RB) == BST_CHECKED)
{
_KeySettings.dwAttributes &= ~KLF_SHIFTLOCK;
}
Modified: trunk/reactos/dll/cpl/input/settings_page.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/settings_pag…
==============================================================================
--- trunk/reactos/dll/cpl/input/settings_page.c [iso-8859-1] (original)
+++ trunk/reactos/dll/cpl/input/settings_page.c [iso-8859-1] Wed Aug 10 19:04:11 2016
@@ -63,7 +63,7 @@
ExtTextOutW(hdc, rect.left, rect.top, ETO_OPAQUE, &rect,
L"", 0, NULL);
SelectObject(hdc, hFont);
- DrawTextW(hdc, L"\x25CF", 1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
+ DrawTextW(hdc, L"\x2022", 1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}
else
{