## Purpose
Supporting System Pen icon and IME menus for
East-Asian users.
JIRA issue: CORE-20142
## Overview
The East-Asian system has the system pen icon
in taskbar additionally. The system pen icon
shows the current IME status.
If the user clicked the IME system pen icon,
the IME menu will open. The IME system pen icon
can be customized by the IME module by posting
indicator messages.
## Proposed changes
- Add default pen icon resources.
- Add base/applications/kbswitch/imemenu.c to
handle IME menus.
- Add code for adding, modifying and deleting
the System Pen icon.
- Modify indicdll.spec.
- Fix popup menu alignment.
Defining macros in proper place will improve header
compatibility.
JIRA issue: CORE-19268
- Move WM_IME_SYSTEM macro in <undocuser.h>
into <imm32_undoc.h>.
- Move IMS_... macros in <immdev.h> into
<imm32_undoc.h>.
- Include <imm32_undoc.h> in base/ctf/msutb.
Splitted from #8080. We have confirmed usage of the
name of "indicdll.dll" in user32.dll, in #8080. So, we
have to rename kbsdll.dll as "indicdll.dll".
JIRA issue: CORE-20142
Follow-up of #8057. Generally, the IDL
file is a higher level than the header file.
JIRA issue: CORE-19361
- Modify CMakeLists.txt.
- Add sdk/include/reactos/CMakeLists.txt.
- Add reactos_idls CMake target in
- sdk/include/reactos/CMakeLists.txt
to process IDL files.
- Add reactos_idls dependency to cicero.
- Delete msctf_undoc.h and add
msctf_undoc.idl.
We believe the power of simplicity.
JIRA issue: CORE-20142
- Rename g_nCurrentLayoutNum as
g_iKL for simplicity.
- Make g_iKL zero-based indexing.
- Add ID_LANG_BASE id for language
menu items and adjust
ID_EXIT/ID_PREFERENCES values.
- Fix KbSwitch_OnNotifyIconMsg
function.
The CTF modules depend on Cicero
static library. Cicero should be a
component in CTF.
This move will improve code
readability and grep-ability.
JIRA issue: CORE-19361
JIRA issue: CORE-19363
- Move sdk/lib/cicero to base/ctf/cicero.
- Adapt CMakeLists.txt to this move.
- No code content change except
CMakeLists.txt.
This PR reorganizes the location of
the CTF-related modules to improve
grep-ability, understanding, and
readability. New folder base/ctf will
become incomplete Cicero, CTF or
TSF (Text Services Framework).
JIRA issue: CORE-19360
JIRA issue: CORE-19361
JIRA issue: CORE-19363
- Move ctfmon, msctf, msctfime,
and msutb modules to new
directory base/ctf.
- Adapt CMakeLists.txt to this move.
- Modify .github/labeler.yml and
media/doc/WINESYNC.txt.
- No code content changes except
CMakeLists.txt, .github/labeler.yml,
and media/doc/WINESYNC.txt.
Recently language switching (Alt+Shift)
was not working. This PR will fix
Alt+Shift (partially).
JIRA issue: CORE-18546
- Add WH_KEYBOARD_LL hook to
detect Alt+Shift.
- Add delay to the action after language
change.
- Increase g_SpecialIds not to be full.
- Delete useless ID_NEXTLAYOUT
command.
Some baby steps to msctf.dll for CTF.
JIRA issue: CORE-19361
- Add all the export functions of msctf.dll.
- Modify msctf.spec.
- Modify sdk/include/psdk/msctf.idl
and sdk/include/psdk/inputscope.idl.
- Add sdk/include/reactos/msctf_undoc.h.
- Include <msctf_undoc.h> in ctfmon,
msctfime, and msutb.
Supporting the IME System Pen icon.
JIRA issue: CORE-19268
- Change kbswitch window class to "Indicator"
from "kbswitcher".
- Add <ime/indicml.h> from DDK.
- umpnpmgr.dll: Call I_ScSendPnPMessage to report pnp events to the service manager.
- adavpi32.dll: Implement I_ScSendPnPMessage which calls the service managers RI_ScSendPnPMessage function.
- services.exe: Add a debug message to RI_ScSendPnPMessage.
Follow-up of #7778.
JIRA issue: CORE-7237
- Rename APPBARDATA3264 structure
as APPBARDATAINTEROP.
- Fix structures for WoW64.
- Use trace instead of DPRINT1.
- Add CAppBarManager::
RecomputeAllWorkareas function.
- Fix WM_DISPLAYCHANGE handling
to re-compute the work areas.