• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

XKeymacs for 64bit Windows


Commit MetaInfo

Revisión226e0e2212b159c53d5e86c28a62eca65fa6ba25 (tree)
Tiempo2011-05-27 08:35:57
AutorKazuhiro Fujieda <fujieda@user...>
CommiterKazuhiro Fujieda

Log Message

Remove typedef of Command_t in Commands.h. Move the initilizer of
Commands in Commands.h to Commands.cpp and export Commands from
DLL. Declare MAX_COMMAND in Commands.h.

Cambiar Resumen

Diferencia incremental

--- a/xkeymacsdll/Commands.cpp
+++ b/xkeymacsdll/Commands.cpp
@@ -8,6 +8,268 @@
88 #include "Utils.h"
99 #include <math.h>
1010 #include <Imm.h>
11+
12+AFX_EXT_DATA const Command Commands[] = {
13+ {_T("[unassigned]"), 0, 0, 0, NULL, {'\0'}},
14+ {_T("C-x"), 0, IDS_CONTROL_X_PREFIX_D, IDS_CONTROL_X_PREFIX_T, CCommands::C_x, {'\0'}},
15+ {_T("C-"), IDS_OTHER, IDS_CONTROL_D, IDS_CONTROL_T, CCommands::C_, {{NONE, VK_CONTROL, 0},
16+ {NONE, VK_LCONTROL, 0},
17+ {NONE, VK_RCONTROL, 0},
18+ {'\0'}}},
19+ {_T("C- for Eisu"), 0, IDS_CONTROL_PREFIX_D, IDS_CONTROL_PREFIX_T, CCommands::C_Eisu, {'\0'}},
20+ {_T("Caps Lock"), IDS_OTHER, IDS_CAPS_LOCK_D, IDS_CAPS_LOCK_T, CCommands::CapsLock, {'\0'}},
21+ {_T("Close Input Method"), IDS_IME, IDS_CLOSE_INPUT_METHOD_D, IDS_CLOSE_INPUT_METHOD_T, CCommands::CloseInputMethod, {'\0'}},
22+ {_T("Complete & Close Input Method"), IDS_IME, IDS_COMPLETE_CLOSE_INPUT_METHOD_D, IDS_COMPLETE_CLOSE_INPUT_METHOD_T, CCommands::CompleteCloseInputMethod,{'\0'}},
23+ {_T("Complete & Toggle Input Method"), IDS_IME, IDS_COMPLETE_TOGGLE_INPUT_METHOD_D, IDS_COMPLETE_TOGGLE_INPUT_METHOD_T, CCommands::CompleteToggleInputMethod, {'\0'}},
24+ {_T("Copy"), IDS_OTHER, IDS_COPY_D, IDS_COPY_T, CCommands::Copy, {'\0'}},
25+ {_T("Cut"), IDS_OTHER, IDS_CUT_D, IDS_CUT_T, CCommands::Cut, {'\0'}},
26+ {_T("Cycle items"), IDS_OTHER, IDS_CYCLE_ITEMS_D, IDS_CYCLE_ITEMS_T, CCommands::CycleItems, {'\0'}},
27+ {_T("Cycle items inversely"), IDS_OTHER, IDS_CYCLE_ITEMS_INVERSELY_D, IDS_CYCLE_ITEMS_INVERSELY_T, CCommands::CycleItemsInversely, {'\0'}},
28+ {_T("Disable XKeymacs"), IDS_OTHER, IDS_DISABLE_XKEYMACS_D, IDS_DISABLE_XKEYMACS_T, CCommands::DisableXKeymacs, {'\0'}},
29+ {_T("Enable or Disable XKeymacs"), IDS_OTHER, IDS_ENABLE_OR_DISABLE_XKEYMACS_D, IDS_ENABLE_OR_DISABLE_XKEYMACS_T, CCommands::EnableOrDisableXKeymacs, {{CONTROL, 'Q', IDC_CQ},
30+ {CONTROL+SHIFT, 'Q', IDC_CQ},
31+ {'\0'}}},
32+ {_T("Enable XKeymacs"), IDS_OTHER, IDS_ENABLE_XKEYMACS_D, IDS_ENABLE_XKEYMACS_T, CCommands::EnableXKeymacs, {'\0'}},
33+ {_T("newline"), IDS_OTHER, IDS_NEWLINE_D, IDS_NEWLINE_T, CCommands::Newline, {{CONTROL, 'M', IDC_CM},
34+ {CONTROL+SHIFT, 'M', IDC_CM},
35+ {'\0'}}},
36+ {_T("Esc"), IDS_OTHER, IDS_ESCAPE_D, IDS_ESCAPE_T, CCommands::Escape, {'\0'}},
37+ {_T("Find"), IDS_OTHER, IDS_FIND_D, IDS_FIND_T, CCommands::Find, {'\0'}},
38+ {_T("Find Next"), IDS_OTHER, IDS_FIND_NEXT_D, IDS_FIND_NEXT_T, CCommands::FindNext, {'\0'}},
39+ {_T("Ignore"), IDS_OTHER, IDS_IGNORE_D, IDS_IGNORE_T, CCommands::Ignore, {'\0'}},
40+ {_T("Kill Line for All Format"), IDS_OTHER, IDS_KILL_LINE_FOR_ALL_FORMAT_D, IDS_KILL_LINE_FOR_ALL_FORMAT_T, CCommands::KillLineForAllFormat, {'\0'}},
41+ {_T("Maximize"), IDS_OTHER, IDS_MAXIMIZE_D, IDS_MAXIMIZE_T, CCommands::Maximize, {'\0'}},
42+ {_T("Maximize Horizontally"), IDS_OTHER, IDS_MAXIMIZE_HORIZONTALLY_D, IDS_MAXIMIZE_HORIZONTALLY_T, CCommands::MaximizeHorizontally, {'\0'}},
43+ {_T("Maximize Vertically"), IDS_OTHER, IDS_MAXIMIZE_VERTICALLY_D, IDS_MAXIMIZE_VERTICALLY_T, CCommands::MaximizeVertically, {'\0'}},
44+ {_T("Meta"), IDS_OTHER, IDS_META_PREFIX_D, IDS_META_PREFIX_T, CCommands::Meta, {{CONTROL, 0xDB, IDC_SQUARE_BRA},
45+ {'\0'}}}, // VK_OEM_4
46+ {_T("Meta for Alt"), IDS_OTHER, IDS_META_D, IDS_META_T, CCommands::MetaAlt, {{NONE, VK_MENU, IDC_ALT},
47+ {NONE, VK_LMENU, IDC_LEFT_ALT},
48+ {NONE, VK_RMENU, IDC_RIGHT_ALT},
49+ {'\0'}}},
50+ {_T("Meta for Escape"), IDS_OTHER, IDS_META_PREFIX_AND_ORIGINAL_D, IDS_META_PREFIX_AND_ORIGINAL_T, CCommands::MetaEscape, {{NONE, VK_ESCAPE, IDC_ESCAPE},
51+ {NONE+SHIFT, VK_ESCAPE, IDC_ESCAPE},
52+ {'\0'}}}, // add SHIFT
53+ {_T("Minimize"), IDS_OTHER, IDS_MINIMIZE_D, IDS_MINIMIZE_T, CCommands::Minimize, {'\0'}},
54+ {_T("Move"), IDS_OTHER, IDS_MOVE_D, IDS_MOVE_T, CCommands::Move, {'\0'}},
55+ {_T("New"), IDS_OTHER, IDS_NEW_D, IDS_NEW_T, CCommands::New, {'\0'}},
56+ {_T("One Shot Modifier Alt"), IDS_MODIFIER, IDS_OSMODIFIER_ALT_D, IDS_OSMODIFIER_ALT_T, CCommands::OneShotModifierAlt, {'\0'}},
57+ {_T("One Shot Modifier Alt with Repeat"), IDS_MODIFIER, IDS_OSMODIFIER_ALT_REPEAT_D, IDS_OSMODIFIER_ALT_REPEAT_T, CCommands::OneShotModifierAltRepeat, {'\0'}},
58+ {_T("One Shot Modifier Ctrl"), IDS_MODIFIER, IDS_OSMODIFIER_CTRL_D, IDS_OSMODIFIER_CTRL_T, CCommands::OneShotModifierCtrl, {'\0'}},
59+ {_T("One Shot Modifier Ctrl with Repeat"), IDS_MODIFIER, IDS_OSMODIFIER_CTRL_REPEAT_D, IDS_OSMODIFIER_CTRL_REPEAT_T, CCommands::OneShotModifierCtrlRepeat, {'\0'}},
60+ {_T("One Shot Modifier Shift"), IDS_MODIFIER, IDS_OSMODIFIER_SHIFT_D, IDS_OSMODIFIER_SHIFT_T, CCommands::OneShotModifierShift, {'\0'}},
61+ {_T("One Shot Modifier Shift with Repeat"), IDS_MODIFIER, IDS_OSMODIFIER_SHIFT_REPEAT_D, IDS_OSMODIFIER_SHIFT_REPEAT_T, CCommands::OneShotModifierShiftRepeat, {'\0'}},
62+ {_T("Open Input Method"), IDS_IME, IDS_OPEN_INPUT_METHOD_D, IDS_OPEN_INPUT_METHOD_T, CCommands::OpenInputMethod, {'\0'}},
63+ {_T("Pass Through"), IDS_OTHER, IDS_PASS_THROUGH_D, IDS_PASS_THROUGH_T, CCommands::PassThrough, {'\0'}},
64+ {_T("Paste"), IDS_OTHER, IDS_PASTE_D, IDS_PASTE_T, CCommands::Paste, {'\0'}},
65+ {_T("Print"), IDS_OTHER, IDS_PRINT_D, IDS_PRINT_T, CCommands::Print, {'\0'}},
66+ {_T("Redo"), IDS_OTHER, IDS_REDO_D, IDS_REDO_T, CCommands::Redo, {'\0'}},
67+ {_T("Restore"), IDS_OTHER, IDS_RESTORE_D, IDS_RESTORE_T, CCommands::Restore, {'\0'}},
68+ {_T("Retop"), IDS_OTHER, IDS_RETOP_D, IDS_RETOP_T, CCommands::Retop, {'\0'}},
69+ {_T("Roll-up/Unroll"), IDS_WINDOW, IDS_ROLL_UP_UNROLL_D, IDS_ROLL_UP_UNROLL_T, CCommands::RollUpUnroll, {{META, VK_F12, IDC_MF12},
70+ {'\0'}}},
71+ {_T("Select All"), IDS_OTHER, IDS_SELECT_ALL_D, IDS_SELECT_ALL_T, CCommands::SelectAll, {'\0'}},
72+ {_T("Size"), IDS_OTHER, IDS_SIZE_D, IDS_SIZE_T, CCommands::Size, {'\0'}},
73+ {_T("Switch Between Input Locales"),IDS_IME, IDS_SWITCH_BETWEEN_INPUT_LOCALES_D, IDS_SWITCH_BETWEEN_INPUT_LOCALES_T, CCommands::SwitchBetweenInputLocales, {'\0'}},
74+ {_T("Temporarily Disable XKeymacs"),IDS_OTHER, IDS_TEMPORARILY_DISABLE_XKEYMACS_D, IDS_TEMPORARILY_DISABLE_XKEYMACS_T, CCommands::TemporarilyDisableXKeymacs, {'\0'}},
75+ {_T("~"), IDS_OTHER, IDS_TILDE_D, IDS_TILDE_T, CCommands::Tilde, {'\0'}},
76+ {_T("`"), IDS_OTHER, IDS_BACK_QUOTE_D, IDS_BACK_QUOTE_T, CCommands::BackQuote, {'\0'}},
77+ {_T("_"), IDS_OTHER, IDS_UNDERSCORE_D, IDS_UNDERSCORE_T, CCommands::Underscore, {'\0'}},
78+ {_T("backward-char"), IDS_MOTION, IDS_BACKWARD_CHAR_D, IDS_BACKWARD_CHAR_T, CCommands::BackwardChar, {{CONTROL, 'B', IDC_CB},
79+ {CONTROL+SHIFT, 'B', IDC_CB},
80+ {'\0'}}},
81+ {_T("backward-kill-word"), IDS_KILL, IDS_BACKWARD_KILL_WORD_D, IDS_BACKWARD_KILL_WORD_T, CCommands::BackwardKillWord, {{META, VK_BACK, IDC_MDEL},
82+ {META+SHIFT, VK_BACK, IDC_MDEL},
83+ {'\0'}}},
84+ {_T("backward-word"), IDS_MOTION, IDS_BACKWARD_WORD_D, IDS_BACKWARD_WORD_T, CCommands::BackwardWord, {{META, 'B', IDC_MB},
85+ {META+SHIFT, 'B', IDC_MB},
86+ {'\0'}}},
87+ {_T("beginning-of-buffer"), IDS_MOTION, IDS_BEGINNING_OF_BUFFER_D, IDS_BEGINNING_OF_BUFFER_T, CCommands::BeginningOfBuffer, {{META+SHIFT, 0xBC, IDC_MSCOMMA},
88+ {'\0'}}}, // VK_OEM_COMMA
89+ {_T("beginning-of-line"), IDS_MOTION, IDS_BEGINNING_OF_LINE_D, IDS_BEGINNING_OF_LINE_T, CCommands::BeginningOfLine, {{CONTROL, 'A', IDC_CA},
90+ {CONTROL+SHIFT, 'A', IDC_CA},
91+ {'\0'}}},
92+ {_T("call-last-kbd-macro"), IDS_OTHER, IDS_CALL_LAST_KBD_MACRO_D, IDS_CALL_LAST_KBD_MACRO_T, CCommands::CallLastKbdMacro, {{CONTROLX, 'E', IDC_CXE},
93+ {CONTROLX+SHIFT, 'E', IDC_CXE},
94+ {'\0'}}},
95+ {_T("capitalize-word"), IDS_OTHER, IDS_CAPITALIZE_WORD_D, IDS_CAPITALIZE_WORD_T, CCommands::CapitalizeWord, {{META, 'C', IDC_MC},
96+ {META+SHIFT, 'C', IDC_MC},
97+ {'\0'}}},
98+ {_T("delete-backward-char"), IDS_KILL, IDS_DELETE_BACKWARD_CHAR_D, IDS_DELETE_BACKWARD_CHAR_T, CCommands::DeleteBackwardChar, {{CONTROL, 'H', IDC_CH},
99+ {CONTROL+SHIFT, 'H', IDC_CH},
100+ {'\0'}}},
101+ {_T("delete-char"), IDS_KILL, IDS_DELETE_CHAR_D, IDS_DELETE_CHAR_T, CCommands::DeleteChar, {{CONTROL, 'D', IDC_CD},
102+ {CONTROL+SHIFT, 'D', IDC_CD},
103+ {'\0'}}},
104+ {_T("downcase-word"), IDS_OTHER, IDS_DOWNCASE_WORD_D, IDS_DOWNCASE_WORD_T, CCommands::DowncaseWord, {{META, 'L', IDC_ML},
105+ {META+SHIFT, 'L', IDC_ML},
106+ {'\0'}}},
107+ {_T("end-kbd-macro"), IDS_OTHER, IDS_END_KBD_MACRO_D, IDS_END_KBD_MACRO_T, CCommands::EndKbdMacro, {{CONTROLX+SHIFT, '0', IDC_CXS0},
108+ {'\0'}}},
109+ {_T("end-of-buffer"), IDS_MOTION, IDS_END_OF_BUFFER_D, IDS_END_OF_BUFFER_T, CCommands::EndOfBuffer, {{META+SHIFT, 0xBE, IDC_MSPERIOD},
110+ {'\0'}}}, // VK_OEM_PERIOD
111+ {_T("end-of-line"), IDS_MOTION, IDS_END_OF_LINE_D, IDS_END_OF_LINE_T, CCommands::EndOfLine, {{CONTROL, 'E', IDC_CE},
112+ {CONTROL+SHIFT, 'E', IDC_CE},
113+ {'\0'}}},
114+ {_T("execute-extended-command"), IDS_OTHER, IDS_EXECUTE_EXTENDED_COMMAND_D, IDS_EXECUTE_EXTENDED_COMMAND_T, CCommands::ExecuteExtendedCommand, {{META, 'X', IDC_MX},
115+ {META+SHIFT, 'X', IDC_MX},
116+ {'\0'}}},
117+// {_T("fill-paragraph"), IDS_OTHER, IDS_FILL_PARAGRAPH_D, IDS_FILL_PARAGRAPH_T, CCommands::FillParagraph, {'\0'}},
118+ {_T("find-file"), IDS_FILES, IDS_FIND_FILE_D, IDS_FIND_FILE_T, CCommands::FindFile, {{CONTROL+CONTROLX, 'F', IDC_CXCF},
119+ {CONTROL+SHIFT+CONTROLX, 'F', IDC_CXCF},
120+ {'\0'}}},
121+ {_T("forward-char"), IDS_MOTION, IDS_FORWARD_CHAR_D, IDS_FORWARD_CHAR_T, CCommands::ForwardChar, {{CONTROL, 'F', IDC_CF},
122+ {CONTROL+SHIFT, 'F', IDC_CF},
123+ {'\0'}}},
124+ {_T("forward-word"), IDS_MOTION, IDS_FORWARD_WORD_D, IDS_FORWARD_WORD_T, CCommands::ForwardWord, {{META, 'F', IDC_MF},
125+ {META+SHIFT, 'F', IDC_MF},
126+ {'\0'}}},
127+ {_T("iconify-or-deiconify-frame"), IDS_WINDOW, IDS_ICONIFY_OR_DEICONIFY_FRAME_D, IDS_ICONIFY_OR_DEICONIFY_FRAME_T, CCommands::IconifyOrDeiconifyFrame, {{CONTROL, 'Z', IDC_CZ},
128+ {CONTROL+SHIFT, 'Z', IDC_CZ},
129+ {'\0'}}},
130+ {_T("isearch-backward"), IDS_SEARCH, IDS_ISEARCH_BACKWARD_D, IDS_ISEARCH_BACKWARD_T, CCommands::IsearchBackward, {{CONTROL, 'R', IDC_CR},
131+ {CONTROL+SHIFT, 'R', IDC_CR},
132+ {'\0'}}},
133+ {_T("isearch-forward"), IDS_SEARCH, IDS_ISEARCH_FORWARD_D, IDS_ISEARCH_FORWARD_T, CCommands::IsearchForward, {{CONTROL, 'S', IDC_CS},
134+ {CONTROL+SHIFT, 'S', IDC_CS},
135+ {'\0'}}},
136+ {_T("keyboard-quit"), IDS_RECOVERY, IDS_KEYBOARD_QUIT_D, IDS_KEYBOARD_QUIT_T, CCommands::KeyboardQuit, {{CONTROL, 'G', IDC_CG},
137+ {CONTROL+SHIFT, 'G', IDC_CG},
138+ {'\0'}}},
139+ {_T("kill-buffer"), IDS_FILES, IDS_KILL_BUFFER_D, IDS_KILL_BUFFER_T, CCommands::KillBuffer, {{CONTROLX, 'K', IDC_CXK},
140+ {SHIFT+CONTROLX, 'K', IDC_CXK},
141+ {'\0'}}},
142+ {_T("kill-line"), IDS_KILL, IDS_KILL_LINE_D, IDS_KILL_LINE_T, CCommands::KillLine, {{CONTROL, 'K', IDC_CK},
143+ {CONTROL+SHIFT, 'K', IDC_CK},
144+ {'\0'}}},
145+ {_T("kill-region"), IDS_KILL, IDS_KILL_REGION_D, IDS_KILL_REGION_T, CCommands::KillRegion, {{CONTROL, 'W', IDC_CW},
146+ {CONTROL+SHIFT, 'W', IDC_CW},
147+ {'\0'}}},
148+ {_T("kill-ring-save"), IDS_KILL, IDS_KILL_RING_SAVE_D, IDS_KILL_RING_SAVE_T, CCommands::KillRingSave, {{META, 'W', IDC_MW},
149+ {META+SHIFT, 'W', IDC_MW},
150+ {'\0'}}},
151+ {_T("kill-word"), IDS_KILL, IDS_KILL_WORD_D, IDS_KILL_WORD_T, CCommands::KillWord, {{META, 'D', IDC_MD},
152+ {META+SHIFT, 'D', IDC_MD},
153+ {'\0'}}},
154+ {_T("mark-page"), IDS_OTHER, IDS_MARK_PAGE_D, IDS_MARK_PAGE_T, CCommands::MarkPage, {{CONTROL+CONTROLX, 'P', IDC_CXCP},
155+ {CONTROL+SHIFT+CONTROLX, 'P', IDC_CXCP},
156+ {'\0'}}},
157+ {_T("mark-whole-buffer"), IDS_OTHER, IDS_MARK_WHOLE_BUFFER_D, IDS_MARK_WHOLE_BUFFER_T, CCommands::MarkWholeBuffer, {{CONTROLX, 'H', IDC_CXH},
158+ {CONTROLX+SHIFT, 'H', IDC_CXH},
159+ {'\0'}}},
160+ {_T("next-line"), IDS_MOTION, IDS_NEXT_LINE_D, IDS_NEXT_LINE_T, CCommands::NextLine, {{CONTROL, 'N', IDC_CN},
161+ {CONTROL+SHIFT, 'N', IDC_CN},
162+ {'\0'}}},
163+ {_T("numeric argument 0"), IDS_OTHER, IDS_DIGIT_ARGUMENT0_D, IDS_DIGIT_ARGUMENT0_T, CCommands::NumericArgument0, {{CONTROL, '0', IDC_CDIGIT},
164+ {META, '0', IDC_CDIGIT},
165+ {'\0'}}},
166+ {_T("numeric argument 1"), IDS_OTHER, IDS_DIGIT_ARGUMENT1_D, IDS_DIGIT_ARGUMENT1_T, CCommands::NumericArgument1, {{CONTROL, '1', IDC_CDIGIT},
167+ {META, '1', IDC_CDIGIT},
168+ {'\0'}}},
169+ {_T("numeric argument 2"), IDS_OTHER, IDS_DIGIT_ARGUMENT2_D, IDS_DIGIT_ARGUMENT2_T, CCommands::NumericArgument2, {{CONTROL, '2', IDC_CDIGIT},
170+ {META, '2', IDC_CDIGIT},
171+ {'\0'}}},
172+ {_T("numeric argument 3"), IDS_OTHER, IDS_DIGIT_ARGUMENT3_D, IDS_DIGIT_ARGUMENT3_T, CCommands::NumericArgument3, {{CONTROL, '3', IDC_CDIGIT},
173+ {META, '3', IDC_CDIGIT},
174+ {'\0'}}},
175+ {_T("numeric argument 4"), IDS_OTHER, IDS_DIGIT_ARGUMENT4_D, IDS_DIGIT_ARGUMENT4_T, CCommands::NumericArgument4, {{CONTROL, '4', IDC_CDIGIT},
176+ {META, '4', IDC_CDIGIT},
177+ {'\0'}}},
178+ {_T("numeric argument 5"), IDS_OTHER, IDS_DIGIT_ARGUMENT5_D, IDS_DIGIT_ARGUMENT5_T, CCommands::NumericArgument5, {{CONTROL, '5', IDC_CDIGIT},
179+ {META, '5', IDC_CDIGIT},
180+ {'\0'}}},
181+ {_T("numeric argument 6"), IDS_OTHER, IDS_DIGIT_ARGUMENT6_D, IDS_DIGIT_ARGUMENT6_T, CCommands::NumericArgument6, {{CONTROL, '6', IDC_CDIGIT},
182+ {META, '6', IDC_CDIGIT},
183+ {'\0'}}},
184+ {_T("numeric argument 7"), IDS_OTHER, IDS_DIGIT_ARGUMENT7_D, IDS_DIGIT_ARGUMENT7_T, CCommands::NumericArgument7, {{CONTROL, '7', IDC_CDIGIT},
185+ {META, '7', IDC_CDIGIT},
186+ {'\0'}}},
187+ {_T("numeric argument 8"), IDS_OTHER, IDS_DIGIT_ARGUMENT8_D, IDS_DIGIT_ARGUMENT8_T, CCommands::NumericArgument8, {{CONTROL, '8', IDC_CDIGIT},
188+ {META, '8', IDC_CDIGIT},
189+ {'\0'}}},
190+ {_T("numeric argument 9"), IDS_OTHER, IDS_DIGIT_ARGUMENT9_D, IDS_DIGIT_ARGUMENT9_T, CCommands::NumericArgument9, {{CONTROL, '9', IDC_CDIGIT},
191+ {META, '9', IDC_CDIGIT},
192+ {'\0'}}},
193+ {_T("numeric argument -"), IDS_OTHER, IDS_NEGATIVE_ARGUMENT_D, IDS_NEGATIVE_ARGUMENT_T, CCommands::NumericArgumentMinus, {{CONTROL, 0xBD, IDC_CDIGIT},
194+ {META, 0xBD, IDC_CDIGIT},
195+ {'\0'}}},
196+ {_T("open-line"), IDS_OTHER, IDS_OPEN_LINE_D, IDS_OPEN_LINE_T, CCommands::OpenLine, {{CONTROL, 'O', IDC_CO},
197+ {CONTROL+SHIFT, 'O', IDC_CO},
198+ {'\0'}}},
199+ {_T("previous-line"), IDS_MOTION, IDS_PREVIOUS_LINE_D, IDS_PREVIOUS_LINE_T, CCommands::PreviousLine, {{CONTROL, 'P', IDC_CP},
200+ {CONTROL+SHIFT, 'P', IDC_CP},
201+ {'\0'}}},
202+ {_T("query-replace"), IDS_SEARCH, IDS_QUERY_REPLACE_D, IDS_QUERY_REPLACE_T, CCommands::QueryReplace, {{META+SHIFT, '5', IDC_MS5},
203+ {'\0'}}},
204+ {_T("query-replace-regexp"), IDS_SEARCH, IDS_QUERY_REPLACE_REGEXP_D, IDS_QUERY_REPLACE_REGEXP_T, CCommands::QueryReplaceRegexp, {{CONTROL+META+SHIFT, '5', IDC_CMS5},
205+ {'\0'}}},
206+ {_T("recenter"), IDS_MOTION, IDS_RECENTER_D, IDS_RECENTER_T, CCommands::Recenter, {{CONTROL, 'L', IDC_CL},
207+ {CONTROL+SHIFT, 'L', IDC_CL},
208+ {'\0'}}},
209+ {_T("save-buffer"), IDS_FILES, IDS_SAVE_BUFFER_D, IDS_SAVE_BUFFER_T, CCommands::SaveBuffer, {{CONTROL+CONTROLX, 'S', IDC_CXCS},
210+ {CONTROL+SHIFT+CONTROLX, 'S', IDC_CXCS},
211+ {'\0'}}},
212+ {_T("save-buffers-kill-emacs"), IDS_WINDOW, IDS_SAVE_BUFFERS_KILL_EMACS_D, IDS_SAVE_BUFFERS_KILL_EMACS_T, CCommands::SaveBuffersKillEmacs, {{CONTROL+CONTROLX, 'C', IDC_CXCC},
213+ {CONTROL+SHIFT+CONTROLX, 'C', IDC_CXCC},
214+ {'\0'}}},
215+ {_T("scroll-down"), IDS_MOTION, IDS_SCROLL_DOWN_D, IDS_SCROLL_DOWN_T, CCommands::ScrollDown, {{META, 'V', IDC_MV},
216+ {META+SHIFT, 'V', IDC_MV},
217+ {'\0'}}},
218+ {_T("scroll-up"), IDS_MOTION, IDS_SCROLL_UP_D, IDS_SCROLL_UP_T, CCommands::ScrollUp, {{CONTROL, 'V', IDC_CV},
219+ {CONTROL+SHIFT, 'V', IDC_CV},
220+ {'\0'}}},
221+ {_T("set-mark-command"), IDS_OTHER, IDS_SET_MARK_COMMAND_D, IDS_SET_MARK_COMMAND_T, CCommands::SetMarkCommand, {{CONTROL, VK_SPACE, IDC_CSPACE},
222+ {CONTROL+SHIFT, VK_SPACE, IDC_CSPACE},
223+ {'\0'}}},
224+ {_T("shell-command"), IDS_OTHER, IDS_SHELL_COMMAND_D, IDS_SHELL_COMMAND_T, CCommands::ShellCommand, {{META+SHIFT, '1', IDC_MS1},
225+ {'\0'}}},
226+ {_T("start-kbd-macro"), IDS_OTHER, IDS_START_KBD_MACRO_D, IDS_START_KBD_MACRO_T, CCommands::StartKbdMacro, {{CONTROLX+SHIFT, '9', IDC_CXS9},
227+ {'\0'}}},
228+ {_T("switch-to-buffer"), IDS_OTHER, IDS_SWITCH_TO_BUFFER_D, IDS_SWITCH_TO_BUFFER_T, CCommands::SwitchToBuffer, {{CONTROLX, 'B', IDC_CXB},
229+ {CONTROLX+SHIFT, 'B', IDC_CXB},
230+ {'\0'}}},
231+ {_T("tab-to-tab-stop"), IDS_OTHER, IDS_TAB_D, IDS_TAB_T, CCommands::TabToTabStop, {{CONTROL, 'I', IDC_CI},
232+ {CONTROL+SHIFT, 'I', IDC_CI},
233+ {META, 'I', IDC_MI},
234+ {META+SHIFT, 'I', IDC_MI},
235+ {'\0'}}},
236+ {_T("toggle-input-method"), IDS_IME, IDS_TOGGLE_WIN32IME_MODE_D, IDS_TOGGLE_WIN32IME_MODE_T, CCommands::ToggleInputMethod, {{CONTROL+CONTROLX, 'J', IDC_CXCJ},
237+ {CONTROL+SHIFT+CONTROLX, 'J', IDC_CXCJ},
238+ {CONTROL, 'O', IDC_CO2},
239+ {CONTROL+SHIFT, 'O', IDC_CO2},
240+ {CONTROL, 0xDC, IDC_CBACKSLASH},
241+ {CONTROL, 0xE2, IDC_CBACKSLASH_106},
242+ {'\0'}}},
243+ {_T("transpose-chars"), IDS_KILL, IDS_TRANSPOSE_CHARS_D, IDS_TRANSPOSE_CHARS_T, CCommands::TransposeChars, {{CONTROL, 'T', IDC_CT},
244+ {CONTROL+SHIFT, 'T', IDC_CT},
245+ {'\0'}}},
246+ {_T("transpose-lines"), IDS_KILL, IDS_TRANSPOSE_LINES_D, IDS_TRANSPOSE_LINES_T, CCommands::TransposeLines, {{CONTROL+CONTROLX, 'T', IDC_CXCT},
247+ {CONTROL+SHIFT+CONTROLX, 'T', IDC_CXCT},
248+ {'\0'}}},
249+ {_T("transpose-words"), IDS_KILL, IDS_TRANSPOSE_WORDS_D, IDS_TRANSPOSE_WORDS_T, CCommands::TransposeWords, {{META, 'T', IDC_MT},
250+ {META+SHIFT, 'T', IDC_MT},
251+ {'\0'}}},
252+ {_T("undo"), IDS_RECOVERY, IDS_UNDO_D, IDS_UNDO_T, CCommands::Undo, {{CONTROLX, 'U', IDC_CXU},
253+ {CONTROL+SHIFT, 0xBD, IDC_C_},
254+ {CONTROL, 0xBF, IDC_CSLASH},
255+ {'\0'}}},
256+ {_T("universal-argument"), IDS_OTHER, IDS_UNIVERSAL_ARGUMENT_D, IDS_UNIVERSAL_ARGUMENT_T, CCommands::UniversalArgument, {{CONTROL, 'U', IDC_CU},
257+ {CONTROL+SHIFT, 'U', IDC_CU},
258+ {'\0'}}},
259+ {_T("upcase-word"), IDS_OTHER, IDS_UPCASE_WORD_D, IDS_UPCASE_WORD_T, CCommands::UpcaseWord, {{META, 'U', IDC_MU},
260+ {META+SHIFT, 'U', IDC_MU},
261+ {'\0'}}},
262+ {_T("write-file"), IDS_FILES, IDS_WRITE_FILE_D, IDS_WRITE_FILE_T, CCommands::WriteFile, {{CONTROL+CONTROLX, 'W', IDC_CXCW},
263+ {CONTROL+SHIFT+CONTROLX, 'W', IDC_CXCW},
264+ {'\0'}}},
265+ {_T("yank"), IDS_KILL, IDS_YANK_D, IDS_YANK_T, CCommands::Yank, {{CONTROL, 'Y', IDC_CY},
266+ {CONTROL+SHIFT, 'Y', IDC_CY},
267+ {'\0'}}},
268+ {_T("yank-pop"), IDS_KILL, IDS_YANK_POP_D, IDS_YANK_POP_T, CCommands::YankPop, {{META, 'Y', IDC_MY},
269+ {META+SHIFT, 'Y', IDC_MY},
270+ {'\0'}}},
271+};
272+
11273 #pragma data_seg(".xkmcs")
12274 DWORD CCommands::m_nNumericArgument = 1;
13275 BOOL CCommands::m_bSetMark = FALSE;
--- a/xkeymacsdll/Commands.h
+++ b/xkeymacsdll/Commands.h
@@ -239,9 +239,9 @@ private:
239239 static BOOL m_bIsSu;
240240 };
241241
242-enum { MAX_KEY_BIND = 8 };
242+const int MAX_KEY_BIND = 8;
243243
244-typedef struct Command
244+struct Command
245245 {
246246 LPCTSTR szCommandName;
247247 int nCategoryID;
@@ -249,269 +249,11 @@ typedef struct Command
249249 int nToolTipID;
250250 int (*fCommand)();
251251 KeyBind keybind[MAX_KEY_BIND];
252-} Command_t;
252+};
253253
254254 #include "../xkeymacs/resource.h"
255255
256-static const Command_t Commands[] = {
257- {_T("[unassigned]"), 0, 0, 0, NULL, {'\0'}},
258- {_T("C-x"), 0, IDS_CONTROL_X_PREFIX_D, IDS_CONTROL_X_PREFIX_T, CCommands::C_x, {'\0'}},
259- {_T("C-"), IDS_OTHER, IDS_CONTROL_D, IDS_CONTROL_T, CCommands::C_, {{NONE, VK_CONTROL, 0},
260- {NONE, VK_LCONTROL, 0},
261- {NONE, VK_RCONTROL, 0},
262- {'\0'}}},
263- {_T("C- for Eisu"), 0, IDS_CONTROL_PREFIX_D, IDS_CONTROL_PREFIX_T, CCommands::C_Eisu, {'\0'}},
264- {_T("Caps Lock"), IDS_OTHER, IDS_CAPS_LOCK_D, IDS_CAPS_LOCK_T, CCommands::CapsLock, {'\0'}},
265- {_T("Close Input Method"), IDS_IME, IDS_CLOSE_INPUT_METHOD_D, IDS_CLOSE_INPUT_METHOD_T, CCommands::CloseInputMethod, {'\0'}},
266- {_T("Complete & Close Input Method"), IDS_IME, IDS_COMPLETE_CLOSE_INPUT_METHOD_D, IDS_COMPLETE_CLOSE_INPUT_METHOD_T, CCommands::CompleteCloseInputMethod,{'\0'}},
267- {_T("Complete & Toggle Input Method"), IDS_IME, IDS_COMPLETE_TOGGLE_INPUT_METHOD_D, IDS_COMPLETE_TOGGLE_INPUT_METHOD_T, CCommands::CompleteToggleInputMethod, {'\0'}},
268- {_T("Copy"), IDS_OTHER, IDS_COPY_D, IDS_COPY_T, CCommands::Copy, {'\0'}},
269- {_T("Cut"), IDS_OTHER, IDS_CUT_D, IDS_CUT_T, CCommands::Cut, {'\0'}},
270- {_T("Cycle items"), IDS_OTHER, IDS_CYCLE_ITEMS_D, IDS_CYCLE_ITEMS_T, CCommands::CycleItems, {'\0'}},
271- {_T("Cycle items inversely"), IDS_OTHER, IDS_CYCLE_ITEMS_INVERSELY_D, IDS_CYCLE_ITEMS_INVERSELY_T, CCommands::CycleItemsInversely, {'\0'}},
272- {_T("Disable XKeymacs"), IDS_OTHER, IDS_DISABLE_XKEYMACS_D, IDS_DISABLE_XKEYMACS_T, CCommands::DisableXKeymacs, {'\0'}},
273- {_T("Enable or Disable XKeymacs"), IDS_OTHER, IDS_ENABLE_OR_DISABLE_XKEYMACS_D, IDS_ENABLE_OR_DISABLE_XKEYMACS_T, CCommands::EnableOrDisableXKeymacs, {{CONTROL, 'Q', IDC_CQ},
274- {CONTROL+SHIFT, 'Q', IDC_CQ},
275- {'\0'}}},
276- {_T("Enable XKeymacs"), IDS_OTHER, IDS_ENABLE_XKEYMACS_D, IDS_ENABLE_XKEYMACS_T, CCommands::EnableXKeymacs, {'\0'}},
277- {_T("newline"), IDS_OTHER, IDS_NEWLINE_D, IDS_NEWLINE_T, CCommands::Newline, {{CONTROL, 'M', IDC_CM},
278- {CONTROL+SHIFT, 'M', IDC_CM},
279- {'\0'}}},
280- {_T("Esc"), IDS_OTHER, IDS_ESCAPE_D, IDS_ESCAPE_T, CCommands::Escape, {'\0'}},
281- {_T("Find"), IDS_OTHER, IDS_FIND_D, IDS_FIND_T, CCommands::Find, {'\0'}},
282- {_T("Find Next"), IDS_OTHER, IDS_FIND_NEXT_D, IDS_FIND_NEXT_T, CCommands::FindNext, {'\0'}},
283- {_T("Ignore"), IDS_OTHER, IDS_IGNORE_D, IDS_IGNORE_T, CCommands::Ignore, {'\0'}},
284- {_T("Kill Line for All Format"), IDS_OTHER, IDS_KILL_LINE_FOR_ALL_FORMAT_D, IDS_KILL_LINE_FOR_ALL_FORMAT_T, CCommands::KillLineForAllFormat, {'\0'}},
285- {_T("Maximize"), IDS_OTHER, IDS_MAXIMIZE_D, IDS_MAXIMIZE_T, CCommands::Maximize, {'\0'}},
286- {_T("Maximize Horizontally"), IDS_OTHER, IDS_MAXIMIZE_HORIZONTALLY_D, IDS_MAXIMIZE_HORIZONTALLY_T, CCommands::MaximizeHorizontally, {'\0'}},
287- {_T("Maximize Vertically"), IDS_OTHER, IDS_MAXIMIZE_VERTICALLY_D, IDS_MAXIMIZE_VERTICALLY_T, CCommands::MaximizeVertically, {'\0'}},
288- {_T("Meta"), IDS_OTHER, IDS_META_PREFIX_D, IDS_META_PREFIX_T, CCommands::Meta, {{CONTROL, 0xDB, IDC_SQUARE_BRA},
289- {'\0'}}}, // VK_OEM_4
290- {_T("Meta for Alt"), IDS_OTHER, IDS_META_D, IDS_META_T, CCommands::MetaAlt, {{NONE, VK_MENU, IDC_ALT},
291- {NONE, VK_LMENU, IDC_LEFT_ALT},
292- {NONE, VK_RMENU, IDC_RIGHT_ALT},
293- {'\0'}}},
294- {_T("Meta for Escape"), IDS_OTHER, IDS_META_PREFIX_AND_ORIGINAL_D, IDS_META_PREFIX_AND_ORIGINAL_T, CCommands::MetaEscape, {{NONE, VK_ESCAPE, IDC_ESCAPE},
295- {NONE+SHIFT, VK_ESCAPE, IDC_ESCAPE},
296- {'\0'}}}, // add SHIFT
297- {_T("Minimize"), IDS_OTHER, IDS_MINIMIZE_D, IDS_MINIMIZE_T, CCommands::Minimize, {'\0'}},
298- {_T("Move"), IDS_OTHER, IDS_MOVE_D, IDS_MOVE_T, CCommands::Move, {'\0'}},
299- {_T("New"), IDS_OTHER, IDS_NEW_D, IDS_NEW_T, CCommands::New, {'\0'}},
300- {_T("One Shot Modifier Alt"), IDS_MODIFIER, IDS_OSMODIFIER_ALT_D, IDS_OSMODIFIER_ALT_T, CCommands::OneShotModifierAlt, {'\0'}},
301- {_T("One Shot Modifier Alt with Repeat"), IDS_MODIFIER, IDS_OSMODIFIER_ALT_REPEAT_D, IDS_OSMODIFIER_ALT_REPEAT_T, CCommands::OneShotModifierAltRepeat, {'\0'}},
302- {_T("One Shot Modifier Ctrl"), IDS_MODIFIER, IDS_OSMODIFIER_CTRL_D, IDS_OSMODIFIER_CTRL_T, CCommands::OneShotModifierCtrl, {'\0'}},
303- {_T("One Shot Modifier Ctrl with Repeat"), IDS_MODIFIER, IDS_OSMODIFIER_CTRL_REPEAT_D, IDS_OSMODIFIER_CTRL_REPEAT_T, CCommands::OneShotModifierCtrlRepeat, {'\0'}},
304- {_T("One Shot Modifier Shift"), IDS_MODIFIER, IDS_OSMODIFIER_SHIFT_D, IDS_OSMODIFIER_SHIFT_T, CCommands::OneShotModifierShift, {'\0'}},
305- {_T("One Shot Modifier Shift with Repeat"), IDS_MODIFIER, IDS_OSMODIFIER_SHIFT_REPEAT_D, IDS_OSMODIFIER_SHIFT_REPEAT_T, CCommands::OneShotModifierShiftRepeat, {'\0'}},
306- {_T("Open Input Method"), IDS_IME, IDS_OPEN_INPUT_METHOD_D, IDS_OPEN_INPUT_METHOD_T, CCommands::OpenInputMethod, {'\0'}},
307- {_T("Pass Through"), IDS_OTHER, IDS_PASS_THROUGH_D, IDS_PASS_THROUGH_T, CCommands::PassThrough, {'\0'}},
308- {_T("Paste"), IDS_OTHER, IDS_PASTE_D, IDS_PASTE_T, CCommands::Paste, {'\0'}},
309- {_T("Print"), IDS_OTHER, IDS_PRINT_D, IDS_PRINT_T, CCommands::Print, {'\0'}},
310- {_T("Redo"), IDS_OTHER, IDS_REDO_D, IDS_REDO_T, CCommands::Redo, {'\0'}},
311- {_T("Restore"), IDS_OTHER, IDS_RESTORE_D, IDS_RESTORE_T, CCommands::Restore, {'\0'}},
312- {_T("Retop"), IDS_OTHER, IDS_RETOP_D, IDS_RETOP_T, CCommands::Retop, {'\0'}},
313- {_T("Roll-up/Unroll"), IDS_WINDOW, IDS_ROLL_UP_UNROLL_D, IDS_ROLL_UP_UNROLL_T, CCommands::RollUpUnroll, {{META, VK_F12, IDC_MF12},
314- {'\0'}}},
315- {_T("Select All"), IDS_OTHER, IDS_SELECT_ALL_D, IDS_SELECT_ALL_T, CCommands::SelectAll, {'\0'}},
316- {_T("Size"), IDS_OTHER, IDS_SIZE_D, IDS_SIZE_T, CCommands::Size, {'\0'}},
317- {_T("Switch Between Input Locales"),IDS_IME, IDS_SWITCH_BETWEEN_INPUT_LOCALES_D, IDS_SWITCH_BETWEEN_INPUT_LOCALES_T, CCommands::SwitchBetweenInputLocales, {'\0'}},
318- {_T("Temporarily Disable XKeymacs"),IDS_OTHER, IDS_TEMPORARILY_DISABLE_XKEYMACS_D, IDS_TEMPORARILY_DISABLE_XKEYMACS_T, CCommands::TemporarilyDisableXKeymacs, {'\0'}},
319- {_T("~"), IDS_OTHER, IDS_TILDE_D, IDS_TILDE_T, CCommands::Tilde, {'\0'}},
320- {_T("`"), IDS_OTHER, IDS_BACK_QUOTE_D, IDS_BACK_QUOTE_T, CCommands::BackQuote, {'\0'}},
321- {_T("_"), IDS_OTHER, IDS_UNDERSCORE_D, IDS_UNDERSCORE_T, CCommands::Underscore, {'\0'}},
322- {_T("backward-char"), IDS_MOTION, IDS_BACKWARD_CHAR_D, IDS_BACKWARD_CHAR_T, CCommands::BackwardChar, {{CONTROL, 'B', IDC_CB},
323- {CONTROL+SHIFT, 'B', IDC_CB},
324- {'\0'}}},
325- {_T("backward-kill-word"), IDS_KILL, IDS_BACKWARD_KILL_WORD_D, IDS_BACKWARD_KILL_WORD_T, CCommands::BackwardKillWord, {{META, VK_BACK, IDC_MDEL},
326- {META+SHIFT, VK_BACK, IDC_MDEL},
327- {'\0'}}},
328- {_T("backward-word"), IDS_MOTION, IDS_BACKWARD_WORD_D, IDS_BACKWARD_WORD_T, CCommands::BackwardWord, {{META, 'B', IDC_MB},
329- {META+SHIFT, 'B', IDC_MB},
330- {'\0'}}},
331- {_T("beginning-of-buffer"), IDS_MOTION, IDS_BEGINNING_OF_BUFFER_D, IDS_BEGINNING_OF_BUFFER_T, CCommands::BeginningOfBuffer, {{META+SHIFT, 0xBC, IDC_MSCOMMA},
332- {'\0'}}}, // VK_OEM_COMMA
333- {_T("beginning-of-line"), IDS_MOTION, IDS_BEGINNING_OF_LINE_D, IDS_BEGINNING_OF_LINE_T, CCommands::BeginningOfLine, {{CONTROL, 'A', IDC_CA},
334- {CONTROL+SHIFT, 'A', IDC_CA},
335- {'\0'}}},
336- {_T("call-last-kbd-macro"), IDS_OTHER, IDS_CALL_LAST_KBD_MACRO_D, IDS_CALL_LAST_KBD_MACRO_T, CCommands::CallLastKbdMacro, {{CONTROLX, 'E', IDC_CXE},
337- {CONTROLX+SHIFT, 'E', IDC_CXE},
338- {'\0'}}},
339- {_T("capitalize-word"), IDS_OTHER, IDS_CAPITALIZE_WORD_D, IDS_CAPITALIZE_WORD_T, CCommands::CapitalizeWord, {{META, 'C', IDC_MC},
340- {META+SHIFT, 'C', IDC_MC},
341- {'\0'}}},
342- {_T("delete-backward-char"), IDS_KILL, IDS_DELETE_BACKWARD_CHAR_D, IDS_DELETE_BACKWARD_CHAR_T, CCommands::DeleteBackwardChar, {{CONTROL, 'H', IDC_CH},
343- {CONTROL+SHIFT, 'H', IDC_CH},
344- {'\0'}}},
345- {_T("delete-char"), IDS_KILL, IDS_DELETE_CHAR_D, IDS_DELETE_CHAR_T, CCommands::DeleteChar, {{CONTROL, 'D', IDC_CD},
346- {CONTROL+SHIFT, 'D', IDC_CD},
347- {'\0'}}},
348- {_T("downcase-word"), IDS_OTHER, IDS_DOWNCASE_WORD_D, IDS_DOWNCASE_WORD_T, CCommands::DowncaseWord, {{META, 'L', IDC_ML},
349- {META+SHIFT, 'L', IDC_ML},
350- {'\0'}}},
351- {_T("end-kbd-macro"), IDS_OTHER, IDS_END_KBD_MACRO_D, IDS_END_KBD_MACRO_T, CCommands::EndKbdMacro, {{CONTROLX+SHIFT, '0', IDC_CXS0},
352- {'\0'}}},
353- {_T("end-of-buffer"), IDS_MOTION, IDS_END_OF_BUFFER_D, IDS_END_OF_BUFFER_T, CCommands::EndOfBuffer, {{META+SHIFT, 0xBE, IDC_MSPERIOD},
354- {'\0'}}}, // VK_OEM_PERIOD
355- {_T("end-of-line"), IDS_MOTION, IDS_END_OF_LINE_D, IDS_END_OF_LINE_T, CCommands::EndOfLine, {{CONTROL, 'E', IDC_CE},
356- {CONTROL+SHIFT, 'E', IDC_CE},
357- {'\0'}}},
358- {_T("execute-extended-command"), IDS_OTHER, IDS_EXECUTE_EXTENDED_COMMAND_D, IDS_EXECUTE_EXTENDED_COMMAND_T, CCommands::ExecuteExtendedCommand, {{META, 'X', IDC_MX},
359- {META+SHIFT, 'X', IDC_MX},
360- {'\0'}}},
361-// {_T("fill-paragraph"), IDS_OTHER, IDS_FILL_PARAGRAPH_D, IDS_FILL_PARAGRAPH_T, CCommands::FillParagraph, {'\0'}},
362- {_T("find-file"), IDS_FILES, IDS_FIND_FILE_D, IDS_FIND_FILE_T, CCommands::FindFile, {{CONTROL+CONTROLX, 'F', IDC_CXCF},
363- {CONTROL+SHIFT+CONTROLX, 'F', IDC_CXCF},
364- {'\0'}}},
365- {_T("forward-char"), IDS_MOTION, IDS_FORWARD_CHAR_D, IDS_FORWARD_CHAR_T, CCommands::ForwardChar, {{CONTROL, 'F', IDC_CF},
366- {CONTROL+SHIFT, 'F', IDC_CF},
367- {'\0'}}},
368- {_T("forward-word"), IDS_MOTION, IDS_FORWARD_WORD_D, IDS_FORWARD_WORD_T, CCommands::ForwardWord, {{META, 'F', IDC_MF},
369- {META+SHIFT, 'F', IDC_MF},
370- {'\0'}}},
371- {_T("iconify-or-deiconify-frame"), IDS_WINDOW, IDS_ICONIFY_OR_DEICONIFY_FRAME_D, IDS_ICONIFY_OR_DEICONIFY_FRAME_T, CCommands::IconifyOrDeiconifyFrame, {{CONTROL, 'Z', IDC_CZ},
372- {CONTROL+SHIFT, 'Z', IDC_CZ},
373- {'\0'}}},
374- {_T("isearch-backward"), IDS_SEARCH, IDS_ISEARCH_BACKWARD_D, IDS_ISEARCH_BACKWARD_T, CCommands::IsearchBackward, {{CONTROL, 'R', IDC_CR},
375- {CONTROL+SHIFT, 'R', IDC_CR},
376- {'\0'}}},
377- {_T("isearch-forward"), IDS_SEARCH, IDS_ISEARCH_FORWARD_D, IDS_ISEARCH_FORWARD_T, CCommands::IsearchForward, {{CONTROL, 'S', IDC_CS},
378- {CONTROL+SHIFT, 'S', IDC_CS},
379- {'\0'}}},
380- {_T("keyboard-quit"), IDS_RECOVERY, IDS_KEYBOARD_QUIT_D, IDS_KEYBOARD_QUIT_T, CCommands::KeyboardQuit, {{CONTROL, 'G', IDC_CG},
381- {CONTROL+SHIFT, 'G', IDC_CG},
382- {'\0'}}},
383- {_T("kill-buffer"), IDS_FILES, IDS_KILL_BUFFER_D, IDS_KILL_BUFFER_T, CCommands::KillBuffer, {{CONTROLX, 'K', IDC_CXK},
384- {SHIFT+CONTROLX, 'K', IDC_CXK},
385- {'\0'}}},
386- {_T("kill-line"), IDS_KILL, IDS_KILL_LINE_D, IDS_KILL_LINE_T, CCommands::KillLine, {{CONTROL, 'K', IDC_CK},
387- {CONTROL+SHIFT, 'K', IDC_CK},
388- {'\0'}}},
389- {_T("kill-region"), IDS_KILL, IDS_KILL_REGION_D, IDS_KILL_REGION_T, CCommands::KillRegion, {{CONTROL, 'W', IDC_CW},
390- {CONTROL+SHIFT, 'W', IDC_CW},
391- {'\0'}}},
392- {_T("kill-ring-save"), IDS_KILL, IDS_KILL_RING_SAVE_D, IDS_KILL_RING_SAVE_T, CCommands::KillRingSave, {{META, 'W', IDC_MW},
393- {META+SHIFT, 'W', IDC_MW},
394- {'\0'}}},
395- {_T("kill-word"), IDS_KILL, IDS_KILL_WORD_D, IDS_KILL_WORD_T, CCommands::KillWord, {{META, 'D', IDC_MD},
396- {META+SHIFT, 'D', IDC_MD},
397- {'\0'}}},
398- {_T("mark-page"), IDS_OTHER, IDS_MARK_PAGE_D, IDS_MARK_PAGE_T, CCommands::MarkPage, {{CONTROL+CONTROLX, 'P', IDC_CXCP},
399- {CONTROL+SHIFT+CONTROLX, 'P', IDC_CXCP},
400- {'\0'}}},
401- {_T("mark-whole-buffer"), IDS_OTHER, IDS_MARK_WHOLE_BUFFER_D, IDS_MARK_WHOLE_BUFFER_T, CCommands::MarkWholeBuffer, {{CONTROLX, 'H', IDC_CXH},
402- {CONTROLX+SHIFT, 'H', IDC_CXH},
403- {'\0'}}},
404- {_T("next-line"), IDS_MOTION, IDS_NEXT_LINE_D, IDS_NEXT_LINE_T, CCommands::NextLine, {{CONTROL, 'N', IDC_CN},
405- {CONTROL+SHIFT, 'N', IDC_CN},
406- {'\0'}}},
407- {_T("numeric argument 0"), IDS_OTHER, IDS_DIGIT_ARGUMENT0_D, IDS_DIGIT_ARGUMENT0_T, CCommands::NumericArgument0, {{CONTROL, '0', IDC_CDIGIT},
408- {META, '0', IDC_CDIGIT},
409- {'\0'}}},
410- {_T("numeric argument 1"), IDS_OTHER, IDS_DIGIT_ARGUMENT1_D, IDS_DIGIT_ARGUMENT1_T, CCommands::NumericArgument1, {{CONTROL, '1', IDC_CDIGIT},
411- {META, '1', IDC_CDIGIT},
412- {'\0'}}},
413- {_T("numeric argument 2"), IDS_OTHER, IDS_DIGIT_ARGUMENT2_D, IDS_DIGIT_ARGUMENT2_T, CCommands::NumericArgument2, {{CONTROL, '2', IDC_CDIGIT},
414- {META, '2', IDC_CDIGIT},
415- {'\0'}}},
416- {_T("numeric argument 3"), IDS_OTHER, IDS_DIGIT_ARGUMENT3_D, IDS_DIGIT_ARGUMENT3_T, CCommands::NumericArgument3, {{CONTROL, '3', IDC_CDIGIT},
417- {META, '3', IDC_CDIGIT},
418- {'\0'}}},
419- {_T("numeric argument 4"), IDS_OTHER, IDS_DIGIT_ARGUMENT4_D, IDS_DIGIT_ARGUMENT4_T, CCommands::NumericArgument4, {{CONTROL, '4', IDC_CDIGIT},
420- {META, '4', IDC_CDIGIT},
421- {'\0'}}},
422- {_T("numeric argument 5"), IDS_OTHER, IDS_DIGIT_ARGUMENT5_D, IDS_DIGIT_ARGUMENT5_T, CCommands::NumericArgument5, {{CONTROL, '5', IDC_CDIGIT},
423- {META, '5', IDC_CDIGIT},
424- {'\0'}}},
425- {_T("numeric argument 6"), IDS_OTHER, IDS_DIGIT_ARGUMENT6_D, IDS_DIGIT_ARGUMENT6_T, CCommands::NumericArgument6, {{CONTROL, '6', IDC_CDIGIT},
426- {META, '6', IDC_CDIGIT},
427- {'\0'}}},
428- {_T("numeric argument 7"), IDS_OTHER, IDS_DIGIT_ARGUMENT7_D, IDS_DIGIT_ARGUMENT7_T, CCommands::NumericArgument7, {{CONTROL, '7', IDC_CDIGIT},
429- {META, '7', IDC_CDIGIT},
430- {'\0'}}},
431- {_T("numeric argument 8"), IDS_OTHER, IDS_DIGIT_ARGUMENT8_D, IDS_DIGIT_ARGUMENT8_T, CCommands::NumericArgument8, {{CONTROL, '8', IDC_CDIGIT},
432- {META, '8', IDC_CDIGIT},
433- {'\0'}}},
434- {_T("numeric argument 9"), IDS_OTHER, IDS_DIGIT_ARGUMENT9_D, IDS_DIGIT_ARGUMENT9_T, CCommands::NumericArgument9, {{CONTROL, '9', IDC_CDIGIT},
435- {META, '9', IDC_CDIGIT},
436- {'\0'}}},
437- {_T("numeric argument -"), IDS_OTHER, IDS_NEGATIVE_ARGUMENT_D, IDS_NEGATIVE_ARGUMENT_T, CCommands::NumericArgumentMinus, {{CONTROL, 0xBD, IDC_CDIGIT},
438- {META, 0xBD, IDC_CDIGIT},
439- {'\0'}}},
440- {_T("open-line"), IDS_OTHER, IDS_OPEN_LINE_D, IDS_OPEN_LINE_T, CCommands::OpenLine, {{CONTROL, 'O', IDC_CO},
441- {CONTROL+SHIFT, 'O', IDC_CO},
442- {'\0'}}},
443- {_T("previous-line"), IDS_MOTION, IDS_PREVIOUS_LINE_D, IDS_PREVIOUS_LINE_T, CCommands::PreviousLine, {{CONTROL, 'P', IDC_CP},
444- {CONTROL+SHIFT, 'P', IDC_CP},
445- {'\0'}}},
446- {_T("query-replace"), IDS_SEARCH, IDS_QUERY_REPLACE_D, IDS_QUERY_REPLACE_T, CCommands::QueryReplace, {{META+SHIFT, '5', IDC_MS5},
447- {'\0'}}},
448- {_T("query-replace-regexp"), IDS_SEARCH, IDS_QUERY_REPLACE_REGEXP_D, IDS_QUERY_REPLACE_REGEXP_T, CCommands::QueryReplaceRegexp, {{CONTROL+META+SHIFT, '5', IDC_CMS5},
449- {'\0'}}},
450- {_T("recenter"), IDS_MOTION, IDS_RECENTER_D, IDS_RECENTER_T, CCommands::Recenter, {{CONTROL, 'L', IDC_CL},
451- {CONTROL+SHIFT, 'L', IDC_CL},
452- {'\0'}}},
453- {_T("save-buffer"), IDS_FILES, IDS_SAVE_BUFFER_D, IDS_SAVE_BUFFER_T, CCommands::SaveBuffer, {{CONTROL+CONTROLX, 'S', IDC_CXCS},
454- {CONTROL+SHIFT+CONTROLX, 'S', IDC_CXCS},
455- {'\0'}}},
456- {_T("save-buffers-kill-emacs"), IDS_WINDOW, IDS_SAVE_BUFFERS_KILL_EMACS_D, IDS_SAVE_BUFFERS_KILL_EMACS_T, CCommands::SaveBuffersKillEmacs, {{CONTROL+CONTROLX, 'C', IDC_CXCC},
457- {CONTROL+SHIFT+CONTROLX, 'C', IDC_CXCC},
458- {'\0'}}},
459- {_T("scroll-down"), IDS_MOTION, IDS_SCROLL_DOWN_D, IDS_SCROLL_DOWN_T, CCommands::ScrollDown, {{META, 'V', IDC_MV},
460- {META+SHIFT, 'V', IDC_MV},
461- {'\0'}}},
462- {_T("scroll-up"), IDS_MOTION, IDS_SCROLL_UP_D, IDS_SCROLL_UP_T, CCommands::ScrollUp, {{CONTROL, 'V', IDC_CV},
463- {CONTROL+SHIFT, 'V', IDC_CV},
464- {'\0'}}},
465- {_T("set-mark-command"), IDS_OTHER, IDS_SET_MARK_COMMAND_D, IDS_SET_MARK_COMMAND_T, CCommands::SetMarkCommand, {{CONTROL, VK_SPACE, IDC_CSPACE},
466- {CONTROL+SHIFT, VK_SPACE, IDC_CSPACE},
467- {'\0'}}},
468- {_T("shell-command"), IDS_OTHER, IDS_SHELL_COMMAND_D, IDS_SHELL_COMMAND_T, CCommands::ShellCommand, {{META+SHIFT, '1', IDC_MS1},
469- {'\0'}}},
470- {_T("start-kbd-macro"), IDS_OTHER, IDS_START_KBD_MACRO_D, IDS_START_KBD_MACRO_T, CCommands::StartKbdMacro, {{CONTROLX+SHIFT, '9', IDC_CXS9},
471- {'\0'}}},
472- {_T("switch-to-buffer"), IDS_OTHER, IDS_SWITCH_TO_BUFFER_D, IDS_SWITCH_TO_BUFFER_T, CCommands::SwitchToBuffer, {{CONTROLX, 'B', IDC_CXB},
473- {CONTROLX+SHIFT, 'B', IDC_CXB},
474- {'\0'}}},
475- {_T("tab-to-tab-stop"), IDS_OTHER, IDS_TAB_D, IDS_TAB_T, CCommands::TabToTabStop, {{CONTROL, 'I', IDC_CI},
476- {CONTROL+SHIFT, 'I', IDC_CI},
477- {META, 'I', IDC_MI},
478- {META+SHIFT, 'I', IDC_MI},
479- {'\0'}}},
480- {_T("toggle-input-method"), IDS_IME, IDS_TOGGLE_WIN32IME_MODE_D, IDS_TOGGLE_WIN32IME_MODE_T, CCommands::ToggleInputMethod, {{CONTROL+CONTROLX, 'J', IDC_CXCJ},
481- {CONTROL+SHIFT+CONTROLX, 'J', IDC_CXCJ},
482- {CONTROL, 'O', IDC_CO2},
483- {CONTROL+SHIFT, 'O', IDC_CO2},
484- {CONTROL, 0xDC, IDC_CBACKSLASH},
485- {CONTROL, 0xE2, IDC_CBACKSLASH_106},
486- {'\0'}}},
487- {_T("transpose-chars"), IDS_KILL, IDS_TRANSPOSE_CHARS_D, IDS_TRANSPOSE_CHARS_T, CCommands::TransposeChars, {{CONTROL, 'T', IDC_CT},
488- {CONTROL+SHIFT, 'T', IDC_CT},
489- {'\0'}}},
490- {_T("transpose-lines"), IDS_KILL, IDS_TRANSPOSE_LINES_D, IDS_TRANSPOSE_LINES_T, CCommands::TransposeLines, {{CONTROL+CONTROLX, 'T', IDC_CXCT},
491- {CONTROL+SHIFT+CONTROLX, 'T', IDC_CXCT},
492- {'\0'}}},
493- {_T("transpose-words"), IDS_KILL, IDS_TRANSPOSE_WORDS_D, IDS_TRANSPOSE_WORDS_T, CCommands::TransposeWords, {{META, 'T', IDC_MT},
494- {META+SHIFT, 'T', IDC_MT},
495- {'\0'}}},
496- {_T("undo"), IDS_RECOVERY, IDS_UNDO_D, IDS_UNDO_T, CCommands::Undo, {{CONTROLX, 'U', IDC_CXU},
497- {CONTROL+SHIFT, 0xBD, IDC_C_},
498- {CONTROL, 0xBF, IDC_CSLASH},
499- {'\0'}}},
500- {_T("universal-argument"), IDS_OTHER, IDS_UNIVERSAL_ARGUMENT_D, IDS_UNIVERSAL_ARGUMENT_T, CCommands::UniversalArgument, {{CONTROL, 'U', IDC_CU},
501- {CONTROL+SHIFT, 'U', IDC_CU},
502- {'\0'}}},
503- {_T("upcase-word"), IDS_OTHER, IDS_UPCASE_WORD_D, IDS_UPCASE_WORD_T, CCommands::UpcaseWord, {{META, 'U', IDC_MU},
504- {META+SHIFT, 'U', IDC_MU},
505- {'\0'}}},
506- {_T("write-file"), IDS_FILES, IDS_WRITE_FILE_D, IDS_WRITE_FILE_T, CCommands::WriteFile, {{CONTROL+CONTROLX, 'W', IDC_CXCW},
507- {CONTROL+SHIFT+CONTROLX, 'W', IDC_CXCW},
508- {'\0'}}},
509- {_T("yank"), IDS_KILL, IDS_YANK_D, IDS_YANK_T, CCommands::Yank, {{CONTROL, 'Y', IDC_CY},
510- {CONTROL+SHIFT, 'Y', IDC_CY},
511- {'\0'}}},
512- {_T("yank-pop"), IDS_KILL, IDS_YANK_POP_D, IDS_YANK_POP_T, CCommands::YankPop, {{META, 'Y', IDC_MY},
513- {META+SHIFT, 'Y', IDC_MY},
514- {'\0'}}},
515-};
256+const int MAX_COMMAND = 115;
257+extern AFX_EXT_DATA const Command Commands[MAX_COMMAND];
516258
517259 #endif // !defined(AFX_COMMANDS_H__3AD9D537_AB40_40BB_9697_35F1BB0CA431__INCLUDED_)