keybind.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. #ifndef MC__KEYBIND_H
  2. #define MC__KEYBIND_H
  3. #include <sys/types.h>
  4. #include <sys/time.h> /* time_t */
  5. #include "lib/global.h"
  6. /*** typedefs(not structures) and defined constants **********************************************/
  7. #define KEYMAP_SHORTCUT_LENGTH 32 /* FIXME: is 32 bytes enough for shortcut? */
  8. /* special commands */
  9. #define CK_Insert_Char -1
  10. #define CK_Ignore_Key 0
  11. /* cursor movements */
  12. #define CK_BackSpace 1
  13. #define CK_Delete 2
  14. #define CK_Enter 3
  15. #define CK_Page_Up 4
  16. #define CK_Page_Down 5
  17. #define CK_Left 6
  18. #define CK_Right 7
  19. #define CK_Word_Left 8
  20. #define CK_Word_Right 9
  21. #define CK_Up 10
  22. #define CK_Down 11
  23. #define CK_Home 12
  24. #define CK_End 13
  25. #define CK_Tab 14
  26. #define CK_Undo 15
  27. #define CK_Beginning_Of_Text 16
  28. #define CK_End_Of_Text 17
  29. #define CK_Scroll_Up 18
  30. #define CK_Scroll_Down 19
  31. #define CK_Return 20
  32. #define CK_Begin_Page 21
  33. #define CK_End_Page 22
  34. #define CK_Delete_Word_Left 23
  35. #define CK_Delete_Word_Right 24
  36. #define CK_Paragraph_Up 25
  37. #define CK_Paragraph_Down 26
  38. /* file commands */
  39. #define CK_Save 101
  40. #define CK_Load 102
  41. #define CK_New 103
  42. #define CK_Save_As 104
  43. #define CK_Load_Prev_File 111
  44. #define CK_Load_Next_File 112
  45. #define CK_Load_Syntax_File 121
  46. #define CK_Load_Menu_File 122
  47. #define CK_Menu 123
  48. /* block commands */
  49. #define CK_Mark 201
  50. #define CK_Copy 202
  51. #define CK_Move 203
  52. #define CK_Remove 204
  53. #define CK_Unmark 206
  54. #define CK_Save_Block 207
  55. #define CK_Column_Mark 208
  56. #define CK_Shift_Block_Left 211
  57. #define CK_Shift_Block_Right 212
  58. #define CK_Mark_All 213
  59. #define CK_Mark_Word 214
  60. #define CK_Mark_Line 215
  61. /* search and replace */
  62. #define CK_Find 301
  63. #define CK_Find_Again 302
  64. #define CK_Replace 303
  65. #define CK_Replace_Again 304
  66. #define CK_Complete_Word 305
  67. #if 0
  68. /* debugger commands */
  69. #define CK_Debug_Start 350
  70. #define CK_Debug_Stop 351
  71. #define CK_Debug_Toggle_Break 352
  72. #define CK_Debug_Clear 353
  73. #define CK_Debug_Next 354
  74. #define CK_Debug_Step 355
  75. #define CK_Debug_Back_Trace 356
  76. #define CK_Debug_Continue 357
  77. #define CK_Debug_Enter_Command 358
  78. #define CK_Debug_Until_Curser 359
  79. #endif
  80. /* misc */
  81. #define CK_Insert_File 401
  82. #define CK_Quit 402
  83. #define CK_Toggle_Insert 403
  84. #define CK_Help 404
  85. #define CK_Date 405
  86. #define CK_Refresh 406
  87. #define CK_Goto 407
  88. #define CK_Delete_Line 408
  89. #define CK_Delete_To_Line_End 409
  90. #define CK_Delete_To_Line_Begin 410
  91. #define CK_Man_Page 411
  92. #define CK_Sort 412
  93. #define CK_Mail 413
  94. #define CK_Cancel 414
  95. #define CK_Complete 415
  96. #define CK_Paragraph_Format 416
  97. #define CK_Util 417
  98. #define CK_Type_Load_Python 418
  99. #define CK_Find_File 419
  100. #define CK_Ctags 420
  101. #define CK_Match_Bracket 421
  102. #define CK_Terminal 422
  103. #define CK_Terminal_App 423
  104. #define CK_ExtCmd 424
  105. #define CK_User_Menu 425
  106. #define CK_Find_Definition 426
  107. #define CK_Edit_Options 427
  108. #define CK_Edit_Save_Mode 428
  109. #define CK_Choose_Syntax 429
  110. #define CK_About 430
  111. #if 0
  112. /* application control */
  113. #define CK_Save_Desktop 451
  114. #define CK_New_Window 452
  115. #define CK_Cycle 453
  116. #define CK_Save_And_Quit 455
  117. #define CK_Run_Another 456
  118. #define CK_Check_Save_And_Quit 457
  119. #define CK_Maximize 458
  120. #endif
  121. #define CK_Toggle_Show_Margin 460
  122. #define CK_Toggle_Tab_TWS 470
  123. #define CK_Toggle_Syntax 480
  124. #define CK_Toggle_Line_State 490
  125. /* macro */
  126. #define CK_Begin_Record_Macro 501
  127. #define CK_End_Record_Macro 502
  128. #define CK_Delete_Macro 503
  129. /* book mark */
  130. #define CK_Toggle_Bookmark 550
  131. #define CK_Flush_Bookmarks 551
  132. #define CK_Next_Bookmark 552
  133. #define CK_Prev_Bookmark 553
  134. /* highlight commands */
  135. #define CK_Page_Up_Highlight 604
  136. #define CK_Page_Down_Highlight 605
  137. #define CK_Left_Highlight 606
  138. #define CK_Right_Highlight 607
  139. #define CK_Word_Left_Highlight 608
  140. #define CK_Word_Right_Highlight 609
  141. #define CK_Up_Highlight 610
  142. #define CK_Down_Highlight 611
  143. #define CK_Home_Highlight 612
  144. #define CK_End_Highlight 613
  145. #define CK_Beginning_Of_Text_Highlight 614
  146. #define CK_End_Of_Text_Highlight 615
  147. #define CK_Begin_Page_Highlight 616
  148. #define CK_End_Page_Highlight 617
  149. #define CK_Scroll_Up_Highlight 618
  150. #define CK_Scroll_Down_Highlight 619
  151. #define CK_Paragraph_Up_Highlight 620
  152. #define CK_Paragraph_Down_Highlight 621
  153. /* alt highlight commands */
  154. #define CK_Page_Up_Alt_Highlight 654
  155. #define CK_Page_Down_Alt_Highlight 655
  156. #define CK_Left_Alt_Highlight 656
  157. #define CK_Right_Alt_Highlight 657
  158. #define CK_Word_Left_Alt_Highlight 658
  159. #define CK_Word_Right_Alt_Highlight 659
  160. #define CK_Up_Alt_Highlight 660
  161. #define CK_Down_Alt_Highlight 661
  162. #define CK_Home_Alt_Highlight 662
  163. #define CK_End_Alt_Highlight 663
  164. #define CK_Beginning_Of_Text_Alt_Highlight 664
  165. #define CK_End_Of_Text_Alt_Highlight 665
  166. #define CK_Begin_Page_Alt_Highlight 666
  167. #define CK_End_Page_Alt_Highlight 667
  168. #define CK_Scroll_Up_Alt_Highlight 668
  169. #define CK_Scroll_Down_Alt_Highlight 669
  170. #define CK_Paragraph_Up_Alt_Highlight 670
  171. #define CK_Paragraph_Down_Alt_Highlight 671
  172. /* X clipboard operations */
  173. #define CK_XStore 701
  174. #define CK_XCut 702
  175. #define CK_XPaste 703
  176. #define CK_Selection_History 704
  177. #define CK_Shell 801
  178. /* C-x or similar */
  179. #define CK_Ext_Mode 820
  180. #define CK_Insert_Literal 851
  181. #define CK_Execute_Macro 852
  182. #define CK_Begin_End_Macro 853
  183. /* help */
  184. #define CK_HelpHelp 1001
  185. #define CK_HelpIndex 1002
  186. #define CK_HelpBack 1003
  187. #define CK_HelpQuit 1004
  188. #define CK_HelpMoveUp 1005
  189. #define CK_HelpMoveDown 1006
  190. #define CK_HelpSelectLink 1007
  191. #define CK_HelpNextLink 1008
  192. #define CK_HelpPrevLink 1009
  193. #define CK_HelpNextNode 1010
  194. #define CK_HelpPrevNode 1011
  195. #define CK_HelpMovePgDn 1012
  196. #define CK_HelpMovePgUp 1013
  197. #define CK_HelpMoveHalfPgDn 1014
  198. #define CK_HelpMoveHalfPgUp 1015
  199. #define CK_HelpMoveTop 1016
  200. #define CK_HelpMoveBottom 1017
  201. /* common */
  202. #define CK_ShowCommandLine 2001
  203. #define CK_SelectCodepage 2002
  204. #define CK_StartExtMap1 2021
  205. #define CK_StartExtMap2 2022
  206. /* dialog */
  207. #define CK_DialogOK 3001
  208. #define CK_DialogCancel 3002
  209. #define CK_DialogPrevItem 3003
  210. #define CK_DialogNextItem 3004
  211. #define CK_DialogHelp 3005
  212. #define CK_DialogSuspend 3006
  213. #define CK_DialogRefresh 3007
  214. /* text fields */
  215. #define CK_InputBol 4001
  216. #define CK_InputEol 4002
  217. #define CK_InputMoveLeft 4003
  218. #define CK_InputWordLeft 4004
  219. #define CK_InputBackwardChar 4005
  220. #define CK_InputBackwardWord 4006
  221. #define CK_InputMoveRight 4007
  222. #define CK_InputWordRight 4008
  223. #define CK_InputForwardChar 4009
  224. #define CK_InputForwardWord 4010
  225. #define CK_InputBackwardDelete 4011
  226. #define CK_InputDeleteChar 4012
  227. #define CK_InputKillWord 4013
  228. #define CK_InputBackwardKillWord 4014
  229. #define CK_InputSetMark 4015
  230. #define CK_InputKillRegion 4016
  231. #define CK_InputKillSave 4017
  232. #define CK_InputYank 4018
  233. #define CK_InputCopyRegion 4019
  234. #define CK_InputKillLine 4020
  235. #define CK_InputHistoryPrev 4021
  236. #define CK_InputHistoryNext 4022
  237. #define CK_InputHistoryShow 4023
  238. #define CK_InputComplete 4024
  239. #define CK_InputPaste 4025
  240. #define CK_InputClearLine 4026
  241. #define CK_InputLeftHighlight 4027
  242. #define CK_InputRightHighlight 4028
  243. #define CK_InputWordLeftHighlight 4029
  244. #define CK_InputWordRightHighlight 4030
  245. #define CK_InputBolHighlight 4031
  246. #define CK_InputEolHighlight 4032
  247. /* listbox */
  248. #define CK_ListboxMoveUp 4500
  249. #define CK_ListboxMoveDown 4501
  250. #define CK_ListboxMoveHome 4502
  251. #define CK_ListboxMoveEnd 4503
  252. #define CK_ListboxMovePgUp 4504
  253. #define CK_ListboxMovePgDn 4505
  254. #define CK_ListboxDeleteItem 4506
  255. #define CK_ListboxDeleteAll 4507
  256. /* viewer */
  257. #define CK_ViewHelp 5001
  258. #define CK_ViewToggleWrapMode 5002
  259. #define CK_ViewToggleHexEditMode 5003
  260. #define CK_ViewToggleHexMode 5004
  261. #define CK_ViewGoto 5005
  262. #define CK_ViewHexEditSave 5006
  263. #define CK_ViewSearch 5007
  264. #define CK_ViewToggleMagicMode 5008
  265. #define CK_ViewToggleNroffMode 5009
  266. #define CK_ViewQuit 5010
  267. #define CK_ViewContinueSearch 5011
  268. #define CK_ViewGotoBookmark 5012
  269. #define CK_ViewNewBookmark 5013
  270. #define CK_ViewMoveUp 5014
  271. #define CK_ViewMoveDown 5015
  272. #define CK_ViewMoveLeft 5016
  273. #define CK_ViewMoveRight 5017
  274. #define CK_ViewMovePgDn 5018
  275. #define CK_ViewMovePgUp 5019
  276. #define CK_ViewMoveHalfPgDn 5020
  277. #define CK_ViewMoveHalfPgUp 5021
  278. #define CK_ViewMoveToBol 5022
  279. #define CK_ViewMoveToEol 5023
  280. #define CK_ViewNextFile 5024
  281. #define CK_ViewPrevFile 5025
  282. #define CK_ViewToggleRuler 5026
  283. #define CK_ViewToggleHexNavMode 5027
  284. #define CK_ViewMoveTop 5028
  285. #define CK_ViewMoveBottom 5029
  286. #define CK_ViewMoveLeft10 5030
  287. #define CK_ViewMoveRight10 5031
  288. /* tree */
  289. #define CK_TreeHelp 6001
  290. #define CK_TreeForget 6003
  291. #define CK_TreeToggleNav 6004
  292. #define CK_TreeCopy 6005
  293. #define CK_TreeMove 6006
  294. #define CK_TreeMake 6007
  295. #define CK_TreeMoveUp 6011
  296. #define CK_TreeMoveDown 6012
  297. #define CK_TreeMoveLeft 6013
  298. #define CK_TreeMoveRight 6014
  299. #define CK_TreeMoveHome 6015
  300. #define CK_TreeMoveEnd 6016
  301. #define CK_TreeMovePgUp 6017
  302. #define CK_TreeMovePgDn 6018
  303. #define CK_TreeOpen 6019
  304. #define CK_TreeRescan 6020
  305. #define CK_TreeStartSearch 6021
  306. #define CK_TreeRemove 6022
  307. /* main commands */
  308. #define CK_AddHotlist 7001
  309. #define CK_ChangeListingCmd 7002
  310. #define CK_ChmodCmd 7003
  311. #define CK_ChownAdvancedCmd 7004
  312. #define CK_ChownCmd 7005
  313. #define CK_CompareDirsCmd 7006
  314. #define CK_ConfigureBox 7007
  315. #define CK_ConfigureVfs 7008
  316. #define CK_ConfirmBox 7009
  317. #define CK_CopyCmd 7010
  318. #define CK_CopyCurrentPathname 7011
  319. #define CK_CopyCurrentReadlink 7012
  320. #define CK_CopyCurrentTagged 7013
  321. #define CK_CopyOtherPathname 7014
  322. #define CK_CopyOtherReadlink 7015
  323. #define CK_CopyOtherTagged 7016
  324. #define CK_DeleteCmd 7017
  325. #define CK_DirsizesCmd 7018
  326. #define CK_DisplayBitsBox 7019
  327. #define CK_EditCmd 7020
  328. #define CK_EditExtFileCmd 7021
  329. #define CK_EditFhlFileCmd 7022
  330. #define CK_EditMcMenuCmd 7023
  331. #define CK_EditSymlinkCmd 7024
  332. #define CK_EditSyntaxCmd 7025
  333. #define CK_EditUserMenuCmd 7026
  334. #define CK_ExternalPanelize 7027
  335. #define CK_FilterCmd 7028
  336. #define CK_FilteredViewCmd 7029
  337. #define CK_FindCmd 7030
  338. #define CK_FishlinkCmd 7031
  339. #define CK_FtplinkCmd 7032
  340. #define CK_HistoryCmd 7033
  341. #define CK_InfoCmd 7034
  342. #define CK_JobsCmd 7035
  343. #define CK_LayoutBox 7036
  344. #define CK_LearnKeys 7037
  345. #define CK_LinkCmd 7038
  346. #define CK_ListingCmd 7039
  347. #define CK_ListmodeCmd 7042
  348. #define CK_MenuLastSelectedCmd 7044
  349. #define CK_MkdirCmd 7045
  350. #define CK_QuickCdCmd 7047
  351. #define CK_QuickChdirCmd 7048
  352. #define CK_QuickViewCmd 7049
  353. #define CK_QuietQuitCmd 7050
  354. #define CK_QuitCmd 7051
  355. #define CK_RenameCmd 7052
  356. #define CK_RereadCmd 7053
  357. #define CK_ReselectVfs 7054
  358. #define CK_ReverseSelectionCmd 7055
  359. #define CK_SaveSetupCmd 7056
  360. #define CK_SelectCmd 7057
  361. #define CK_SingleDirsizeCmd 7058
  362. #define CK_SmblinkCmd 7059
  363. #define CK_SuspendCmd 7060
  364. #define CK_SwapCmd 7061
  365. #define CK_SymlinkCmd 7062
  366. #define CK_ToggleListingCmd 7063
  367. #define CK_ToggleShowHidden 7064
  368. #define CK_TreeCmd 7065
  369. #define CK_TreeBoxCmd 7066
  370. #define CK_UndeleteCmd 7067
  371. #define CK_UnselectCmd 7068
  372. #define CK_UserFileMenuCmd 7069
  373. #define CK_UserMenuCmd 7070
  374. #define CK_ViewCmd 7071
  375. #define CK_ViewFileCmd 7072
  376. #define CK_HelpCmd 7073
  377. #define CK_MenuCmd 7074
  378. #define CK_TogglePanelsSplit 7075
  379. #define CK_DiffViewCmd 7076
  380. #define CK_PanelOptionsBox 7077
  381. #define CK_RelativeSymlinkCmd 7078
  382. #define CK_DialogListCmd 7079
  383. #define CK_DialogNextCmd 7080
  384. #define CK_DialogPrevCmd 7081
  385. #define CK_EditForceInternalCmd 7082
  386. /* panels */
  387. #define CK_PanelChdirOtherPanel 8001
  388. #define CK_PanelChdirToReadlink 8002
  389. #define CK_PanelCmdCopyLocal 8003
  390. #define CK_PanelCmdDeleteLocal 8004
  391. #define CK_PanelCmdDoEnter 8005
  392. #define CK_PanelCmdEditNew 8006
  393. #define CK_PanelCmdRenameLocal 8007
  394. #define CK_PanelCmdReverseSelection 8008
  395. #define CK_PanelCmdSelect 8009
  396. #define CK_PanelCmdUnselect 8010
  397. #define CK_PanelCmdViewSimple 8011
  398. #define CK_PanelGotoChildDir 8012
  399. #define CK_PanelGotoParentDir 8013
  400. #define CK_PanelDirectoryHistoryList 8014
  401. #define CK_PanelDirectoryHistoryNext 8015
  402. #define CK_PanelDirectoryHistoryPrev 8016
  403. #define CK_PanelGotoBottomFile 8017
  404. #define CK_PanelGotoMiddleFile 8018
  405. #define CK_PanelGotoTopFile 8019
  406. #define CK_PanelMarkFile 8020
  407. #define CK_PanelMarkFileUp 8021
  408. #define CK_PanelMarkFileDown 8022
  409. #define CK_PanelMoveDown 8023
  410. #define CK_PanelMoveEnd 8024
  411. #define CK_PanelMoveHome 8025
  412. #define CK_PanelMoveUp 8026
  413. #define CK_PanelMoveLeft 8027
  414. #define CK_PanelMoveRight 8028
  415. #define CK_PanelNextPage 8029
  416. #define CK_PanelPrevPage 8030
  417. #define CK_PanelSetPanelEncoding 8031
  418. #define CK_PanelStartSearch 8032
  419. #define CK_PanelStopSearch 8033
  420. #define CK_PanelSyncOtherPanel 8034
  421. #define CK_PanelToggleSortOrderNext 8035
  422. #define CK_PanelToggleSortOrderPrev 8036
  423. #define CK_PanelSelectSortOrder 8037
  424. #define CK_PanelReverseSort 8038
  425. #define CK_PanelSortOrderByName 8039
  426. #define CK_PanelSortOrderByExt 8040
  427. #define CK_PanelSortOrderBySize 8041
  428. #define CK_PanelSortOrderByMTime 8042
  429. #define CK_PanelSmartGotoParentDir 8043
  430. /* diff viewer */
  431. #define CK_DiffDisplaySymbols 9001
  432. #define CK_DiffDisplayNumbers 9002
  433. #define CK_DiffFull 9003
  434. #define CK_DiffEqual 9004
  435. #define CK_DiffSplitMore 9005
  436. #define CK_DiffSplitLess 9006
  437. #define CK_DiffShowDiff 9008
  438. #define CK_DiffSetTab2 9009
  439. #define CK_DiffSetTab3 9010
  440. #define CK_DiffSetTab4 9011
  441. #define CK_DiffSetTab8 9012
  442. #define CK_DiffSwapPanel 9013
  443. #define CK_DiffRedo 9014
  444. #define CK_DiffNextHunk 9015
  445. #define CK_DiffPrevHunk 9016
  446. #define CK_DiffGoto 9017
  447. #define CK_DiffEditCurrent 9018
  448. #define CK_DiffEditOther 9019
  449. #define CK_DiffSearch 9020
  450. #define CK_DiffEOF 9021
  451. #define CK_DiffBOF 9022
  452. #define CK_DiffDown 9023
  453. #define CK_DiffUp 9024
  454. #define CK_DiffLeft 9025
  455. #define CK_DiffRight 9026
  456. #define CK_DiffQuickLeft 9027
  457. #define CK_DiffQuickRight 9028
  458. #define CK_DiffPageDown 9029
  459. #define CK_DiffPageUp 9030
  460. #define CK_DiffHome 9031
  461. #define CK_DiffEnd 9032
  462. #define CK_DiffQuit 9033
  463. #define CK_DiffHelp 9034
  464. #define CK_DiffMergeCurrentHunk 9035
  465. #define CK_DiffSave 9036
  466. #define CK_DiffContinueSearch 9037
  467. #define CK_DiffOptions 9038
  468. /*
  469. Process a block through a shell command: CK_Pipe_Block(i) executes shell_cmd[i].
  470. shell_cmd[i] must process the file ~/cooledit.block and output ~/cooledit.block
  471. which is then inserted into the text in place of the original block. shell_cmd[i] must
  472. also produce a file homedir/cooledit.error . If this file is not empty an error will
  473. have been assumed to have occured, and the block will not be replaced.
  474. TODO: bring up a viewer to display the error message instead of inserting
  475. it into the text, which is annoying.
  476. */
  477. #define CK_Pipe_Block(i) (1000+(i))
  478. #define SHELL_COMMANDS_i {"/edit.indent.rc", "/edit.spell.rc", /* and so on */ 0 }
  479. #define CK_Macro(i) (2000+(i))
  480. #define CK_Last_Macro CK_Macro(0x7FFF)
  481. /*** enums ***************************************************************************************/
  482. /*** structures declarations (and typedefs of structures)*****************************************/
  483. typedef struct name_keymap_t
  484. {
  485. const char *name;
  486. unsigned long val;
  487. } name_keymap_t;
  488. typedef struct key_config_t
  489. {
  490. time_t mtime; /* mtime at the moment we read config file */
  491. GArray *keymap;
  492. GArray *ext_keymap;
  493. gchar *labels[10];
  494. } key_config_t;
  495. /* The global keymaps are of this type */
  496. typedef struct global_keymap_t
  497. {
  498. long key;
  499. unsigned long command;
  500. char caption[KEYMAP_SHORTCUT_LENGTH];
  501. } global_keymap_t;
  502. /*** global variables defined in .c file *********************************************************/
  503. /*** declarations of public functions ************************************************************/
  504. void keybind_cmd_bind (GArray * keymap, const char *keybind, unsigned long action);
  505. unsigned long keybind_lookup_action (const char *name);
  506. const char *keybind_lookup_keymap_shortcut (const global_keymap_t * keymap, unsigned long action);
  507. unsigned long keybind_lookup_keymap_command (const global_keymap_t * keymap, long key);
  508. /*** inline functions ****************************************************************************/
  509. #endif /* MC__KEYBIND_H */