From: Kazuhiro Fujieda Date: Sun, 4 Sep 2011 06:24:11 +0000 (+0900) Subject: Modify or remove some declarations of constants in xkeymacsdll.h. X-Git-Tag: snap-180407~61 X-Git-Url: http://git.osdn.net/view?p=xkeymacs%2Fxkeymacs.git;a=commitdiff_plain;h=213ce462cb05895f4d3c8d2f816518ffc678dda8 Modify or remove some declarations of constants in xkeymacsdll.h. Declare some constants as const int. Remove the declarations of EXTENDED_KEY, REPEATED_KEY, and BEING_RELEASED. Exchange the values of ON_ICON and OFF_ICON. --- diff --git a/xkeymacs/propertiesadvanced.cpp b/xkeymacs/propertiesadvanced.cpp index 10015e8..35219a4 100644 --- a/xkeymacs/propertiesadvanced.cpp +++ b/xkeymacs/propertiesadvanced.cpp @@ -414,41 +414,24 @@ void CPropertiesAdvanced::ClearNewKey() LRESULT CALLBACK CPropertiesAdvanced::KeyboardProc(int code, WPARAM wParam, LPARAM lParam) { - if (code < 0 || code == HC_NOREMOVE) { + if (code < 0 || code == HC_NOREMOVE) return ::CallNextHookEx(m_hKeyboardHook, code, wParam, lParam); + if (HIWORD(lParam) & KF_UP) + return TRUE; + const bool bExt = (HIWORD(lParam) & KF_EXTENDED) != 0; + switch (wParam) { + case VK_SHIFT: + wParam = (bExt) ? VK_RSHIFT : VK_LSHIFT; + break; + case VK_CONTROL: + wParam = (bExt) ? VK_RCONTROL : VK_LCONTROL; + break; + case VK_MENU: + wParam = (bExt) ? VK_RMENU : VK_LMENU; + break; } - - if (lParam & BEING_RELEASED) { // Key Up - } else { // Key Down - switch (wParam) { - case VK_CONTROL: - if (lParam & EXTENDED_KEY) { - wParam = VK_RCONTROL; - } else { - wParam = VK_LCONTROL; - } - break; - case VK_MENU: - if (lParam & EXTENDED_KEY) { - wParam = VK_RMENU; - } else { - wParam = VK_LMENU; - } - break; - case VK_SHIFT: - if (lParam & EXTENDED_KEY) { - wParam = VK_RSHIFT; - } else { - wParam = VK_LSHIFT; - } - break; - default: - break; - } - m_nAssignKey = wParam; - SetNewKey(); - } - + m_nAssignKey = wParam; + SetNewKey(); return TRUE; } diff --git a/xkeymacsdll/xkeymacsdll.cpp b/xkeymacsdll/xkeymacsdll.cpp index 2a4c67d..1b74239 100644 --- a/xkeymacsdll/xkeymacsdll.cpp +++ b/xkeymacsdll/xkeymacsdll.cpp @@ -612,8 +612,8 @@ int CXkeymacsDll::GetAppID(const LPCSTR szName, const int fallback) LRESULT CALLBACK CXkeymacsDll::KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { const BYTE nOrigKey = static_cast(wParam); - const bool bRelease = (lParam & BEING_RELEASED) != 0; - const bool bExtended = (lParam & EXTENDED_KEY) != 0; + const bool bRelease = (HIWORD(lParam) & KF_UP) != 0; + const bool bExtended = (HIWORD(lParam) & KF_EXTENDED) != 0; static BOOL bLocked = FALSE; static const BYTE RECURSIVE_KEY = 0x07; @@ -628,7 +628,7 @@ LRESULT CALLBACK CXkeymacsDll::KeyboardProc(int nCode, WPARAM wParam, LPARAM lPa return CallNextHookEx(NULL, nCode, wParam, lParam); // CUtils::Log(_T("nKey = %#x, ext = %d, rel = %d, pre = %d, %#hx, %#hx"), nOrigKey, -// (lParam & EXTENDED_KEY) ? 1 : 0, (lParam & BEING_RELEASED) ? 1 : 0, (lParam & REPEATED_KEY) ? 1 : 0, +// (HIWORD(lParam) & KF_EXTENDED) ? 1 : 0, (HIWORD(lParam) & KF_UP) ? 1 : 0, (HIWORD(lParam) & KF_REPEAT) ? 1 : 0, // GetKeyState(nOrigKey), GetAsyncKeyState(nOrigKey)); if (nOrigKey == RECURSIVE_KEY) { @@ -926,14 +926,13 @@ HOOK_RECURSIVE_KEY: void CXkeymacsDll::SetModifierIcons() { -#define IconState(x) ((x) ? ON_ICON : OFF_ICON) ICONMSG msg[6] = { - {MX_ICON, IconState(CCommands::bM_x()), ""}, - {CX_ICON, IconState(CCommands::bC_x()), ""}, - {META_ICON, IconState(CCommands::bM_()), ""}, - {SHIFT_ICON, IconState(IsDown(VK_SHIFT, FALSE)), ""}, - {CTRL_ICON, IconState(IsControl()), ""}, - {ALT_ICON, IconState(IsDown(VK_MENU, FALSE)), ""} + {MX_ICON, CCommands::bM_x(), ""}, + {CX_ICON, CCommands::bC_x(), ""}, + {META_ICON, CCommands::bM_(), ""}, + {SHIFT_ICON, IsDown(VK_SHIFT, FALSE), ""}, + {CTRL_ICON, IsControl(), ""}, + {ALT_ICON, IsDown(VK_MENU, FALSE), ""} }; _tcscpy_s(msg[0].szTip, m_M_xTip); SendIconMessage(msg, 6); @@ -1131,7 +1130,7 @@ void CXkeymacsDll::EndRecordMacro() m_bRecordingMacro = FALSE; while (!m_Macro.empty()) { // remove not released push const KbdMacro& m = m_Macro.back(); - if (m.lParam & BEING_RELEASED) + if (HIWORD(m.lParam) & KF_UP) break; m_Macro.pop_back(); } @@ -1144,7 +1143,7 @@ void CXkeymacsDll::CallMacro() UINT before = GetModifierState(FALSE); SetModifierState(0, before); for (std::list::const_iterator m = m_Macro.begin(); m != m_Macro.end(); ++m) - if (m->lParam & BEING_RELEASED) + if (HIWORD(m->lParam) & KF_UP) ReleaseKey(static_cast(m->wParam)); else DepressKey(static_cast(m->wParam), m->bOriginal); diff --git a/xkeymacsdll/xkeymacsdll.h b/xkeymacsdll/xkeymacsdll.h index beaaf79..c822b9a 100644 --- a/xkeymacsdll/xkeymacsdll.h +++ b/xkeymacsdll/xkeymacsdll.h @@ -12,30 +12,26 @@ #include #include "ClipboardSnap.h" -enum { MAX_APP = 64 }; -enum { NONE = 0x0, SHIFT = 0x1, CONTROL = 0x2, META = 0x4, CONTROLX = 0x8, - MAX_COMMAND_TYPE = NONE + SHIFT + CONTROL + META + CONTROLX + 1 }; -enum { /* WIN_SHIFT = 0x100, */ WIN_CTRL = 0x200, WIN_ALT = 0x400, WIN_WIN = 0x800 }; -enum { MAX_KEY = 256 }; -enum { MAX_FUNCTION = 64 }; -enum { MAX_DEFINITION = 256 }; - -enum { WINDOW_NAME_LENGTH = 128 }; -enum { CLASS_NAME_LENGTH = 128 }; -enum { SUB_KEY_NAME_LENGTH = 128 }; -enum { WINDOW_TEXT_LENGTH = 128 + 128 + 3}; +const int MAX_APP = 64; +const int NONE = 0x0, SHIFT = 0x1, CONTROL = 0x2, META = 0x4, CONTROLX = 0x8, + MAX_COMMAND_TYPE = NONE + SHIFT + CONTROL + META + CONTROLX + 1; +const int /* WIN_SHIFT = 0x100, */ WIN_CTRL = 0x200, WIN_ALT = 0x400, WIN_WIN = 0x800; +const int MAX_KEY = 256; +const int MAX_FUNCTION = 64; +const int MAX_DEFINITION = 256; + +const int WINDOW_NAME_LENGTH = 128; +const int CLASS_NAME_LENGTH = 128; +const int SUB_KEY_NAME_LENGTH = 128; +const int WINDOW_TEXT_LENGTH = WINDOW_NAME_LENGTH * 2 + 3; enum ICON_TYPE { MAIN_ICON, CX_ICON, MX_ICON, META_ICON, SHIFT_ICON, CTRL_ICON, ALT_ICON, MAX_ICON_TYPE }; enum XKEYMACS_STATUS { STATUS_ENABLE, STATUS_DISABLE_TMP, STATUS_DISABLE_WOCQ, STATUS_DISABLE, MAX_STATUS }; -enum { ON_ICON, OFF_ICON }; // alias of status +enum { OFF_ICON, ON_ICON }; enum GOTO { GOTO_DO_NOTHING, GOTO_HOOK, GOTO_RECURSIVE, GOTO_HOOKX, GOTO_HOOK0_9, CONTINUE }; enum SETTING_STYLE { SETTING_DEFAULT, SETTING_SPECIFIC, SETTING_DISABLE, SETTING_UNDEFINED }; -enum { EXTENDED_KEY = 0x01000000 }; -enum { REPEATED_KEY = 0x40000000 }; -enum { BEING_RELEASED = 0x80000000 }; - #include "ipc.h" struct KeyBind