Shortcut.h 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. /*
  2. * Shortcut.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. enum class EShortcut
  12. {
  13. NONE,
  14. // preudo-shortcuts that trigger mouse events
  15. MOUSE_LEFT,
  16. MOUSE_RIGHT,
  17. MOUSE_CURSOR_X,
  18. MOUSE_CURSOR_Y,
  19. MOUSE_SWIPE_X,
  20. MOUSE_SWIPE_Y,
  21. // Global hotkeys that are available in multiple dialogs
  22. GLOBAL_ACCEPT, // Return - Accept query
  23. GLOBAL_CANCEL, // Escape - Cancel query
  24. GLOBAL_RETURN, // Enter, Escape - Close current window and return to previous view
  25. GLOBAL_FULLSCREEN, // F4 - TODO: remove hardcoded check for key
  26. GLOBAL_OPTIONS, // 'O' - Open System Options dialog
  27. GLOBAL_BACKSPACE, // Backspace - erase last symbol in text input
  28. GLOBAL_MOVE_FOCUS, // Tab - move focus to next text input
  29. // Movement hotkeys, usually - for moving through lists with slider
  30. MOVE_LEFT,
  31. MOVE_RIGHT,
  32. MOVE_UP,
  33. MOVE_DOWN,
  34. MOVE_FIRST,
  35. MOVE_LAST,
  36. MOVE_PAGE_UP,
  37. MOVE_PAGE_DOWN,
  38. // Element selection - for multiple choice dialog popups
  39. SELECT_INDEX_1,
  40. SELECT_INDEX_2,
  41. SELECT_INDEX_3,
  42. SELECT_INDEX_4,
  43. SELECT_INDEX_5,
  44. SELECT_INDEX_6,
  45. SELECT_INDEX_7,
  46. SELECT_INDEX_8,
  47. // Main menu hotkeys - for navigation between main menu windows
  48. MAIN_MENU_NEW_GAME,
  49. MAIN_MENU_LOAD_GAME,
  50. MAIN_MENU_HIGH_SCORES,
  51. MAIN_MENU_CREDITS,
  52. MAIN_MENU_BACK,
  53. MAIN_MENU_QUIT,
  54. MAIN_MENU_SINGLEPLAYER,
  55. MAIN_MENU_MULTIPLAYER,
  56. MAIN_MENU_CAMPAIGN,
  57. MAIN_MENU_TUTORIAL,
  58. MAIN_MENU_CAMPAIGN_SOD,
  59. MAIN_MENU_CAMPAIGN_ROE,
  60. MAIN_MENU_CAMPAIGN_AB,
  61. MAIN_MENU_CAMPAIGN_CUSTOM,
  62. MAIN_MENU_CAMPAIGN_CHR,
  63. MAIN_MENU_CAMPAIGN_HOTA,
  64. MAIN_MENU_CAMPAIGN_WOG,
  65. MAIN_MENU_CAMPAIGN_VCMI,
  66. MAIN_MENU_HOTSEAT,
  67. MAIN_MENU_LOBBY,
  68. MAIN_MENU_HOST_GAME,
  69. MAIN_MENU_JOIN_GAME,
  70. HIGH_SCORES_CAMPAIGNS,
  71. HIGH_SCORES_SCENARIOS,
  72. HIGH_SCORES_RESET,
  73. HIGH_SCORES_STATISTICS,
  74. // Game lobby / scenario selection
  75. LOBBY_BEGIN_STANDARD_GAME, // b
  76. LOBBY_BEGIN_CAMPAIGN, // Return
  77. LOBBY_LOAD_GAME, // l, Return
  78. LOBBY_SAVE_GAME, // s, Return
  79. LOBBY_RANDOM_MAP, // Open random map tab
  80. LOBBY_TOGGLE_CHAT,
  81. LOBBY_ADDITIONAL_OPTIONS, // Open additional options tab
  82. LOBBY_SELECT_SCENARIO, // Open map list tab
  83. LOBBY_REPLAY_VIDEO,
  84. LOBBY_EXTRA_OPTIONS,
  85. LOBBY_TURN_OPTIONS,
  86. LOBBY_INVITE_PLAYERS,
  87. LOBBY_FLIP_COIN,
  88. LOBBY_RANDOM_TOWN,
  89. LOBBY_RANDOM_TOWN_VS,
  90. LOBBY_HANDICAP,
  91. LOBBY_CAMPAIGN_SETS,
  92. LOBBY_BATTLE_MODE,
  93. MAPS_SIZE_S,
  94. MAPS_SIZE_M,
  95. MAPS_SIZE_L,
  96. MAPS_SIZE_XL,
  97. MAPS_SIZE_ALL,
  98. MAPS_SORT_PLAYERS,
  99. MAPS_SORT_SIZE,
  100. MAPS_SORT_FORMAT,
  101. MAPS_SORT_NAME,
  102. MAPS_SORT_VICTORY,
  103. MAPS_SORT_DEFEAT,
  104. MAPS_SORT_MAPS,
  105. MAPS_SORT_CHANGEDATE,
  106. SETTINGS_LOAD_GAME,
  107. SETTINGS_SAVE_GAME,
  108. SETTINGS_NEW_GAME,
  109. SETTINGS_RESTART_GAME,
  110. SETTINGS_TO_MAIN_MENU,
  111. SETTINGS_QUIT_GAME,
  112. // In-game hotkeys, require game state but may be available in windows other than adventure map
  113. GAME_ACTIVATE_CONSOLE, // Tab, activates in-game console
  114. // Adventure map screen
  115. ADVENTURE_GAME_OPTIONS, // 'o', Open CAdventureOptions window
  116. ADVENTURE_TOGGLE_GRID, // F6, Toggles map grid
  117. ADVENTURE_TOGGLE_VISITABLE, // Toggles visitable tiles overlay
  118. ADVENTURE_TOGGLE_BLOCKED, // Toggles blocked tiles overlay
  119. ADVENTURE_TOGGLE_SLEEP, // Toggles hero sleep status
  120. ADVENTURE_SET_HERO_ASLEEP, // Moves hero to sleep state
  121. ADVENTURE_SET_HERO_AWAKE, // Move hero to awake state
  122. ADVENTURE_MOVE_HERO, // Moves hero alongside set path
  123. ADVENTURE_VISIT_OBJECT, // Revisits object hero is standing on
  124. ADVENTURE_VIEW_SELECTED,// Open window with currently selected hero/town
  125. ADVENTURE_NEXT_TOWN,
  126. ADVENTURE_NEXT_HERO,
  127. ADVENTURE_NEXT_OBJECT, // context-sensitive next object - select next hero/town, depending on current selection
  128. ADVENTURE_FIRST_TOWN, // select first available town in the list
  129. ADVENTURE_FIRST_HERO, // select first available hero in the list
  130. ADVENTURE_VIEW_SCENARIO,// View Scenario Information window
  131. ADVENTURE_REPLAY_TURN,
  132. ADVENTURE_DIG_GRAIL,
  133. ADVENTURE_VIEW_PUZZLE,
  134. ADVENTURE_VIEW_WORLD,
  135. ADVENTURE_VIEW_WORLD_X1,
  136. ADVENTURE_VIEW_WORLD_X2,
  137. ADVENTURE_VIEW_WORLD_X4,
  138. ADVENTURE_VIEW_STATISTIC,
  139. ADVENTURE_TRACK_HERO,
  140. ADVENTURE_TOGGLE_MAP_LEVEL,
  141. ADVENTURE_KINGDOM_OVERVIEW,
  142. ADVENTURE_QUEST_LOG,
  143. ADVENTURE_CAST_SPELL,
  144. ADVENTURE_MARKETPLACE,
  145. ADVENTURE_THIEVES_GUILD,
  146. ADVENTURE_EXIT_WORLD_VIEW,
  147. ADVENTURE_ZOOM_IN,
  148. ADVENTURE_ZOOM_OUT,
  149. ADVENTURE_ZOOM_RESET,
  150. ADVENTURE_END_TURN,
  151. ADVENTURE_LOAD_GAME,
  152. ADVENTURE_SAVE_GAME,
  153. ADVENTURE_NEW_GAME,
  154. ADVENTURE_RESTART_GAME,
  155. ADVENTURE_TO_MAIN_MENU,
  156. ADVENTURE_QUIT_GAME,
  157. ADVENTURE_SEARCH,
  158. ADVENTURE_SEARCH_CONTINUE,
  159. // Move hero one tile in specified direction. Bound to cursors & numpad buttons
  160. ADVENTURE_MOVE_HERO_SW,
  161. ADVENTURE_MOVE_HERO_SS,
  162. ADVENTURE_MOVE_HERO_SE,
  163. ADVENTURE_MOVE_HERO_WW,
  164. ADVENTURE_MOVE_HERO_EE,
  165. ADVENTURE_MOVE_HERO_NW,
  166. ADVENTURE_MOVE_HERO_NN,
  167. ADVENTURE_MOVE_HERO_NE,
  168. // Battle screen
  169. BATTLE_TOGGLE_QUEUE,
  170. BATTLE_USE_CREATURE_SPELL,
  171. BATTLE_SURRENDER,
  172. BATTLE_RETREAT,
  173. BATTLE_AUTOCOMBAT,
  174. BATTLE_END_WITH_AUTOCOMBAT,
  175. BATTLE_CAST_SPELL,
  176. BATTLE_WAIT,
  177. BATTLE_DEFEND,
  178. BATTLE_CONSOLE_UP,
  179. BATTLE_CONSOLE_DOWN,
  180. BATTLE_TACTICS_NEXT,
  181. BATTLE_TACTICS_END,
  182. BATTLE_TOGGLE_HEROES_STATS,
  183. BATTLE_OPEN_ACTIVE_UNIT,
  184. BATTLE_OPEN_HOVERED_UNIT,
  185. BATTLE_TOGGLE_QUICKSPELL,
  186. BATTLE_SPELL_SHORTCUT_0,
  187. BATTLE_SPELL_SHORTCUT_1,
  188. BATTLE_SPELL_SHORTCUT_2,
  189. BATTLE_SPELL_SHORTCUT_3,
  190. BATTLE_SPELL_SHORTCUT_4,
  191. BATTLE_SPELL_SHORTCUT_5,
  192. BATTLE_SPELL_SHORTCUT_6,
  193. BATTLE_SPELL_SHORTCUT_7,
  194. BATTLE_SPELL_SHORTCUT_8,
  195. BATTLE_SPELL_SHORTCUT_9,
  196. BATTLE_SPELL_SHORTCUT_10,
  197. BATTLE_SPELL_SHORTCUT_11,
  198. MARKET_DEAL,
  199. MARKET_MAX_AMOUNT,
  200. MARKET_SACRIFICE_ALL,
  201. MARKET_SACRIFICE_BACKPACK,
  202. MARKET_RESOURCE_PLAYER,
  203. MARKET_ARTIFACT_RESOURCE,
  204. MARKET_RESOURCE_ARTIFACT,
  205. MARKET_CREATURE_RESOURCE,
  206. MARKET_RESOURCE_RESOURCE,
  207. MARKET_CREATURE_EXPERIENCE,
  208. MARKET_ARTIFACT_EXPERIENCE,
  209. SPECTATE_TRACK_HERO,
  210. SPECTATE_SKIP_BATTLE,
  211. SPECTATE_SKIP_BATTLE_RESULT,
  212. // Town screen
  213. TOWN_OPEN_TAVERN,
  214. TOWN_OPEN_HALL,
  215. TOWN_OPEN_FORT,
  216. TOWN_OPEN_MARKET,
  217. TOWN_OPEN_MAGE_GUILD,
  218. TOWN_OPEN_THIEVES_GUILD,
  219. TOWN_OPEN_RECRUITMENT,
  220. TOWN_OPEN_HERO_EXCHANGE,
  221. TOWN_OPEN_HERO,
  222. TOWN_OPEN_VISITING_HERO,
  223. TOWN_OPEN_GARRISONED_HERO,
  224. TOWN_SWAP_ARMIES, // Swap garrisoned and visiting armies
  225. // Creature & creature recruitment screen
  226. RECRUITMENT_MAX, // Set number of creatures to recruit to max
  227. RECRUITMENT_MIN, // Set number of creatures to recruit to min (1)
  228. RECRUITMENT_SWITCH_LEVEL,
  229. RECRUITMENT_UPGRADE, // Upgrade current creature
  230. RECRUITMENT_UPGRADE_ALL, // Upgrade all creatures (Hill Fort / Skeleton Transformer)
  231. // Kingdom Overview window
  232. KINGDOM_HEROES_TAB,
  233. KINGDOM_TOWNS_TAB,
  234. // Hero screen
  235. HERO_DISMISS,
  236. HERO_COMMANDER,
  237. HERO_LOOSE_FORMATION,
  238. HERO_TIGHT_FORMATION,
  239. HERO_TOGGLE_TACTICS, // b
  240. HERO_ARMY_SPLIT,
  241. HERO_BACKPACK,
  242. HERO_COSTUME_SAVE_0,
  243. HERO_COSTUME_SAVE_1,
  244. HERO_COSTUME_SAVE_2,
  245. HERO_COSTUME_SAVE_3,
  246. HERO_COSTUME_SAVE_4,
  247. HERO_COSTUME_SAVE_5,
  248. HERO_COSTUME_SAVE_6,
  249. HERO_COSTUME_SAVE_7,
  250. HERO_COSTUME_SAVE_8,
  251. HERO_COSTUME_SAVE_9,
  252. HERO_COSTUME_LOAD_0,
  253. HERO_COSTUME_LOAD_1,
  254. HERO_COSTUME_LOAD_2,
  255. HERO_COSTUME_LOAD_3,
  256. HERO_COSTUME_LOAD_4,
  257. HERO_COSTUME_LOAD_5,
  258. HERO_COSTUME_LOAD_6,
  259. HERO_COSTUME_LOAD_7,
  260. HERO_COSTUME_LOAD_8,
  261. HERO_COSTUME_LOAD_9,
  262. EXCHANGE_ARMY_TO_LEFT,
  263. EXCHANGE_ARMY_TO_RIGHT,
  264. EXCHANGE_ARMY_SWAP,
  265. EXCHANGE_ARTIFACTS_TO_LEFT,
  266. EXCHANGE_ARTIFACTS_TO_RIGHT,
  267. EXCHANGE_ARTIFACTS_SWAP,
  268. EXCHANGE_EQUIPPED_TO_LEFT,
  269. EXCHANGE_EQUIPPED_TO_RIGHT,
  270. EXCHANGE_EQUIPPED_SWAP,
  271. EXCHANGE_BACKPACK_TO_LEFT,
  272. EXCHANGE_BACKPACK_TO_RIGHT,
  273. EXCHANGE_BACKPACK_SWAP,
  274. EXCHANGE_BACKPACK_LEFT,
  275. EXCHANGE_BACKPACK_RIGHT,
  276. // Spellbook screen
  277. SPELLBOOK_TAB_ADVENTURE,
  278. SPELLBOOK_TAB_COMBAT,
  279. SPELLBOOK_SEARCH_FOCUS,
  280. LIST_HERO_UP,
  281. LIST_HERO_DOWN,
  282. LIST_HERO_TOP,
  283. LIST_HERO_BOTTOM,
  284. LIST_HERO_DISMISS,
  285. LIST_TOWN_UP,
  286. LIST_TOWN_DOWN,
  287. LIST_TOWN_TOP,
  288. LIST_TOWN_BOTTOM,
  289. AFTER_LAST
  290. };