From fcbcc5b30ccaf14f44cffa4a3851e4af61b17c7d Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Sun, 10 Mar 2024 12:15:56 +0900 Subject: [PATCH] [KBSWITCH][INPUT][SDK] Use 's IS_IME_HKL (#6588) Unify the private IMM32 macro definitions. Refactoring... JIRA issue: CORE-19361 - Define IS_SPECIAL_HKL macro in . - Use IS_IME_HKL and IS_SPECIAL_HKL macros of , in kbswitch and input modules. --- base/applications/kbswitch/kbswitch.c | 8 +------- dll/cpl/input/input.h | 12 +----------- sdk/include/reactos/imm32_undoc.h | 11 ++++++++++- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/base/applications/kbswitch/kbswitch.c b/base/applications/kbswitch/kbswitch.c index 72b517384a7..9487956bc9d 100644 --- a/base/applications/kbswitch/kbswitch.c +++ b/base/applications/kbswitch/kbswitch.c @@ -11,6 +11,7 @@ #include #include #include +#include /* * This program kbswitch is a mimic of Win2k's internat.exe. @@ -26,13 +27,6 @@ * won't be generated in Vista+. */ -#define IME_MASK (0xE0000000UL) -#define SPECIAL_MASK (0xF0000000UL) - -#define IS_IME_HKL(hKL) ((((ULONG_PTR)(hKL)) & 0xF0000000) == IME_MASK) -#define IS_SPECIAL_HKL(hKL) ((((ULONG_PTR)(hKL)) & 0xF0000000) == SPECIAL_MASK) -#define SPECIALIDFROMHKL(hKL) ((WORD)(HIWORD(hKL) & 0x0FFF)) - #define WM_NOTIFYICONMSG (WM_USER + 248) PKBSWITCHSETHOOKS KbSwitchSetHooks = NULL; diff --git a/dll/cpl/input/input.h b/dll/cpl/input/input.h index b57993c0c2c..c059272a4d4 100644 --- a/dll/cpl/input/input.h +++ b/dll/cpl/input/input.h @@ -16,6 +16,7 @@ #include #include #include +#include #include "resource.h" @@ -83,17 +84,6 @@ DWORDfromString(const WCHAR *pszString) return wcstoul(pszString, &pszEnd, 16); } -#define IME_MASK (0xE0000000UL) -#define SUBST_MASK (0xD0000000UL) -#define SPECIAL_MASK (0xF0000000UL) - -#define IS_IME_HKL(hKL) ((((ULONG_PTR)(hKL)) & 0xF0000000) == IME_MASK) -#define IS_SPECIAL_HKL(hKL) ((((ULONG_PTR)(hKL)) & 0xF0000000) == SPECIAL_MASK) -#define SPECIALIDFROMHKL(hKL) ((WORD)(HIWORD(hKL) & 0x0FFF)) - -#define IS_IME_KLID(dwKLID) ((((ULONG)(dwKLID)) & 0xF0000000) == IME_MASK) -#define IS_SUBST_KLID(dwKLID) ((((ULONG)(dwKLID)) & 0xF0000000) == SUBST_MASK) - VOID GetSystemLibraryPath(LPWSTR pszPath, INT cchPath, LPCWSTR pszFileName); #endif /* _INPUT_H */ diff --git a/sdk/include/reactos/imm32_undoc.h b/sdk/include/reactos/imm32_undoc.h index a37c8ea4e58..184f6e13eac 100644 --- a/sdk/include/reactos/imm32_undoc.h +++ b/sdk/include/reactos/imm32_undoc.h @@ -13,7 +13,16 @@ extern "C" { #include -#define IS_IME_HKL(hkl) ((((ULONG_PTR)(hkl)) & 0xF0000000) == 0xE0000000) +#define IME_MASK (0xE0000000UL) +#define SUBST_MASK (0xD0000000UL) +#define SPECIAL_MASK (0xF0000000UL) + +#define IS_IME_HKL(hKL) ((((ULONG_PTR)(hKL)) & 0xF0000000) == IME_MASK) +#define IS_SPECIAL_HKL(hKL) ((((ULONG_PTR)(hKL)) & 0xF0000000) == SPECIAL_MASK) +#define SPECIALIDFROMHKL(hKL) ((WORD)(HIWORD(hKL) & 0x0FFF)) + +#define IS_IME_KLID(dwKLID) ((((ULONG)(dwKLID)) & 0xF0000000) == IME_MASK) +#define IS_SUBST_KLID(dwKLID) ((((ULONG)(dwKLID)) & 0xF0000000) == SUBST_MASK) typedef struct tagIMEINFOEX {