OSDN Git Service

Change the platform toolset to v140
[xkeymacs/xkeymacs.git] / xkeymacsdll / xkeymacsdll.h
index 123f13b..71d7e94 100644 (file)
@@ -9,51 +9,11 @@
 #pragma once\r
 #endif // _MSC_VER > 1000\r
 \r
-#include <list>\r
+#include "KbdMacro.h"\r
 #include "ClipboardSnap.h"\r
-\r
-const int MAX_APP = 64;\r
-const int NONE = 0x0, SHIFT = 0x1, CONTROL = 0x2, META = 0x4, CONTROLX = 0x8,\r
-          MAX_COMMAND_TYPE = NONE + SHIFT + CONTROL + META + CONTROLX + 1;\r
-const int /* WIN_SHIFT = 0x100, */ WIN_CTRL = 0x200, WIN_ALT = 0x400, WIN_WIN = 0x800;\r
-const int MAX_KEY = 256;\r
-const int MAX_FUNCTION = 64;\r
-const int MAX_DEFINITION = 256;\r
-\r
-const int WINDOW_NAME_LENGTH = 128;\r
-const int CLASS_NAME_LENGTH = 128;\r
-const int SUB_KEY_NAME_LENGTH = 128;\r
-const int WINDOW_TEXT_LENGTH = WINDOW_NAME_LENGTH * 2 + 3;\r
-\r
-enum ICON_TYPE { MAIN_ICON, CX_ICON, MX_ICON, META_ICON, SHIFT_ICON, CTRL_ICON, ALT_ICON, MAX_ICON_TYPE };\r
-enum XKEYMACS_STATUS { STATUS_ENABLE, STATUS_DISABLE_TMP, STATUS_DISABLE_WOCQ, STATUS_DISABLE, MAX_STATUS };\r
-enum { OFF_ICON, ON_ICON };\r
-\r
-enum GOTO { GOTO_DO_NOTHING, GOTO_HOOK, GOTO_RECURSIVE, GOTO_HOOKX, GOTO_HOOK0_9, CONTINUE };\r
-enum SETTING_STYLE { SETTING_DEFAULT, SETTING_SPECIFIC, SETTING_DISABLE, SETTING_UNDEFINED };\r
-\r
+#include "defs.h"\r
 #include "ipc.h"\r
-\r
-struct KeyBind\r
-{\r
-       int nType;\r
-       BYTE bVk;\r
-       int nControlID;\r
-};\r
-\r
-struct KeyName\r
-{\r
-       BYTE bVk;\r
-       LPCTSTR name;\r
-};\r
-\r
-struct KbdMacro\r
-{\r
-       int nCode;\r
-       WPARAM wParam;\r
-       LPARAM lParam;\r
-       BOOL bOriginal;\r
-};\r
+#include <list>\r
 \r
 const DWORD HOOK_ALT_LATER = 0x10000;\r
 \r
@@ -62,90 +22,85 @@ class AFX_EXT_CLASS CXkeymacsDll
 public:\r
        static BOOL SaveConfig();\r
        static BOOL LoadConfig();\r
-       static void SetConfig(const CONFIG& config);\r
-       static void SetM_xTip(LPCTSTR szPath);\r
-       static BOOL Get326Compatible();\r
-       static void SetCursorData(HCURSOR hEnable, HCURSOR hDisableTMP, HCURSOR hDisableWOCQ, HICON hDisable, BOOL bEnable);\r
-       static unsigned int GetMaxKeyInterval(void);\r
-       static void SetKeyboardSpeed(int nKeyboardSpeed);\r
-       static int GetAccelerate(void);\r
-       static void SetAccelerate(int nAccelerate);\r
-       static void Clear(int nAppID);\r
-       static BOOL IsKeyboardHook();\r
-       static void ReleaseHooks();\r
-       static void ReleaseKeyboardHook();\r
+       static void SetConfig(const Config& config);\r
        static void SetHooks();\r
-       static void SetKeyboardHook();\r
        static void ResetHooks();\r
