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=7... ============================================================================== --- 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_page... ============================================================================== --- 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 {