Commit graph

19 commits

Author SHA1 Message Date
Katayama Hirofumi MZ 433240feec [KBSWITCH] Follow-up of #4815 (36f7d1a); Less flicker Alt+Shift
Add bNoActivate argument to ActivateLayout function.
CORE-11700, CORE-2699, CORE-18546
2022-10-29 16:23:58 +09:00
Katayama Hirofumi MZ 36f7d1a953
[KBSWITCH][CPL:INPUT][NTUSER][EXPLORER] Fix keyboard layout icon (#4815)
Fix keyboard layout icon in taskbar notification area. JIRA issue: CORE-11700, CORE-2699, CORE-18546
- Call ActivateKeyboardLayout to select the keyboard layout correctly.
- Modify WM_INPUTLANGCHANGEREQUEST parameter.
- Modify BroadcastSystemMessageW parameter.
- Revert Taskbar Notification Area MA_NOACTIVATE HACK 8344291 . This fixes Context Menu display.
- Load the "IME File" value and set the IME icon if necessary.
- Correctly implement global hooks.
2022-10-29 07:35:19 +09:00
Katayama Hirofumi MZ bbef618032 [KBSWITCH][IMM32][USER32] Consider keyboard layout corner cases
Considering invalid Keyboard Layout registry entries.
CORE-11700
2022-10-13 16:01:02 +09:00
Hermès Bélusca-Maïto dbe4abab4f
[KBSWITCH][INPUT.CPL] Correctly do the input language indicator.
Addendum to commits 5f4bb73e and c6ccb92b.

- GetLocaleInfo() returns an int, not a bool: makes it clear in the test.

- No need to use StringCchCopy() to just initialize two chars to the
  same value.

- The question about the test in https://github.com/reactos/reactos/pull/4723#discussion_r981331634
  was meant to discover that CreateDIBSection() was unnecessary, since
  the very original code (before commit 0991cedc) did not use it and was
  working fine in that regard. The simple fix was to use GetDC(NULL).

- Use SM_CXSMICON/SM_CYSMICON metrics for the KBSWITCH indicator as well.

- Override the font size obtained from SPI_GETICONTITLELOGFONT with a
  known one (allows to get a correct indicator even if the user font
  is very large).

- Do the initialization in such a way that in case SPI_GETICONTITLELOGFONT
  or CreateFontIndirect fails, we always fall back to the default stock
  font that is ensured to always exist.

- Initialize *all* the fields of the IconInfo structure.
2022-09-29 04:06:17 +02:00
Katayama Hirofumi MZ c6ccb92bdd
[KBSWITCH] Fix keyboard indicator text and font (#4723)
- Do the same behaviour as input.dll in getting indicator text.
- Use full color DIB (device-independent bitmap) to improve icon.
- Use SPI_GETICONTITLELOGFONT for font.
CORE-10667
2022-09-29 07:32:39 +09:00
Katayama Hirofumi MZ 2469ce2c31
[NTUSER][KBSWITCH] Realize Alt+Shift keyboard switch (retry) (#4721)
Alt+Shift is a useful key combination to switch the current keyboard layout. CORE-11737
- Add ID_NEXTLAYOUT command to kbswitch.
- Send command ID_NEXTLAYOUT to kbswitch on Alt+Shift key combination in WM_SYSKEYDOWN handling of IntDefWindowProc function.
- Make IntFindWindow a non-static function.
2022-09-26 08:07:50 +09:00
Katayama Hirofumi MZ 8222c0e6d8 [KBSWITCH][NTUSER] Revert Shift+Alt handling
The current Shift+Alt handling is buggy. The keyboard won't work frequently.
It dislikes system-side Alt (VK_MENU) key handling.
It seems like Shift+Alt handling should be in kernel.
CORE-10667
2022-08-28 20:15:33 +09:00
Katayama Hirofumi MZ 43108ba763 [KBSWITCH] Simplify checking NULLs
CORE-10667
2022-08-28 09:48:56 +09:00
Katayama Hirofumi MZ e8b830d6bf
[KBSWITCH] Fix GetNextLayout for three or more languages (#4629)
Typing Alt+Shift should work cyclically.
CORE-11737
2022-08-26 06:33:39 +09:00
Katayama Hirofumi MZ 261416ddb9 [KBSWITCH] Follow-up of 0991ced
- Used FW_NORMAL.
- Added NULL checks.
CORE-10667
2022-08-25 14:19:50 +09:00
Katayama Hirofumi MZ d4ed449ca2 [KBSWITCH] Total refactoring 2022-08-24 13:26:54 +09:00
Katayama Hirofumi MZ 82db0523e4 [KBSWITCH] Fix notification icon handle leak 2022-08-24 12:18:59 +09:00
Katayama Hirofumi MZ eca08cfe98 [KBSWITCH] Refactor WndProc 2022-08-24 11:57:29 +09:00
Katayama Hirofumi MZ 3892252bc5 [KBSWITCH] Use StringCchCopy instead of lstrcpyn 2022-08-24 10:23:51 +09:00
Katayama Hirofumi MZ 0991cedca7 [KBSWITCH] Refactor CreateTrayIcon 2022-08-24 10:21:50 +09:00
Katayama Hirofumi MZ f974f02881 [KBSWITCH] Fix menu handle leak 2022-08-24 09:11:36 +09:00
Katayama Hirofumi MZ b4f73f040f
[KBSWITCH][NTUSER] Realize Shift+Alt language switch (#4622)
- Fix co_UserProcessHotKeys on modifiers-only hot-keys.
- Add Alt+Shift hot-keys to kbswitch window.
CORE-11737
2022-08-24 07:31:46 +09:00
Stanislav Motylkov 20a782b7b1 [KBSWITCH] Update tray icon on color scheme change
CORE-14240 #resolve
2018-01-22 18:56:41 +02:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
Renamed from reactos/base/applications/kbswitch/kbswitch.c (Browse further)