-       static void AddKillRing(BOOL bNewData = TRUE);\r
-       static void CallMacro();\r
-       static void StartRecordMacro();\r
-       static void EndRecordMacro();\r
-       static void DepressKey(BYTE bVk, BOOL bOriginal = TRUE);\r
-       static BOOL GetEnableCUA();\r
-       static CClipboardSnap* GetKillRing(CClipboardSnap *pSnap, BOOL bForce = TRUE);\r
-       static void IncreaseKillRingIndex(int nKillRing = 1);\r
-       static UINT GetModifierState(BOOL bPhysicalKey = TRUE);\r
-       static void SetModifierState(UINT before, UINT after);\r
+       static void ReleaseHooks();\r
+       static void ReleaseKeyboardHook();\r
+       static void SetHookStateDirect(bool enable);\r
+       static void ToggleHookState();\r
+       static bool GetHookState();\r
+       static void ShowHookState();\r
+       static void SetIMEState(bool on);\r
+       static void SetM_xTip(LPCTSTR szPath);\r
+       static void SendIconMessage(IconState *state, int num);\r
        static BOOL IsDown(BYTE bVk, BOOL bPhysicalKey = TRUE);\r
        static void Kdu(BYTE bVk, DWORD n = 1, BOOL bOriginal = TRUE);\r
+       static void DepressKey(BYTE bVk, BOOL bOriginal = TRUE);\r
        static void ReleaseKey(BYTE bVk);\r
-       static BOOL Is106Keyboard();\r
-       static void ToggleKeyboardHookState();\r
-       static void ShowKeyboardHookState();\r
-       static BOOL SendIconMessage(ICONMSG *pMsg, DWORD num);\r
+       static UINT GetModifierState(BOOL bPhysicalKey = TRUE);\r
+       static void SetModifierState(UINT before, UINT after);\r
+       static void AddKillRing(BOOL bNewData = TRUE);\r
+       static CClipboardSnap* GetKillRing(CClipboardSnap *pSnap, BOOL bForce = TRUE);\r
+       static void IncreaseKillRingIndex(int nKillRing = 1);\r
+       static bool GetEnableCUA();\r
+       static bool Get326Compatible();\r
+       static bool Is106Keyboard();\r
+       static void SetKbMacro(KbdMacro* kbdMacro);\r
+       static SHORT ConvVkey(SHORT in, int mode);\r
+       static int GetAccelerate(void);\r
+       static void SetAccelerate(int nAccelerate);\r
+       static void SetKeyboardSpeed(int nKeyboardSpeed);\r
+       static unsigned int GetMaxKeyInterval(void);\r
+       static void SetCursorData(HCURSOR hEnable, HCURSOR hDisableTMP, HCURSOR hDisableWOCQ, HICON hDisable, BOOL bEnable);\r
 \r
 private:\r
-       static bool m_bEnableKeyboardHook;\r
-       static DWORD m_nHookAltRelease;\r
-       static TCHAR m_M_xTip[128];\r
-       static void InvokeM_x(LPCTSTR szPath);\r
-       static BOOL UpdateKeyboardState(BYTE bVK, BYTE bState);\r
-       static void LogCallWndProcMessage(WPARAM wParam, LPARAM lParam);\r
-       static void DoSetCursor();\r
-       static HCURSOR m_hCurrentCursor;\r
-       static BOOL m_bCursor;\r
-       static HCURSOR m_hCursor[MAX_STATUS];\r
-       static int m_nKeyboardSpeed;\r
-       static int m_nAccelerate;\r
-       static HHOOK m_hHookCallWndRet;\r
-       static LRESULT CALLBACK CallWndRetProc(int nCode, WPARAM wParam, LPARAM lParam);\r
-       static BOOL IsMatchWindowText(CString szWindowText);\r
+       static Config m_Config;\r
+       static AppConfig* m_CurrentConfig;\r
+       static BYTE (*m_CmdID)[MAX_KEY];\r
+       static char (*m_FuncID)[MAX_KEY];\r
        static HHOOK m_hHookCallWnd;\r
