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. The message
handling of WM_IME_SYSTEM.0x1D
is needed for IME menu handling.
JIRA issue: CORE-20142
- Define IMS_IMEMENUITEMSELECTED
(0x1D) in <immdev.h>.
- Add WM_IME_SYSTEM.0x1D handling
in ImeWnd_OnImeSystem function.
- Rename and extend
User32GetImmFileName function as
User32GetSystemFilePath, with
adding a filename parameter.
Supporting soft keyboard will improve IME
usability.
JIRA issue: CORE-19268
- Define IMS_SOFTKBDONOFF constant as
0x13 in <immdev.h>.
- Implement
WM_IME_SYSTEM.IMS_SOFTKBDONOFF
message handling in ImeWnd_OnImeSystem.
Prepare the d3dkmt APIs up to Vista RTM
Build the skeleton needed for having userspace components talk to a WDDM KMD driver
Co-authored-by: Mark Jansen <mark.jansen@reactos.org>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
[DDK] Update IDENTIFY data and other ATA definitions.
Based on the MinGW header.
[FREELDR] Refactor and optimize the IDE driver.
Fix long-standing bugs, which have a negative impact on the boot stability.
- Make the driver more ATA specification compliant.
- Improve the speed of device detection.
- Remove inconsistent delays.
- Support modern hard drives with sector size greater than 512 bytes.
- Add basic error recovery.
- Move private definitions to a separate private header.
- Remove the useless AtaFree API method.
Fix IOCTL_MOUNTDEV_LINK_CREATED, IOCTL_MOUNTDEV_LINK_DELETED,
IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY, to Win2k3+ compatible definitions.
The previous versions of these IOCTLs (in Win2000 and XP) were defined without any access protection.
This was noticed here:
https://community.osr.com/t/ioctl-mountdev-link-created-definition-changed/29428
Improve header compatibility and
code quality.
JIRA issue: CORE-19268
- Improve <imm.h> and <immdev.h>
compatibility by correctly choosing
the items.
- Use <immdev.h> instead of
<ddk/immdev.h>.
- Move INPUTCONTEXTDX, IMEINFOEX,
IMEDPI, and CLIENTIMC into
<imm32_undoc.h>.
- Adapt to these changes.
- Add CTFIMECONTEXT structure.
- Add CicInputContext class.
- Rename INPUTCONTEXTDX.dwUnknown5 as
hCtfImeContext and retype it as HIMCC.
- Implement CtfImeGetGuidAtom by using them.
CORE-19360
- Add link to imm32.dll.
- Add <cicero/imclock.h>.
- Add INIT_GUIDMAP constant to <immdev.h>.
- Implement CtfImeIsGuidMapEnable by using them.
CORE-19360
## Overview
1. msctfime.ime is an IME file interface
for new-style IMEs a.k.a. "Text Input
Processors" (TIPs).
2. msctfime.ime is loaded as old-style
IME file at ImmLoadLayout in specific
condition.
3. msctfime.ime communicates with
the current TIP (This feature is not
implemented yet).
## Proposed changes
- Add msctfime module at dll/ime/msctfime.
- The functions in this module are currently
stub.
- Move IME file interface declarations from
<imm.h> to <ddk/immdev.h>.
- Modify ImmNotifyIME, NotifyIME, and
ImeProcessKey prototypes for x64
compliance.
CORE-19360
- Add Imm32InitTLS, Imm32AllocateTLS, Imm32GetTLS,
Imm32GetCoInitCountSkip, Imm32IncCoInitCountSkip, and
Imm32DecCoInitCountSkip helper functions to
control the TLS data.
- Introduce "CoInitialize Spy" (ISPY) to manage COM
initialization status.
- Implement CtfImmCoInitialize and CtfImmCoUninitialize.
- Implement CtfImmEnterCoInitCountSkipMode and
CtfImmLeaveCoInitCountSkipMode.
- Implement CtfImmLastEnabledWndDestroy,
ImmDisableTextFrameService, and CtfImmTIMActivate.
CORE-19268
Implementing advanced text service...
- Add CtfImmGenerateMessage function.
- Modify imm32.spec.
- Move TRANSMSG, TRANSMSGLIST etc. in
win32ss/include/ntuser.h to <immdev.h>.
- Move win32ss/include/imetable.h to
sdk/include/reactos/imetable.h.
- Move dll/win32/imm32/CtfImeTable.h to
sdk/include/reactos/CtfImeTable.h.
- Fix build failure of imm32_winetest due
to TRANSMSG redefinition.
CORE-19268
- Rename version.rc as imm32.rc.
- Add resource.h and t1keys.h.
- Add some resource bitmaps.
- Modify <immdev.h>.
Test:
Press Ctrl+Alt+comma on FreeCJ2004.
NOTE: There's a visual bug in PatBlt with negative values.
CORE-19268
Names need decoration (stdcall) in order to be linked.
When using the wsk.h header functions exported therein should
be WSKAPI (which enforces the stdcall calling convention). Linking
would later fail because stdcall functions are named differently in
the object code.
Some datagram related dispatcher function types (like PFN_WSK_SEND_TO)
were used before they were declared. This patch moves the use after
the definition.
- Fix IRP handling, add missing IRP handlers
- Specify the device name for DO
- The legacy IRQ descriptor is edge-triggered
- Improve pool tagging
- Place the PNP code in a pageable section
CORE-17256
The default IME window has to be created for each top-level window in specific condition. It is needed for implementing Japanese input.
- Add IntFocusSetInputContext helper function.
- Call IntFocusSetInputContext after sending WM_KILLFOCUS message.
- Add IntWantImeWindow, co_IntCreateDefaultImeWindow, and IntDestroyOwnedWindows helper functions.
- Create the default IME window (spwndDefaultIme) for the specified window at IntCreateWindow.
- Fix Imm32InternalLockIMC function.
CORE-11700
- Rename <ddk/imm.h> as <ddk/immdev.h>.
- Delete sdk/include/reactos/wine/imm.h (this header is confusing and nonsense).
- Changes related to it.
CORE-11700