OSDN Git Service

Modify or remove some declarations of constants in xkeymacsdll.h.
[xkeymacs/xkeymacs.git] / xkeymacsdll / xkeymacsdll.h
1 // xkeymacs.h: interface for the CXkeymacsDll class.\r
2 //\r
3 //////////////////////////////////////////////////////////////////////\r
4 \r
5 #if !defined(AFX_XKEYMACS_H__88552DEC_1233_4A0A_BE62_9EF7BC618EC6__INCLUDED_)\r
6 #define AFX_XKEYMACS_H__88552DEC_1233_4A0A_BE62_9EF7BC618EC6__INCLUDED_\r
7 \r
8 #if _MSC_VER > 1000\r
9 #pragma once\r
10 #endif // _MSC_VER > 1000\r
11 \r
12 #include <list>\r
13 #include "ClipboardSnap.h"\r
14 \r
15 const int MAX_APP = 64;\r
16 const int NONE = 0x0, SHIFT = 0x1, CONTROL = 0x2, META = 0x4, CONTROLX = 0x8,\r
17            MAX_COMMAND_TYPE = NONE + SHIFT + CONTROL + META + CONTROLX + 1;\r
18 const int /* WIN_SHIFT = 0x100, */ WIN_CTRL = 0x200, WIN_ALT = 0x400, WIN_WIN = 0x800;\r
19 const int MAX_KEY = 256;\r
20 const int MAX_FUNCTION = 64;\r
21 const int MAX_DEFINITION = 256;\r
22 \r
23 const int WINDOW_NAME_LENGTH = 128;\r
24 const int CLASS_NAME_LENGTH = 128;\r
25 const int SUB_KEY_NAME_LENGTH = 128;\r
26 const int WINDOW_TEXT_LENGTH = WINDOW_NAME_LENGTH * 2 + 3;\r
27 \r
28 enum ICON_TYPE { MAIN_ICON, CX_ICON, MX_ICON, META_ICON, SHIFT_ICON, CTRL_ICON, ALT_ICON, MAX_ICON_TYPE };\r
29 enum XKEYMACS_STATUS { STATUS_ENABLE, STATUS_DISABLE_TMP, STATUS_DISABLE_WOCQ, STATUS_DISABLE, MAX_STATUS };\r
30 enum { OFF_ICON, ON_ICON };\r
31 \r
32 enum GOTO { GOTO_DO_NOTHING, GOTO_HOOK, GOTO_RECURSIVE, GOTO_HOOKX, GOTO_HOOK0_9, CONTINUE };\r
33 enum SETTING_STYLE { SETTING_DEFAULT, SETTING_SPECIFIC, SETTING_DISABLE, SETTING_UNDEFINED };\r
34 \r
35 #include "ipc.h"\r
36 \r
37 struct KeyBind\r
38 {\r
39         int nType;\r
40         BYTE bVk;\r
41         int nControlID;\r
42 };\r
43 \r
44 struct KeyName\r
45 {\r
46         BYTE bVk;\r
47         LPCTSTR name;\r
48 };\r
49 \r
50 struct KbdMacro\r
51 {\r
52         int nCode;\r
53         WPARAM wParam;\r
54         LPARAM lParam;\r
55         BOOL bOriginal;\r
56 };\r
57 \r
58 const DWORD HOOK_ALT_LATER = 0x10000;\r
59 \r
60 class AFX_EXT_CLASS CXkeymacsDll  \r
61 {\r
62 public:\r
63         static BOOL SaveConfig();\r
64         static BOOL LoadConfig();\r
65         static void SetConfig(const CONFIG& config);\r
66         static void SetM_xTip(const TCHAR *const szPath);\r
67         static BOOL Get326Compatible();\r
68         static void SetCursorData(HCURSOR hEnable, HCURSOR hDisableTMP, HCURSOR hDisableWOCQ, HICON hDisable, BOOL bEnable);\r
69         static unsigned int GetMaxKeyInterval(void);\r
70         static void SetKeyboardSpeed(int nKeyboardSpeed);\r
71         static int GetAccelerate(void);\r
72         static void SetAccelerate(int nAccelerate);\r
73         static void Clear(int nAppID);\r
74         static BOOL IsKeyboardHook();\r
75         static void ReleaseHooks();\r
76         static void ReleaseKeyboardHook();\r
77         static void SetHooks();\r
78         static void SetKeyboardHook();\r
79         static void ResetHooks();\r
80         static void AddKillRing(BOOL bNewData = TRUE);\r
81         static void CallMacro();\r
82         static void StartRecordMacro();\r
83         static void EndRecordMacro();\r
84         static void DepressKey(BYTE bVk, BOOL bOriginal = TRUE);\r
85         static BOOL GetEnableCUA();\r
86         static CClipboardSnap* GetKillRing(CClipboardSnap *pSnap, BOOL bForce = TRUE);\r
87         static void IncreaseKillRingIndex(int nKillRing = 1);\r
88         static UINT GetModifierState(BOOL bPhysicalKey = TRUE);\r
89         static void SetModifierState(const UINT before, const UINT after);\r
90         static BOOL IsDown(BYTE bVk, BOOL bPhysicalKey = TRUE);\r
91         static void Kdu(BYTE bVk, DWORD n = 1, BOOL bOriginal = TRUE);\r
92         static void ReleaseKey(BYTE bVk);\r
93         static BOOL Is106Keyboard();\r
94         static void ToggleKeyboardHookState();\r
95         static void ShowKeyboardHookState();\r
96         static BOOL SendIconMessage(ICONMSG *pMsg, DWORD num);\r
97 \r
98 private:\r
99         static bool m_bEnableKeyboardHook;\r
100         static DWORD m_nHookAltRelease;\r
101         static TCHAR m_M_xTip[128];\r
102         static void InvokeM_x(const TCHAR* const szPath);\r
103         static BOOL UpdateKeyboardState(BYTE bVK, BYTE bState);\r
104         static void LogCallWndProcMessage(WPARAM wParam, LPARAM lParam);\r
105         static void DoSetCursor();\r
106         static HCURSOR m_hCurrentCursor;\r
107         static BOOL m_bCursor;\r
108         static HCURSOR m_hCursor[MAX_STATUS];\r
109         static int m_nKeyboardSpeed;\r
110         static int m_nAccelerate;\r
111         static HHOOK m_hHookCallWndRet;\r
112         static LRESULT CALLBACK CallWndRetProc(int nCode, WPARAM wParam, LPARAM lParam);\r
113         static BOOL IsMatchWindowText(CString szWindowText);\r
114         static HHOOK m_hHookCallWnd;\r
115         static HHOOK m_hHookGetMessage;\r
116         static HHOOK m_hHookShell;\r
117         static BOOL IsControl();\r
118         static BOOL IsMeta();\r
119         static void SetModifierIcons();\r
120         static void DoKeybd_event(BYTE bVk, DWORD dwFlags);\r
121         static LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);\r
122         static LRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam);\r
123         static LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam);\r
124         static LRESULT CALLBACK ShellProc(int nCode, WPARAM wParam, LPARAM lParam);\r
125         static int GetAppID(const LPCSTR szName, const int fallback);\r
126         static KeyBind ParseKey(LPCTSTR& def);\r
127         static BYTE a2v(TCHAR nAscii);\r
128         static BOOL IsShift(TCHAR nAscii);\r
129         static void CallFunction(int nFuncID);\r
130         static int IsPassThrough(BYTE nKey);\r
131         static void CancelMarkWithShift(BYTE nKey, bool bRelease);\r
132         static BOOL IsDepressedModifier(int Modifier(), BOOL bPhysicalKey = TRUE);\r
133         static BOOL IsValidKey(BYTE bVk);\r
134         static std::list<KbdMacro> m_Macro;\r
135         static BOOL m_bRecordingMacro;\r
136         static BOOL m_bDown[MAX_KEY];\r
137         static void SetOriginal(UINT nType, BYTE bVk);\r
138         static int CheckOriginal(UINT nType, BYTE bVk);\r
139         static void InitKeyboardProc(BOOL bImeComposition);\r
140         static int m_nAppID;\r
141         static BYTE m_nOriginal[MAX_COMMAND_TYPE][MAX_KEY];\r
142         static int m_nKillRing;\r
143         static CList<CClipboardSnap *, CClipboardSnap *> m_oKillRing;\r
144         static BOOL m_bHook;\r
145         static BOOL m_bRightShift;\r
146         static BOOL m_bRightAlt;\r
147         static BOOL m_bRightControl;\r
148         static CONFIG m_Config;\r
149 };\r
150 \r
151 #endif // !defined(AFX_XKEYMACS_H__88552DEC_1233_4A0A_BE62_9EF7BC618EC6__INCLUDED_)\r