From a583dd5c9a78eb14e6b7994ed83cbfb60eb07a5b Mon Sep 17 00:00:00 2001 From: Kazuhiro Fujieda Date: Wed, 25 Jan 2012 06:25:51 +0900 Subject: [PATCH] Modify the code related to m_bHook in CXkeymacsDll. --- xkeymacs/mainfrm.cpp | 4 ++-- xkeymacsdll/Commands.cpp | 2 +- xkeymacsdll/xkeymacsdll.cpp | 31 +++++++++++++++++-------------- xkeymacsdll/xkeymacsdll.h | 9 +++++---- 4 files changed, 25 insertions(+), 21 deletions(-) diff --git a/xkeymacs/mainfrm.cpp b/xkeymacs/mainfrm.cpp index 9010eb1..c4b8c39 100644 --- a/xkeymacs/mainfrm.cpp +++ b/xkeymacs/mainfrm.cpp @@ -352,7 +352,7 @@ void CMainFrame::ShowRightMenu(const ICON_TYPE icon) popUp->SetDefaultItem(IDC_PROPERTIES); CString szDisable(MAKEINTRESOURCE(IDS_ENABLE)); - if (CXkeymacsDll::IsKeyboardHook()) { + if (CXkeymacsDll::GetHookState()) { szDisable.LoadString(IDS_DISABLE); } szDisable += _T("\tCtrl+Q"); @@ -447,7 +447,7 @@ void CMainFrame::OnOptions() // stop/start keyboard hook void CMainFrame::OnDisable() { - CXkeymacsDll::ToggleKeyboardHookState(); + CXkeymacsDll::ToggleHookState(); } // Close the Dialog if it is opened. diff --git a/xkeymacsdll/Commands.cpp b/xkeymacsdll/Commands.cpp index 71ad912..2651a76 100644 --- a/xkeymacsdll/Commands.cpp +++ b/xkeymacsdll/Commands.cpp @@ -2904,7 +2904,7 @@ BOOL CCommands::IsTemporarilyDisableXKeymacs() void CCommands::SetTemporarilyDisableXKeymacs(BOOL bTemporarilyDisableXKeymacs) { m_bTemporarilyDisableXKeymacs = bTemporarilyDisableXKeymacs; - CXkeymacsDll::ShowKeyboardHookState(); + CXkeymacsDll::ShowHookState(); } int CCommands::New() diff --git a/xkeymacsdll/xkeymacsdll.cpp b/xkeymacsdll/xkeymacsdll.cpp index 5a93dfa..e1e969c 100644 --- a/xkeymacsdll/xkeymacsdll.cpp +++ b/xkeymacsdll/xkeymacsdll.cpp @@ -91,7 +91,7 @@ DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) #pragma data_seg(".xkmcs") Config CXkeymacsDll::m_Config = {0}; bool CXkeymacsDll::m_bEnableKeyboardHook = false; -BOOL CXkeymacsDll::m_bHook = TRUE; +bool CXkeymacsDll::m_bHook = true; int CXkeymacsDll::m_nAccelerate = 0; int CXkeymacsDll::m_nKeyboardSpeed = 31; HCURSOR CXkeymacsDll::m_hCurrentCursor = NULL; @@ -206,18 +206,23 @@ void CXkeymacsDll::ReleaseKeyboardHook() unhook(*phHook); } -void CXkeymacsDll::ToggleKeyboardHookState() +void CXkeymacsDll::ToggleHookState() { - m_bHook = !m_bHook; - ShowKeyboardHookState(); + SetHookState(!m_bHook); } -BOOL CXkeymacsDll::IsKeyboardHook() +void CXkeymacsDll::SetHookState(bool enable) +{ + m_bHook = enable; + ShowHookState(); +} + +bool CXkeymacsDll::GetHookState() { return m_bHook; } -void CXkeymacsDll::ShowKeyboardHookState() +void CXkeymacsDll::ShowHookState() { IconMsg msg = {MAIN_ICON,}; if (m_bHook) { @@ -259,14 +264,14 @@ LRESULT CALLBACK CXkeymacsDll::CallWndProc(int nCode, WPARAM wParam, LPARAM lPar if (cwps->hwnd == GetForegroundWindow()) { AppName::SetIMEState(false); InitKeyboardProc(); - ShowKeyboardHookState(); + ShowHookState(); } break; case WM_NCACTIVATE: if (cwps->wParam && cwps->hwnd == GetForegroundWindow()) { AppName::SetIMEState(false); InitKeyboardProc(); - ShowKeyboardHookState(); + ShowHookState(); } break; } @@ -320,7 +325,7 @@ LRESULT CALLBACK CXkeymacsDll::ShellProc(int nCode, WPARAM wParam, LPARAM lParam if (!_tcsicmp(className, _T("ConsoleWindowClass"))) { AppName::SetIMEState(false); InitKeyboardProc(); - ShowKeyboardHookState(); + ShowHookState(); } } return CallNextHookEx(NULL, nCode, wParam, lParam); @@ -502,17 +507,15 @@ LRESULT CALLBACK CXkeymacsDll::KeyboardProc(int nCode, WPARAM wParam, LPARAM lPa int (*fCommand)() = CmdTable::Command(m_CmdID[nType][nKey]); if (fCommand == CCommands::EnableOrDisableXKeymacs) { - ToggleKeyboardHookState(); + ToggleHookState(); goto HOOK; } if (fCommand == CCommands::EnableXKeymacs) { - if (!m_bHook) - ToggleKeyboardHookState(); + SetHookState(true); goto HOOK; } if (fCommand == CCommands::DisableXKeymacs) { - if (m_bHook) - ToggleKeyboardHookState(); + SetHookState(false); goto HOOK; } if (!m_bHook) diff --git a/xkeymacsdll/xkeymacsdll.h b/xkeymacsdll/xkeymacsdll.h index 7839dc8..4e50603 100644 --- a/xkeymacsdll/xkeymacsdll.h +++ b/xkeymacsdll/xkeymacsdll.h @@ -28,9 +28,9 @@ public: static void ResetHooks(); static void ReleaseHooks(); static void ReleaseKeyboardHook(); - static void ToggleKeyboardHookState(); - static BOOL IsKeyboardHook(); - static void ShowKeyboardHookState(); + static void ToggleHookState(); + static bool GetHookState(); + static void ShowHookState(); static void SetM_xTip(LPCTSTR szPath); static BOOL SendIconMessage(IconMsg *pMsg, DWORD num); static BOOL IsDown(BYTE bVk, BOOL bPhysicalKey = TRUE); @@ -63,7 +63,8 @@ private: static HHOOK m_hHookGetMessage; static HHOOK m_hHookShell; static bool m_bEnableKeyboardHook; - static BOOL m_bHook; + static bool m_bHook; + static void SetHookState(bool enable); static DWORD m_nHookAltRelease; static LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam); static LRESULT CALLBACK CallWndRetProc(int nCode, WPARAM wParam, LPARAM lParam); -- 2.11.0