+       static HHOOK m_hHookCallWndRet;\r
        static HHOOK m_hHookGetMessage;\r
        static HHOOK m_hHookShell;\r
-       static BOOL IsControl();\r
-       static BOOL IsMeta();\r
-       static void SetModifierIcons();\r
-       static void DoKeybd_event(BYTE bVk, DWORD dwFlags);\r
-       static LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);\r
+       static bool m_bEnableKeyboardHook;\r
+       static void SetKeyboardHook(DWORD threadId = 0);\r
+       static bool m_bHook;\r
+       static void SetHookState(bool enable);\r
+       static DWORD m_nHookAltRelease;\r
        static LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam);\r
+       static LRESULT CALLBACK CallWndRetProc(int nCode, WPARAM wParam, LPARAM lParam);\r
        static LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam);\r
        static LRESULT CALLBACK ShellProc(int nCode, WPARAM wParam, LPARAM lParam);\r
-       static int GetAppID(LPCSTR szName, int fallback);\r
-       static KeyBind ParseKey(LPCTSTR& def);\r
-       static BYTE a2v(TCHAR nAscii);\r
-       static BOOL IsShift(TCHAR nAscii);\r
-       static void CallFunction(int nFuncID);\r
-       static int IsPassThrough(BYTE nKey);\r
+       static void InitKeyboardProc();\r
+       static AppConfig* GetAppConfig(LPCTSTR szName, AppConfig* fallback);\r
+       static BOOL m_bRightShift;\r
+       static BOOL m_bRightControl;\r
+       static BOOL m_bRightAlt;\r
+       static LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);\r
        static void CancelMarkWithShift(BYTE nKey, bool bRelease);\r
-       static BOOL IsDepressedModifier(int Modifier(), BOOL bPhysicalKey = TRUE);\r
-       static BOOL IsValidKey(BYTE bVk);\r
-       static std::list<KbdMacro> m_Macro;\r
-       static BOOL m_bRecordingMacro;\r
-       static BOOL m_bDown[MAX_KEY];\r
+       static int IsPassThrough(BYTE nKey);\r
+       static void InvokeM_x(LPCTSTR szPath);\r
+       static TCHAR m_M_xTip[128];\r
+       static void SetModifierIcons();\r
+       static void DoKeybd_event(BYTE bVk, DWORD dwFlags);\r
        static void SetOriginal(UINT nType, BYTE bVk);\r
-       static int CheckOriginal(UINT nType, BYTE bVk);\r
-       static void InitKeyboardProc(BOOL bImeComposition);\r
-       static int m_nAppID;\r
        static BYTE m_nOriginal[MAX_COMMAND_TYPE][MAX_KEY];\r
-       static int m_nKillRing;\r
+       static int CheckOriginal(UINT nType, BYTE bVk);\r
+       static BOOL UpdateKeyboardState(BYTE bVK, BYTE bState);\r
+       static BOOL IsControl();\r
+       static BOOL IsMeta();\r
+       static BOOL IsDepressedModifier(int Modifier(), BOOL bPhysicalKey = TRUE);\r
        static CList<CClipboardSnap *, CClipboardSnap *> m_oKillRing;\r
-       static BOOL m_bHook;\r
-       static BOOL m_bRightShift;\r
-       static BOOL m_bRightAlt;\r
-       static BOOL m_bRightControl;\r
-       static CONFIG m_Config;\r
+       static int m_nKillRing;\r
+       static KbdMacro* m_kbdMacro;\r
+       static void CallFunction(int id);\r
+       static int m_nAccelerate;\r
+       static int m_nKeyboardSpeed;\r
+       static HCURSOR m_hCurrentCursor;\r
+       static BOOL m_bCursor;\r
+       static HCURSOR m_hCursor[MAX_STATUS];\r
+       static void DoSetCursor();\r
 };\r
 \r
 #endif // !defined(AFX_XKEYMACS_H__88552DEC_1233_4A0A_BE62_9EF7BC618EC6__INCLUDED_)\r